Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57368 - sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html
From: barend.gehrels_at_[hidden]
Date: 2009-11-04 12:53:00


Author: barendgehrels
Date: 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
New Revision: 57368
URL: http://svn.boost.org/trac/boost/changeset/57368

Log:
Filled formal review tree (ggl/doxygen doc)
Added:
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07_graph_route_example_svg.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07_graph_route_example_text.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/annotated.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/art09.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c03__custom__linestring__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid_polygon.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/class_point_list.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classes.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_convex_hull_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/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/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/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip_linestring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip_polygon.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_box_box.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_box_point.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compiling.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/design.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/download.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen.css (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dsv.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/envelope_polygon.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/examples.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/files.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x62.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x63.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x64.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x65.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x66.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x67.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x68.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x69.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6d.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6e.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6f.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x70.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x72.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x73.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x74.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x75.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x76.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x77.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x78.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x79.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_func.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_rela.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_vars.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals_defs.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__access.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__area.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__arithmetic.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__centroid.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__combine.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__compare.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__concepts.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convert.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__core.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__cs.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__disjoint.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__distance.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__envelope.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__equals.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__for__each.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__geometries.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersection.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersects.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__length.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlaps.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlay.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__perimeter.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__sectionalize.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__simplify.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__svg.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__traits.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__transform.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__union.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__utility.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__within.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hierarchy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/index.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modules.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid__.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare_1_1detail.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_eval.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaces.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ogc.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/output_main.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/pages.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/performance.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify_linestring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/status.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1equal__to.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1greater.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1single__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1default__strategy.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html (contents, props changed)
   sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/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/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/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/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/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/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/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/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point1103f4e3589bce477179b9c8b5adc995.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html (contents, props changed)
   sandbox/ggl/formal_review/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_00_01_dimension_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review/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_00_01_dimension_01_4.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html (contents, props changed)
   sandbox/ggl/formal_review/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/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/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_convex_hull_cities.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_convex_hull_country.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_countries.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_polygon_box.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_polygon_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_ring_box.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_ring_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_intersection_roads.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_simplify_country.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_simplify_road.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_union_polygon_box.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_union_polygon_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_union_ring_box.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/svg_union_ring_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tab_b.gif (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tab_l.gif (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tab_r.gif (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tabs.css (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tag_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within_polygon.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within_ring.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x01_qt_example_output.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x02__numeric__adaptor__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x02_numeric_adaptor_example_output.png (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__c__soci__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__d__soci__example_8cpp-example.html (contents, props changed)

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>01_point_example.cpp</h1>In most cases the documentation gives small examples of how to use the algorithms or classes. The point example is a slightly larger example giving the an idea of how to use different algorithms from the library, related to points. It shows<ul>
+<li>the usage of include files</li><li>how to declare points, using different coordinate types</li><li>how to construct points, specifying coordinates, initializing to zero or to infinite</li><li>how to compare points to each other</li><li>how points can be streamed as OGC text</li><li>calculating the distance from point to point</li></ul>
+<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">// Point Example - showing different type of points</span>
+
+<span class="preprocessor">#include &lt;iostream&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;<a class="code" href="c__array__cartesian_8hpp.html">ggl/geometries/adapted/c_array_cartesian.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="keywordtype">int</span> main()
+{
+ <span class="keyword">using namespace </span>ggl;
+
+ <span class="comment">// GGL contains several point types:</span>
+ <span class="comment">// 1: it's own generic type</span>
+ <a name="_a0"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point&lt;double, 2, cs::cartesian&gt;</a> pt1;
+
+ <span class="comment">// 2: it's own type targetted to Cartesian (x,y) coordinates</span>
+ <a name="_a1"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> pt2;
+
+ <span class="comment">// 3: it supports Boost tuple's (by including the headerfile)</span>
+ boost::tuple&lt;double, double&gt; pt3;
+
+ <span class="comment">// 4: it supports normal arrays</span>
+ <span class="keywordtype">double</span> pt4[2];
+
+ <span class="comment">// 5: there are more variants, and you can create your own.</span>
+ <span class="comment">// (see therefore the custom_point example)</span>
+
+ <span class="comment">// All these types are handled the same way. We show here</span>
+ <span class="comment">// assigning them and calculating distances.</span>
+ <a name="a2"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(pt1, 1, 1);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(pt2, 2, 2);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(pt3, 3, 3);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(pt4, 4, 4);
+
+ <span class="keywordtype">double</span> d1 = <a name="a3"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(pt1, pt2);
+ <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>(pt3, pt4);
+ std::cout &lt;&lt; <span class="stringliteral">"Distances: "</span> &lt;&lt; d1 &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; d2 &lt;&lt; std::endl;
+
+ <span class="comment">// (in case you didn't note, distances can be calculated</span>
+ <span class="comment">// from points with different point-types)</span>
+
+
+ <span class="comment">// Several ways of construction and setting point values</span>
+ <span class="comment">// 1: default, empty constructor, causing no initialization at all</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p1;
+
+ <span class="comment">// 2: as shown above, assign</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p2;
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(p2, 1, 1);
+
+ <span class="comment">// 3: using "set" function </span>
+ <span class="comment">// set uses the concepts behind, such that it can be applied for</span>
+ <span class="comment">// every point-type (like assign)</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p3;
+ set&lt;0&gt;(p3, 1);
+ set&lt;1&gt;(p3, 1);
+ <span class="comment">// set&lt;2&gt;(p3, 1); //will result in compile-error</span>
+
+
+ <span class="comment">// 3: for any point type, and other geometry objects: </span>
+ <span class="comment">// there is the "make" object generator</span>
+ <span class="comment">// (this one requires to specify the point-type). </span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p4 = make&lt;point_2d&gt;(1,1);
+
+
+ <span class="comment">// 5: for the point_2d type only: constructor with two values</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p5(1,1);
+
+ <span class="comment">// 6: for boost tuples you can of course use make_tuple</span>
+
+
+ <span class="comment">// Some ways of getting point values</span>
+
+ <span class="comment">// 1: using the "get" function following the concepts behind</span>
+ std::cout &lt;&lt; get&lt;0&gt;(p2) &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; get&lt;1&gt;(p2) &lt;&lt; std::endl;
+
+ <span class="comment">// 2: for point-2d only</span>
+ std::cout &lt;&lt; p2.<a name="a4"></a><a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; p2.<a name="a5"></a><a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() &lt;&lt; std::endl;
+
+ <span class="comment">// 3: using boost-tuples you of course can boost-tuple-methods</span>
+ std::cout &lt;&lt; pt3.get&lt;0&gt;() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; pt3.get&lt;1&gt;() &lt;&lt; std::endl;
+
+ <span class="comment">// 4: GGL supports various output formats, e.g. DSV</span>
+ <span class="comment">// (delimiter separated values)</span>
+ std::cout &lt;&lt; <a name="a6"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(pt3) &lt;&lt; std::endl;
+
+
+ <span class="comment">// Other examples show other types of points, geometries and more algorithms</span>
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div> </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>02_linestring_example.cpp</h1>The linestring example shows how linestrings can be declared and used and shows some more algorithms. One of the important concepts of the Generic Geometry Library is that it is totally built upon the standard library, using the standard containers such as std::vector.<p>
+A linestring is, as explained elsewhere in this documentation, not much more than a vector of points. Most algorithms run on linestrings, but can also run on any iterator pair. And all algorithms on std::vector can be used on geometry::linestring.<p>
+The sample shows this, shows some algorithms:<ul>
+<li>geometry::envelope</li><li>geometry::length</li><li>geometry::distance</li><li>geometry::simplify</li><li>geometry::for_each</li><li>geometry::intersection</li></ul>
+<p>
+This documentation illustrates the simplify algorithm and the intersection algorithm with some pictures.<p>
+The simplify algorithm simplifies a linestring. Simplification means that the less important points are removed from the line and that the points that are most important for the shape of a line are kept. Simplification is done using the well known Douglas Peucker algorithm. The library user can specify the distance or tolerance, which indicates how much the linestring should be simplified.<p>
+The image below shows the original and simplified linestring: <div align="center">
+<img src="simplify_linestring.png" alt="simplify_linestring.png">
+</div>
+ The blue line is the original linestring; the red line is the simplified line which has one point less. In geographical applications simplification can reduce a linestring to its basic form containing only 10% of its original points.<p>
+The intersection algorithm intersects two geometries which each other, delivering a third geometry. In the case of the example a linestring is intersected with a box. Intersection with a box is often called a clip. The image below illustrates the intersection. <div align="center">
+<img src="clip_linestring.png" alt="clip_linestring.png">
+</div>
+ The yellow line is intersected with the blue box. The intersection result, painted in red, contains three linestrings.<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">// Linestring Example</span>
+
+<span class="preprocessor">#include &lt;algorithm&gt;</span> <span class="comment">// for reverse, unique</span>
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;iterator&gt;</span>
+<span class="preprocessor">#include &lt;utility&gt;</span>
+<span class="preprocessor">#include &lt;vector&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&gt;</span>
+<span class="comment">// Optional includes to handle c-arrays as points, std::vectors as linestrings</span>
+<span class="preprocessor">#include &lt;<a class="code" href="c__array__cartesian_8hpp.html">ggl/geometries/adapted/c_array_cartesian.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="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">inline</span> <span class="keywordtype">void</span> translate_function(P&amp; p)
+{
+ p.x(p.x() + 100.0);
+}
+
+<span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span>scale_functor
+{
+ <span class="keyword">inline</span> <span class="keywordtype">void</span> operator()(P&amp; p)
+ {
+ p.x(p.x() * 1000.0);
+ p.y(p.y() * 1000.0);
+ }
+};
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)
+{
+ <span class="keyword">using namespace </span>ggl;
+
+ <span class="comment">// Define a linestring, which is a vector of points, and add some points</span>
+ <span class="comment">// (we add them deliberately in different ways)</span>
+ <a name="_a0"></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> ls;
+
+ <span class="comment">// points can be created using "make" and added to a linestring using the std:: "push_back"</span>
+ ls.push_back(make&lt;point_2d&gt;(1.1, 1.1));
+
+ <span class="comment">// points can also be assigned using "assign" and added to a linestring using "append"</span>
+ <a name="_a1"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> lp;
+ <a name="a2"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(lp, 2.5, 2.1);
+ <a name="a3"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ls, lp);
+
+ <span class="comment">// Lines can be streamed using DSV (delimiter separated values)</span>
+ std::cout &lt;&lt; <a name="a4"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls) &lt;&lt; std::endl;
+
+ <span class="comment">// The bounding box of linestrings can be calculated</span>
+ <a name="_a5"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> b;
+ <a name="a6"></a><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>(ls, b);
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(b) &lt;&lt; std::endl;
+
+ <span class="comment">// The length of the line can be calulated</span>
+ std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a name="a7"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(ls) &lt;&lt; std::endl;
+
+ <span class="comment">// All things from std::vector can be called, because a linestring is a vector</span>
+ std::cout &lt;&lt; <span class="stringliteral">"number of points 1: "</span> &lt;&lt; ls.size() &lt;&lt; std::endl;
+
+ <span class="comment">// All things from boost ranges can be called because a linestring is considered as a range</span>
+ std::cout &lt;&lt; <span class="stringliteral">"number of points 2: "</span> &lt;&lt; boost::size(ls) &lt;&lt; std::endl;
+
+ <span class="comment">// Generic function from geometry/OGC delivers the same value</span>
+ std::cout &lt;&lt; <span class="stringliteral">"number of points 3: "</span> &lt;&lt; <a name="a8"></a><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>(ls) &lt;&lt; std::endl;
+
+ <span class="comment">// The distance from a point to a linestring can be calculated</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p(1.9, 1.2);
+ std::cout &lt;&lt; <span class="stringliteral">"distance of "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p)
+ &lt;&lt; <span class="stringliteral">" to line: "</span> &lt;&lt; <a name="a9"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, ls) &lt;&lt; std::endl;
+
+ <span class="comment">// A linestring is a vector. However, some algorithms consider "segments",</span>
+ <span class="comment">// which are the line pieces between two points of a linestring.</span>
+ <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>(p, <a name="_a10"></a><a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;point_2d &gt;</a>(ls.front(), ls.back()));
+ std::cout &lt;&lt; <span class="stringliteral">"distance: "</span> &lt;&lt; d &lt;&lt; std::endl;
+
+ <span class="comment">// Add some three points more, let's do it using a classic array.</span>
+ <span class="comment">// (See documentation for picture of this linestring)</span>
+ <span class="keyword">const</span> <span class="keywordtype">double</span> c[][2] = { {3.1, 3.1}, {4.9, 1.1}, {3.1, 1.9} };
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ls, c);
+ std::cout &lt;&lt; <span class="stringliteral">"appended: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls) &lt;&lt; std::endl;
+
+ <span class="comment">// Output as iterator-pair on a vector</span>
+ {
+ std::vector&lt;point_2d&gt; v;
+ std::copy(ls.begin(), ls.end(), std::back_inserter(v));
+
+ std::cout
+ &lt;&lt; <span class="stringliteral">"as vector: "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(v)
+ &lt;&lt; std::endl;
+
+ std::cout
+ &lt;&lt; <span class="stringliteral">"as it-pair: "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(std::make_pair(v.begin(), v.end()))
+ &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// All algorithms from std can be used: a linestring is a vector</span>
+ std::reverse(ls.begin(), ls.end());
+ std::cout &lt;&lt; <span class="stringliteral">"reversed: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls) &lt;&lt; std::endl;
+ std::reverse(boost::begin(ls), boost::end(ls));
+
+ <span class="comment">// The other way, using a vector instead of a linestring, is also possible</span>
+ std::vector&lt;point_2d&gt; pv(ls.begin(), ls.end());
+ std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(pv) &lt;&lt; std::endl;
+
+ <span class="comment">// If there are double points in the line, you can use unique to remove them</span>
+ <span class="comment">// So we add the last point, print, make a unique copy and print</span>
+ ls.push_back(ls.back());
+ ls.insert(ls.begin(), ls.front());
+ std::cout &lt;&lt; <span class="stringliteral">"extra duplicate points: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls) &lt;&lt; std::endl;
+
+ {
+ <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_2d</a> ls_copy;
+ std::unique_copy(ls.begin(), ls.end(), std::back_inserter(ls_copy),
+ <a name="_a11"></a><a class="code" href="structggl_1_1equal__to.html" title="Equal To functor, to compare if points are equal.">ggl::equal_to&lt;point_2d&gt;</a>());
+ ls = ls_copy;
+ std::cout &lt;&lt; <span class="stringliteral">"uniquecopy: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Lines can be simplified. This removes points, but preserves the shape</span>
+ <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_2d</a> ls_simplified;
+ <a name="a12"></a><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>(ls, ls_simplified, 0.5);
+ std::cout &lt;&lt; <span class="stringliteral">"simplified: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls_simplified) &lt;&lt; std::endl;
+
+
+ <span class="comment">// for_each:</span>
+ <span class="comment">// 1) Lines can be visited with std::for_each</span>
+ <span class="comment">// 2) for_each_point is also defined for all geometries</span>
+ <span class="comment">// 3) for_each_segment is defined for all geometries to all segments</span>
+ <span class="comment">// 4) loop is defined for geometries to visit segments</span>
+ <span class="comment">// with state apart, and to be able to break out (not shown here)</span>
+ {
+ <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_2d</a> lscopy = ls;
+ std::for_each(lscopy.begin(), lscopy.end(), translate_function&lt;point_2d&gt;);
+ <a name="a13"></a><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(lscopy, scale_functor&lt;point_2d&gt;());
+ <a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(lscopy, translate_function&lt;point_2d&gt;);
+ std::cout &lt;&lt; <span class="stringliteral">"modified line: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(lscopy) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Lines can be clipped using a clipping box. Clipped lines are added to the output iterator</span>
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> cb(<a name="a14"></a><a class="code" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">point_2d</a>(1.5, 1.5), <a class="code" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">point_2d</a>(4.5, 2.5));
+
+ std::vector&lt;linestring_2d&gt; clipped;
+ intersection_inserter&lt;linestring_2d&gt; (cb, ls, std::back_inserter(clipped));
+
+ <span class="comment">// Also possible: clip-output to a vector of vectors</span>
+ std::vector&lt;std::vector&lt;point_2d&gt; &gt; vector_out;
+ intersection_inserter&lt;std::vector&lt;point_2d&gt; &gt;(cb, ls, std::back_inserter(vector_out));
+
+ std::cout &lt;&lt; <span class="stringliteral">"clipped output as vector:"</span> &lt;&lt; std::endl;
+ <span class="keywordflow">for</span> (std::vector&lt;std::vector&lt;point_2d&gt; &gt;::const_iterator it
+ = vector_out.begin(); it != vector_out.end(); ++it)
+ {
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(*it) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Calculate the convex hull of the linestring</span>
+ <a name="_a15"></a><a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a> hull;
+ <a name="a16"></a><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>(ls, hull);
+ std::cout &lt;&lt; <span class="stringliteral">"Convex hull:"</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(hull) &lt;&lt; std::endl;
+
+ <span class="comment">// All the above assumed 2D Cartesian linestrings. 3D is possible as well</span>
+ <span class="comment">// Let's define a 3D point ourselves, this time using 'float'</span>
+ <span class="keyword">typedef</span> <a name="_a17"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point&lt;float, 3, cs::cartesian&gt;</a> <a name="_a18"></a><a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+ <span class="keyword">typedef</span> <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring&lt;point_type&gt;</a> line_type;
+ line_type line3d;
+ line3d.push_back(make&lt;point_type&gt;(1,2,3));
+ line3d.push_back(make&lt;point_type&gt;(4,5,6));
+ line3d.push_back(make&lt;point_type&gt;(7,8,9));
+
+ <span class="comment">// Not all algorithms work on 3d lines. For example convex hull does NOT.</span>
+ <span class="comment">// But, for example, length, distance, simplify, envelope and stream do.</span>
+ std::cout &lt;&lt; <span class="stringliteral">"3D: length: "</span> &lt;&lt; <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(line3d) &lt;&lt; <span class="stringliteral">" line: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(line3d) &lt;&lt; std::endl;
+
+ <span class="comment">// With DSV you can also use other delimiters, e.g. JSON style</span>
+ std::cout &lt;&lt; <span class="stringliteral">"JSON: "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(ls, <span class="stringliteral">", "</span>, <span class="stringliteral">"["</span>, <span class="stringliteral">"]"</span>, <span class="stringliteral">", "</span>, <span class="stringliteral">"[ "</span>, <span class="stringliteral">" ]"</span>)
+ &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>03_polygon_example.cpp</h1>The polygon example shows some examples of what can be done with polygons in the Generic Geometry Library: the outer ring and the inner rings how to calculate the area of a polygon how to get the centroid, and how to get an often more interesting label point how to correct the polygon such that it is clockwise and closed within: the well-known point in polygon algorithm how to use polygons which use another container, or which use different containers for points and for inner rings how polygons can be intersected, or clipped, using a clipping box<p>
+The illustrations below show the usage of the within algorithm and the intersection algorithm.<p>
+The within algorithm results in true if a point lies completly within a polygon. If it lies exactly on a border it is not considered as within and if it is inside a hole it is also not within the polygon. This is illustrated below, where only the point in the middle is within the polygon.<p>
+<div align="center">
+<img src="within_polygon.png" alt="within_polygon.png">
+</div>
+<p>
+The clipping algorithm, called intersection, is illustrated below:<p>
+<div align="center">
+<img src="clip_polygon.png" alt="clip_polygon.png">
+</div>
+<p>
+The yellow polygon, containing a hole, is clipped with the blue rectangle, resulting in a multi_polygon of three polygons, drawn in red. The hole is vanished.<p>
+include polygon_example.cpp<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">// Polygon Example</span>
+
+<span class="preprocessor">#include &lt;algorithm&gt;</span> <span class="comment">// for reverse, unique</span>
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&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="c__array__cartesian_8hpp.html">ggl/geometries/adapted/c_array_cartesian.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>
+
+std::string boolstr(<span class="keywordtype">bool</span> v)
+{
+ <span class="keywordflow">return</span> v ? <span class="stringliteral">"true"</span> : <span class="stringliteral">"false"</span>;
+}
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)
+{
+ <span class="keyword">using namespace </span>ggl;
+
+ <span class="comment">// Define a polygon and fill the outer ring.</span>
+ <span class="comment">// In most cases you will read it from a file or database</span>
+ <a name="_a0"></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> poly;
+ {
+ <span class="keyword">const</span> <span class="keywordtype">double</span> coor[][2] = {
+ {2.0, 1.3}, {2.4, 1.7}, {2.8, 1.8}, {3.4, 1.2}, {3.7, 1.6},
+ {3.4, 2.0}, {4.1, 3.0}, {5.3, 2.6}, {5.4, 1.2}, {4.9, 0.8}, {2.9, 0.7},
+ {2.0, 1.3} <span class="comment">// closing point is opening point</span>
+ };
+ <a name="a1"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(poly, coor);
+ }
+
+ <span class="comment">// Polygons should be closed, and directed clockwise. If you're not sure if that is the case,</span>
+ <span class="comment">// call the correct algorithm</span>
+ <a name="a2"></a><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(poly);
+
+ <span class="comment">// Polygons can be streamed as text</span>
+ <span class="comment">// (or more precisely: as DSV (delimiter separated values))</span>
+ std::cout &lt;&lt; <a name="a3"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(poly) &lt;&lt; std::endl;
+
+ <span class="comment">// As with lines, bounding box of polygons can be calculated</span>
+ <a name="_a4"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> b;
+ <a name="a5"></a><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>(poly, b);
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(b) &lt;&lt; std::endl;
+
+ <span class="comment">// The area of the polygon can be calulated</span>
+ std::cout &lt;&lt; <span class="stringliteral">"area: "</span> &lt;&lt; <a name="a6"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
+
+ <span class="comment">// And the centroid, which is the center of gravity</span>
+ <a name="_a7"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> cent;
+ <a name="a8"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(poly, cent);
+ std::cout &lt;&lt; <span class="stringliteral">"centroid: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(cent) &lt;&lt; std::endl;
+
+
+ <span class="comment">// The number of points have to called per ring separately</span>
+ std::cout &lt;&lt; <span class="stringliteral">"number of points in outer ring: "</span> &lt;&lt; poly.<a name="a9"></a><a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>().size() &lt;&lt; std::endl;
+
+ <span class="comment">// Polygons can have one or more inner rings, also called holes, donuts, islands, interior rings.</span>
+ <span class="comment">// Let's add one</span>
+ {
+ poly.<a name="a10"></a><a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>().resize(1);
+ <a name="_a11"></a><a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring&lt;point_2d&gt;</a>&amp; inner = poly.<a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>().back();
+
+ <span class="keyword">const</span> <span class="keywordtype">double</span> coor[][2] = { {4.0, 2.0}, {4.2, 1.4}, {4.8, 1.9}, {4.4, 2.2}, {4.0, 2.0} };
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(inner, coor);
+ }
+
+ <a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(poly);
+
+ std::cout &lt;&lt; <span class="stringliteral">"with inner ring:"</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(poly) &lt;&lt; std::endl;
+ <span class="comment">// The area of the polygon is changed of course</span>
+ std::cout &lt;&lt; <span class="stringliteral">"new area of polygon: "</span> &lt;&lt; <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
+ <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(poly, cent);
+ std::cout &lt;&lt; <span class="stringliteral">"new centroid: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(cent) &lt;&lt; std::endl;
+
+ <span class="comment">// You can test whether points are within a polygon</span>
+ std::cout &lt;&lt; <span class="stringliteral">"point in polygon:"</span>
+ &lt;&lt; <span class="stringliteral">" p1: "</span> &lt;&lt; boolstr(<a name="a12"></a><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(make&lt;point_2d&gt;(3.0, 2.0), poly))
+ &lt;&lt; <span class="stringliteral">" p2: "</span> &lt;&lt; boolstr(<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(make&lt;point_2d&gt;(3.7, 2.0), poly))
+ &lt;&lt; <span class="stringliteral">" p3: "</span> &lt;&lt; boolstr(<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(make&lt;point_2d&gt;(4.4, 2.0), poly))
+ &lt;&lt; std::endl;
+
+ <span class="comment">// As with linestrings and points, you can derive from polygon to add, for example,</span>
+ <span class="comment">// fill color and stroke color. Or SRID (spatial reference ID). Or Z-value. Or a property map.</span>
+ <span class="comment">// We don't show this here.</span>
+
+ <span class="comment">// Clip the polygon using a bounding box</span>
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> cb(make&lt;point_2d&gt;(1.5, 1.5), make&lt;point_2d&gt;(4.5, 2.5));
+ <span class="keyword">typedef</span> std::vector&lt;polygon_2d &gt; polygon_list;
+ polygon_list v;
+
+ intersection_inserter&lt;polygon_2d&gt;(cb, poly, std::back_inserter(v));
+ std::cout &lt;&lt; <span class="stringliteral">"Clipped output polygons"</span> &lt;&lt; std::endl;
+ <span class="keywordflow">for</span> (polygon_list::const_iterator it = v.begin(); it != v.end(); ++it)
+ {
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(*it) &lt;&lt; std::endl;
+ }
+
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a> hull;
+ <a name="a13"></a><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>(poly, hull);
+ std::cout &lt;&lt; <span class="stringliteral">"Convex hull:"</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(hull) &lt;&lt; std::endl;
+
+ <span class="comment">// If you really want:</span>
+ <span class="comment">// You don't have to use a vector, you can define a polygon with a deque</span>
+ <span class="comment">// You can specify the container for the points and for the inner rings independantly</span>
+
+ <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, std::vector, std::deque&gt;</a> polygon_type;
+ polygon_type poly2;
+ <a name="_a14"></a><a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type&lt;polygon_type&gt;::type</a>&amp; ring = <a name="a15"></a><a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2);
+ <a name="a16"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ring, make&lt;point_2d&gt;(2.8, 1.9));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ring, make&lt;point_2d&gt;(2.9, 2.4));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ring, make&lt;point_2d&gt;(3.3, 2.2));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ring, make&lt;point_2d&gt;(3.2, 1.8));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(ring, make&lt;point_2d&gt;(2.8, 1.9));
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(poly2) &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>06_transformation_example.cpp</h1>This sample demonstrates the usage of transformations in the Generic Geometry Library. Behind the screens this is done using with the uBLAS matrix/vector library.<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">// Transformation Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&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="c__array__cartesian_8hpp.html">ggl/geometries/adapted/c_array_cartesian.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="keywordtype">int</span> main()
+{
+ <span class="keyword">using namespace </span>ggl;
+
+ <a name="_a0"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p(1, 1);
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p2;
+
+ <span class="comment">// Example: translate a point over (5,5)</span>
+ <a name="_a1"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">strategy::transform::translate_transformer&lt;point_2d, point_2d&gt;</a> translate(5, 5);
+
+ <a name="a2"></a><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(p, p2, translate);
+ std::cout &lt;&lt; <span class="stringliteral">"transformed point "</span> &lt;&lt; <a name="a3"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p2) &lt;&lt; std::endl;
+
+ <span class="comment">// Transform a polygon</span>
+ <a name="_a4"></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> poly, poly2;
+ <span class="keyword">const</span> <span class="keywordtype">double</span> coor[][2] = { {0, 0}, {0, 7}, {2, 2}, {2, 0}, {0, 0} };
+ <span class="comment">// note that for this syntax you have to include the two</span>
+ <span class="comment">// include files above (c_array_cartesian.hpp, std_as_linestring.hpp)</span>
+ <a name="a5"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(poly, coor);
+ <span class="comment">//read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);</span>
+ <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(poly, poly2, translate);
+
+ std::cout &lt;&lt; <span class="stringliteral">"source polygon "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(poly) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"transformed polygon "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(poly2) &lt;&lt; std::endl;
+
+ <span class="comment">// Many more transformations are possible:</span>
+ <span class="comment">// - from Cartesian to Spherical coordinate systems and back</span>
+ <span class="comment">// - from Cartesian to Cartesian (mapping, affine transformations) and back (inverse)</span>
+ <span class="comment">// - Map Projections</span>
+ <span class="comment">// - from Degree to Radian and back in spherical or geographic coordinate systems</span>
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div> </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,474 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>07_graph_route_example.cpp</h1>The graph route example shows how GGL can be combined with Boost.Graph. The sample does the following things:<ul>
+<li>it reads roads (included in the distribution, stored on disk in the form of a text file containing geometries and names)</li><li>it reads cities</li><li>it creates a graph from the roads</li><li>it connects each city to the nearest vertex in the graph</li><li>it calculates the shortest route between each pair of cities</li><li>it outputs the distance over the road, and also of the air</li><li>it creates an SVG image with the roads, the cities, and the first calculated route</li></ul>
+<p>
+Note that this example is useful, but it is only an example. It could be built in many different ways. For example:<ul>
+<li>the roads/cities could be read from a database using SOCI, or from a shapefile using shapelib</li><li>it could support oneway roads and roads on different levels (disconnected bridges)</li><li>it currently uses tuples but that could be anything</li><li>etc</li></ul>
+<p>
+The SVG looks like: <div align="center">
+<img src="07_graph_route_example_svg.png" alt="07_graph_route_example_svg.png">
+</div>
+<p>
+The output screen looks like: <div align="center">
+<img src="07_graph_route_example_text.png" alt="07_graph_route_example_text.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">// 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">// Example showing GGL combined with Boost.Graph, calculating shortest routes</span>
+<span class="comment">// input: two WKT's, provided in subfolder data</span>
+<span class="comment">// output: text, + an SVG, displayable in e.g. Firefox)</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;fstream&gt;</span>
+<span class="preprocessor">#include &lt;iomanip&gt;</span>
+<span class="preprocessor">#include &lt;limits&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/foreach.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/graph/adjacency_list.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/graph/dijkstra_shortest_paths.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&gt;</span>
+
+
+<span class="comment">// Yes, this example currently uses some extensions:</span>
+
+ <span class="comment">// For input:</span>
+<span class="preprocessor"> #include &lt;ggl/extensions/gis/io/wkt/read_wkt.hpp&gt;</span>
+
+ <span class="comment">// For output:</span>
+<span class="preprocessor"> #include &lt;<a class="code" href="write__svg_8hpp.html">ggl/extensions/io/svg/write_svg.hpp</a>&gt;</span>
+
+ <span class="comment">// For distance-calculations over the Earth:</span>
+<span class="preprocessor"> #include &lt;ggl/extensions/gis/geographic/strategies/andoyer.hpp&gt;</span>
+
+
+
+<span class="comment">// Read an ASCII file containing WKT's, fill a vector of tuples</span>
+<span class="comment">// The tuples consist of at least &lt;0&gt; a geometry and &lt;1&gt; an identifying string</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Tuple, <span class="keyword">typename</span> Box&gt;
+<span class="keywordtype">void</span> read_wkt(std::string <span class="keyword">const</span>&amp; filename, std::vector&lt;Tuple&gt;&amp; tuples, Box&amp; box)
+{
+ std::ifstream cpp_file(filename.c_str());
+ <span class="keywordflow">if</span> (cpp_file.is_open())
+ {
+ <span class="keywordflow">while</span> (! cpp_file.eof() )
+ {
+ std::string line;
+ std::getline(cpp_file, line);
+ Geometry geometry;
+ boost::trim(line);
+ <span class="keywordflow">if</span> (! line.empty() &amp;&amp; ! boost::starts_with(line, <span class="stringliteral">"#"</span>))
+ {
+ std::string name;
+
+ <span class="comment">// Split at ';', if any</span>
+ std::string::size_type pos = line.find(<span class="stringliteral">";"</span>);
+ <span class="keywordflow">if</span> (pos != std::string::npos)
+ {
+ name = line.substr(pos + 1);
+ line.erase(pos);
+
+ boost::trim(line);
+ boost::trim(name);
+ }
+
+ Geometry geometry;
+ ggl::read_wkt(line, geometry);
+
+ Tuple tuple(geometry, name);
+
+ tuples.push_back(tuple);
+ <a name="a0"></a><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(box, ggl::make_envelope&lt;Box&gt;(geometry));
+ }
+ }
+ }
+}
+
+<span class="comment">// Boilerplate code to initialize the SVG XML.</span>
+<span class="comment">// Note that this is (on purpose) not part of the library but of this sample.</span>
+<span class="comment">// GGL itself only streams small pieces of SVG, in any coordinate system</span>
+<span class="keywordtype">void</span> svg_header(std::ofstream&amp; stream)
+{
+ stream &lt;&lt; <span class="stringliteral">"&lt;?xml version=\"1.0\" standalone=\"no\"?&gt;"</span> &lt;&lt; std::endl;
+ stream &lt;&lt; <span class="stringliteral">"&lt;!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\""</span> &lt;&lt; std::endl;
+ stream &lt;&lt; <span class="stringliteral">"\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"&gt;"</span> &lt;&lt; std::endl;
+
+ stream &lt;&lt; <span class="stringliteral">"&lt;svg width=\"100%\" height=\"100%\" version=\"1.1\""</span> &lt;&lt; std::endl;
+ stream &lt;&lt; <span class="stringliteral">"xmlns=\"http://www.w3.org/2000/svg\"&gt;"</span> &lt;&lt; std::endl;
+}
+
+
+<span class="comment">// Code to define properties for Boost Graph's</span>
+<span class="keyword">enum</span> vertex_ggl_property_t { vertex_ggl_property };
+<span class="keyword">enum</span> edge_ggl_property_t { edge_ggl_property };
+<span class="keyword">namespace </span>boost
+{
+ BOOST_INSTALL_PROPERTY(vertex, ggl_property);
+ BOOST_INSTALL_PROPERTY(edge, ggl_property);
+}
+
+<span class="comment">// Define properties for vertex</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<span class="keyword">struct </span>ggl_vertex_property
+{
+ ggl_vertex_property()
+ {
+ <a name="a1"></a><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">ggl::assign_zero</a>(location);
+ }
+ ggl_vertex_property(Point <span class="keyword">const</span>&amp; loc)
+ {
+ location = loc;
+ }
+
+ Point location;
+};
+
+<span class="comment">// Define properties for edge</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>&gt;
+<span class="keyword">struct </span>ggl_edge_property
+{
+ ggl_edge_property(Linestring <span class="keyword">const</span>&amp; line)
+ : m_line(line)
+ {
+ m_length = <a name="a2"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">ggl::length</a>(line);
+ }
+
+ <span class="keyword">inline</span> operator double()<span class="keyword"> const</span>
+<span class="keyword"> </span>{
+ <span class="keywordflow">return</span> m_length;
+ }
+
+ <span class="keyword">inline</span> Linestring <span class="keyword">const</span>&amp; line()<span class="keyword"> const</span>
+<span class="keyword"> </span>{
+ <span class="keywordflow">return</span> m_line;
+ }
+
+<span class="keyword">private</span> :
+ <span class="keywordtype">double</span> m_length;
+ Linestring m_line;
+};
+
+<span class="comment">// Utility function to add a vertex to a graph. It might exist already. Then do not insert,</span>
+<span class="comment">// but return vertex descriptor back. It might not exist. Then add it (and return).</span>
+<span class="comment">// To efficiently handle this, a std::map is used.</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> K, <span class="keyword">typename</span> G&gt;
+<span class="keyword">inline</span> <span class="keyword">typename</span> boost::graph_traits&lt;G&gt;::vertex_descriptor find_or_insert(M&amp; map, K <span class="keyword">const</span>&amp; key, G&amp; graph)
+{
+ <span class="keyword">typename</span> M::const_iterator it = map.find(key);
+ <span class="keywordflow">if</span> (it == map.end())
+ {
+ <span class="comment">// Add a vertex to the graph</span>
+ <span class="keyword">typename</span> boost::graph_traits&lt;G&gt;::vertex_descriptor new_vertex
+ = boost::add_vertex(graph);
+
+ <span class="comment">// Set the property (= location)</span>
+ boost::put(<a name="a3"></a><a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(vertex_ggl_property, graph), new_vertex,
+ ggl_vertex_property&lt;typename M::key_type&gt;(key));
+
+ <span class="comment">// Add to the map, using POINT as key</span>
+ map[key] = new_vertex;
+ <span class="keywordflow">return</span> new_vertex;
+ }
+ <span class="keywordflow">return</span> it-&gt;second;
+}
+
+<span class="keyword">template</span>
+&lt;
+ <span class="keyword">typename</span> Line,
+ <span class="keyword">typename</span> Graph,
+ <span class="keyword">typename</span> RoadTupleVector,
+ <span class="keyword">typename</span> CityTupleVector
+&gt;
+<span class="keywordtype">void</span> add_roads_and_connect_cities(Graph&amp; graph,
+ RoadTupleVector <span class="keyword">const</span>&amp; roads,
+ CityTupleVector&amp; cities)
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <a name="_a4"></a><a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Line&gt;::type</a> point_type;
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex_type;
+
+ <span class="comment">// Define a map to be used during graph filling</span>
+ <span class="comment">// Maps from point to vertex-id's</span>
+ <span class="keyword">typedef</span> std::map&lt;point_type, vertex_type, ggl::less&lt;point_type&gt; &gt; map_type;
+ map_type map;
+
+
+ <span class="comment">// Fill the graph</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;RoadTupleVector&gt;::type road_type;
+ BOOST_FOREACH(road_type <span class="keyword">const</span>&amp; road, roads)
+ {
+ <span class="comment">// Find or add begin/end point of these line</span>
+ vertex_type from = find_or_insert(map, road.get&lt;0&gt;().front(), graph);
+ vertex_type to = find_or_insert(map, road.get&lt;0&gt;().back(), graph);
+ boost::add_edge(from, to, ggl_edge_property&lt;Line&gt;(road.get&lt;0&gt;()), graph);
+ }
+
+ <span class="comment">// Find nearest graph vertex for each city, using the map</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;CityTupleVector&gt;::type city_type;
+ BOOST_FOREACH(city_type&amp; city, cities)
+ {
+ <span class="keywordtype">double</span> min_distance = 1e300;
+ <span class="keywordflow">for</span>(<span class="keyword">typename</span> map_type::const_iterator it = map.begin(); it != map.end(); ++it)
+ {
+ <span class="keywordtype">double</span> dist = <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>(it-&gt;first, city.get&lt;0&gt;());
+ <span class="keywordflow">if</span> (dist &lt; min_distance)
+ {
+ min_distance = dist;
+ <span class="comment">// Set the vertex</span>
+ city.get&lt;2&gt;() = it-&gt;second;
+ }
+ }
+ }
+}
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Graph, <span class="keyword">typename</span> Route&gt;
+<span class="keyword">inline</span> <span class="keywordtype">void</span> add_edge_to_route(Graph <span class="keyword">const</span>&amp; graph,
+ <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex1,
+ <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex2,
+ Route&amp; route)
+{
+ std::pair
+ &lt;
+ <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::edge_descriptor,
+ <span class="keywordtype">bool</span>
+ &gt; opt_edge = boost::edge(vertex1, vertex2, graph);
+ <span class="keywordflow">if</span> (opt_edge.second)
+ {
+ <span class="comment">// Get properties of edge and of vertex</span>
+ ggl_edge_property&lt;Route&gt; <span class="keyword">const</span>&amp; edge_prop =
+ <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(edge_ggl_property, graph), opt_edge.first);
+
+ ggl_vertex_property&lt;typename ggl::point_type&lt;Route&gt;::type&gt; <span class="keyword">const</span>&amp; vertex_prop =
+ <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(vertex_ggl_property, graph), vertex2);
+
+ <span class="comment">// Depending on how edge connects to vertex, copy it forward or backward</span>
+ <span class="keywordflow">if</span> (<a name="a6"></a><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">ggl::equals</a>(edge_prop.line().front(), vertex_prop.location))
+ {
+ std::copy(edge_prop.line().begin(), edge_prop.line().end(),
+ std::back_inserter(route));
+ }
+ <span class="keywordflow">else</span>
+ {
+ std::reverse_copy(edge_prop.line().begin(), edge_prop.line().end(),
+ std::back_inserter(route));
+ }
+ }
+}
+
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Graph, <span class="keyword">typename</span> Route&gt;
+<span class="keyword">inline</span> <span class="keywordtype">void</span> build_route(Graph <span class="keyword">const</span>&amp; graph,
+ std::vector&lt;<span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor&gt; <span class="keyword">const</span>&amp; predecessors,
+ <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex1,
+ <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex2,
+ Route&amp; route)
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::graph_traits&lt;Graph&gt;::vertex_descriptor vertex_type;
+ vertex_type pred = predecessors[vertex2];
+
+ add_edge_to_route(graph, vertex2, pred, route);
+ <span class="keywordflow">while</span> (pred != vertex1)
+ {
+ add_edge_to_route(graph, predecessors[pred], pred, route);
+ pred = predecessors[pred];
+ }
+}
+
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="comment">// Define a point in the Geographic coordinate system</span>
+ <span class="keyword">typedef</span> <a name="_a7"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">ggl::point&lt;double, 2, ggl::cs::geographic&lt;ggl::degree&gt;</a> &gt; point_type;
+
+ <span class="keyword">typedef</span> <a name="_a8"></a><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;point_type&gt;</a> line_type;
+
+ <span class="comment">// Define the graph, lateron containing the road network</span>
+ <span class="keyword">typedef</span> boost::adjacency_list
+ &lt;
+ boost::vecS, boost::vecS, boost::undirectedS
+ , boost::property&lt;vertex_ggl_property_t, ggl_vertex_property&lt;point_type&gt; &gt;
+ , boost::property&lt;edge_ggl_property_t, ggl_edge_property&lt;line_type&gt; &gt;
+ &gt; graph_type;
+
+ <span class="keyword">typedef</span> boost::graph_traits&lt;graph_type&gt;::vertex_descriptor vertex_type;
+
+
+ <span class="comment">// Init a bounding box, lateron used to define SVG map</span>
+ <a name="_a9"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box_2d</a> box;
+ <a name="a10"></a><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">ggl::assign_inverse</a>(box);
+
+ <span class="comment">// Read the cities</span>
+ <span class="keyword">typedef</span> boost::tuple&lt;point_type, std::string, vertex_type&gt; city_type;
+ std::vector&lt;city_type&gt; cities;
+ read_wkt&lt;point_type&gt;(<span class="stringliteral">"data/cities.wkt"</span>, cities, box);
+
+ <span class="comment">// Read the road network</span>
+ <span class="keyword">typedef</span> boost::tuple&lt;line_type, std::string&gt; road_type;
+ std::vector&lt;road_type&gt; roads;
+ read_wkt&lt;line_type&gt;(<span class="stringliteral">"data/roads.wkt"</span>, roads, box);
+
+
+ graph_type graph;
+
+ <span class="comment">// Add roads and connect cities</span>
+ add_roads_and_connect_cities&lt;line_type&gt;(graph, roads, cities);
+
+ <span class="keywordtype">double</span> <span class="keyword">const</span> km = 1000.0;
+ std::cout &lt;&lt; <span class="stringliteral">"distances, all in KM"</span> &lt;&lt; std::endl
+ &lt;&lt; std::fixed &lt;&lt; std::setprecision(0);
+
+ <span class="comment">// Main functionality: calculate shortest routes from/to all cities</span>
+
+ <span class="comment">// For the first one, the complete route is stored as a linestring</span>
+ <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+ line_type route;
+
+ <span class="keywordtype">int</span> <span class="keyword">const</span> n = boost::num_vertices(graph);
+ BOOST_FOREACH(city_type <span class="keyword">const</span>&amp; city1, cities)
+ {
+ std::vector&lt;vertex_type&gt; predecessors(n);
+ std::vector&lt;double&gt; costs(n);
+
+ <span class="comment">// Call Dijkstra (without named-parameter to be compatible with all VC)</span>
+ boost::dijkstra_shortest_paths(graph, city1.get&lt;2&gt;(),
+ &amp;predecessors[0], &amp;costs[0],
+ <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(edge_ggl_property, graph),
+ <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">boost::get</a>(boost::vertex_index, graph),
+ std::less&lt;double&gt;(), std::plus&lt;double&gt;(),
+ (std::numeric_limits&lt;double&gt;::max)(), <span class="keywordtype">double</span>(),
+ boost::dijkstra_visitor&lt;boost::null_visitor&gt;());
+
+ BOOST_FOREACH(city_type <span class="keyword">const</span>&amp; city2, cities)
+ {
+ <span class="keywordflow">if</span> (! <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">boost::equals</a>(city1.get&lt;1&gt;(), city2.get&lt;1&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> = costs[city2.get&lt;2&gt;()] / km;
+ <span class="keywordtype">double</span> acof = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(city1.get&lt;0&gt;(), city2.get&lt;0&gt;()) / km;
+
+ std::cout
+ &lt;&lt; std::setiosflags (std::ios_base::left) &lt;&lt; std::setw(15)
+ &lt;&lt; city1.get&lt;1&gt;() &lt;&lt; <span class="stringliteral">" - "</span>
+ &lt;&lt; std::setiosflags (std::ios_base::left) &lt;&lt; std::setw(15)
+ &lt;&lt; city2.get&lt;1&gt;()
+ &lt;&lt; <span class="stringliteral">" -&gt; through the air: "</span> &lt;&lt; std::setw(4) &lt;&lt; acof
+ &lt;&lt; <span class="stringliteral">" , over the road: "</span> &lt;&lt; std::setw(4) &lt;&lt; distance
+ &lt;&lt; std::endl;
+
+ <span class="keywordflow">if</span> (first)
+ {
+ build_route(graph, predecessors,
+ city1.get&lt;2&gt;(), city2.get&lt;2&gt;(),
+ route);
+ first = <span class="keyword">false</span>;
+ }
+ }
+ }
+ }
+
+ <span class="comment">// Create the SVG</span>
+ <span class="keyword">typedef</span> <a name="_a11"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;int&gt;</a> svg_point_type;
+ std::ofstream stream(<span class="stringliteral">"routes.svg"</span>);
+ svg_header(stream);
+
+ <a name="_a12"></a><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.">ggl::strategy::transform::map_transformer</a>
+ &lt;
+ point_type,
+ svg_point_type, <span class="keyword">true</span>, <span class="keyword">true</span>
+ &gt; matrix(box, 1000, 800);
+
+ <span class="comment">// Map roads</span>
+ BOOST_FOREACH(road_type <span class="keyword">const</span>&amp; road, roads)
+ {
+ <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;svg_point_type&gt;</a> line;
+ <a name="a13"></a><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">ggl::transform</a>(road.get&lt;0&gt;(), line, matrix);
+ stream &lt;&lt; <a name="a14"></a><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">ggl::svg</a>(line, <span class="stringliteral">"stroke:rgb(128,128,128);stroke-width:1"</span>) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Map the calculated route as thicker green transparent markation</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;svg_point_type&gt;</a> line;
+ <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">ggl::transform</a>(route, line, matrix);
+ stream &lt;&lt; <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">ggl::svg</a>(line, <span class="stringliteral">"stroke:rgb(0, 255, 0);stroke-width:6;opacity:0.5"</span>) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Map cities</span>
+ BOOST_FOREACH(city_type <span class="keyword">const</span>&amp; city, cities)
+ {
+ svg_point_type point;
+ <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">ggl::transform</a>(city.get&lt;0&gt;(), point, matrix);
+ stream &lt;&lt; <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">ggl::svg</a>(point, <span class="stringliteral">"fill:rgb(255,255,0);stroke:rgb(0,0,0);stroke-width:1"</span>) &lt;&lt; std::endl;
+ }
+
+ stream &lt;&lt; <span class="stringliteral">"&lt;/svg&gt;"</span> &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07_graph_route_example_svg.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/07_graph_route_example_text.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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; Geometry, Dimension &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; Geometry, Point &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; Geometry &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_1indexed__access.html">ggl::traits::indexed_access&lt; Geometry, Index, Dimension &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; Geometry &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 Dimension, typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gce53c5555841f90ccf60767c26e20499">ggl::get</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>get coordinate value of a Point ( / Sphere) </li></ul>
+ <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Dimension, 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__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">ggl::set</a> (Geometry &amp;geometry, typename coordinate_type&lt; Geometry &gt;::type const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>set coordinate value of a Point ( / Sphere) </li></ul>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00013"></a>00013
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a><a class="code" href="namespaceggl.html">00047</a> <span class="keyword">namespace </span>ggl
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">00050</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a> = 0;
+<a name="l00051"></a><a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">00051</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a> = 1;
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="namespaceggl_1_1traits.html">00053</a> <span class="keyword">namespace </span>traits
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00068"></a><a class="code" href="structggl_1_1traits_1_1access.html">00068</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="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00086"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00086</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="l00087"></a>00087
+<a name="l00088"></a>00088
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00103"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00103</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="l00104"></a>00104 {
+<a name="l00105"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">00105</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">value</a> = <span class="keyword">true</span>;
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00122"></a><a class="code" href="structggl_1_1traits_1_1clear.html">00122</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="l00123"></a>00123 {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00139"></a><a class="code" href="structggl_1_1traits_1_1append__point.html">00139</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="l00140"></a>00140 {};
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 } <span class="comment">// namespace traits</span>
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span>
+<a name="l00151"></a>00151 &lt;
+<a name="l00152"></a>00152 <span class="keyword">typename</span> Tag,
+<a name="l00153"></a>00153 <span class="keyword">typename</span> Geometry,
+<a name="l00154"></a>00154 <span class="keyword">typename</span>
+<a name="l00155"></a>00155 CoordinateType, std::size_t Dimension
+<a name="l00156"></a>00156 &gt;
+<a name="l00157"></a>00157 <span class="keyword">struct </span>access
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00160"></a>00160 <span class="comment">//static inline void set(G&amp; g, T const&amp; value) {}</span>
+<a name="l00161"></a>00161 };
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span>
+<a name="l00164"></a>00164 &lt;
+<a name="l00165"></a>00165 <span class="keyword">typename</span> Tag,
+<a name="l00166"></a>00166 <span class="keyword">typename</span> Geometry,
+<a name="l00167"></a>00167 <span class="keyword">typename</span> CoordinateType,
+<a name="l00168"></a>00168 std::size_t Index,
+<a name="l00169"></a>00169 std::size_t Dimension
+<a name="l00170"></a>00170 &gt;
+<a name="l00171"></a>00171 <span class="keyword">struct </span>indexed_access
+<a name="l00172"></a>00172 {
+<a name="l00173"></a>00173 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00174"></a>00174 <span class="comment">//static inline void set(G&amp; g, T const&amp; value) {}</span>
+<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> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00178"></a>00178 <span class="keyword">struct </span>access&lt;point_tag, Point, CoordinateType, Dimension&gt;
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Point <span class="keyword">const</span>&amp; point)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">traits::access&lt;Point, Dimension&gt;::get</a>(point);
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Point&amp; p, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00185"></a>00185 {
+<a name="l00186"></a>00186 <a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">traits::access&lt;Point, Dimension&gt;::set</a>(p, value);
+<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>
+<a name="l00191"></a>00191 &lt;
+<a name="l00192"></a>00192 <span class="keyword">typename</span> Box,
+<a name="l00193"></a>00193 <span class="keyword">typename</span> CoordinateType,
+<a name="l00194"></a>00194 std::size_t Index,
+<a name="l00195"></a>00195 std::size_t Dimension
+<a name="l00196"></a>00196 &gt;
+<a name="l00197"></a>00197 <span class="keyword">struct </span>indexed_access&lt;box_tag, Box, CoordinateType, Index, Dimension&gt;
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Box <span class="keyword">const</span>&amp; box)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">traits::indexed_access&lt;Box, Index, Dimension&gt;::get</a>(box);
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Box&amp; b, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">traits::indexed_access&lt;Box, Index, Dimension&gt;::set</a>(b, value);
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 };
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">template</span>
+<a name="l00210"></a>00210 &lt;
+<a name="l00211"></a>00211 <span class="keyword">typename</span> Segment,
+<a name="l00212"></a>00212 <span class="keyword">typename</span> CoordinateType,
+<a name="l00213"></a>00213 std::size_t Index,
+<a name="l00214"></a>00214 std::size_t Dimension
+<a name="l00215"></a>00215 &gt;
+<a name="l00216"></a>00216 <span class="keyword">struct </span>indexed_access&lt;segment_tag, Segment, CoordinateType, Index, Dimension&gt;
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Segment <span class="keyword">const</span>&amp; segment)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">traits::indexed_access&lt;Segment, Index, Dimension&gt;::get</a>(segment);
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Segment&amp; segment, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">traits::indexed_access&lt;Segment, Index, Dimension&gt;::set</a>(segment, value);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 };
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00229"></a>00229 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00230"></a>00230 <span class="preprocessor"></span>
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
+<a name="l00237"></a>00237 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
+<a name="l00238"></a>00238 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
+<a name="l00239"></a>00239 <span class="comment">// a different signature.</span>
+<a name="l00240"></a>00240 <span class="keyword">struct </span>signature_getset_dimension {};
+<a name="l00241"></a>00241 <span class="keyword">struct </span>signature_getset_index_dimension {};
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 } <span class="comment">// namespace detail</span>
+<a name="l00244"></a>00244 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00245"></a>00245 <span class="preprocessor"></span>
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="comment">// Note the comments below tell Doxygen to create one function with doc for both</span>
+<a name="l00248"></a>00248
+<a name="l00262"></a>00262 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00263"></a><a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499">00263</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;Geometry&gt;::type</a> <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; geometry
+<a name="l00264"></a>00264 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span> , detail::signature_getset_dimension* dummy = 0
+<a name="l00266"></a>00266 <span class="preprocessor">#endif</span>
+<a name="l00267"></a>00267 <span class="preprocessor"></span> )
+<a name="l00268"></a>00268 {
+<a name="l00269"></a>00269 boost::ignore_unused_variable_warning(dummy);
+<a name="l00270"></a>00270
+<a name="l00271"></a>00271 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00274"></a>00274 &lt;
+<a name="l00275"></a>00275 <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="l00276"></a>00276 ncg_type,
+<a name="l00277"></a>00277 <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="l00278"></a>00278 Dimension
+<a name="l00279"></a>00279 &gt; coord_access_type;
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">coord_access_type::get</a>(geometry);
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284
+<a name="l00298"></a>00298 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00299"></a><a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">00299</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Geometry&amp; geometry
+<a name="l00300"></a>00300 , <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;Geometry&gt;::type</a> <span class="keyword">const</span>&amp; value
+<a name="l00301"></a>00301 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+<a name="l00302"></a>00302 <span class="preprocessor"></span> , detail::signature_getset_dimension* dummy = 0
+<a name="l00303"></a>00303 <span class="preprocessor">#endif</span>
+<a name="l00304"></a>00304 <span class="preprocessor"></span> )
+<a name="l00305"></a>00305 {
+<a name="l00306"></a>00306 boost::ignore_unused_variable_warning(dummy);
+<a name="l00307"></a>00307
+<a name="l00308"></a>00308 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00311"></a>00311 &lt;
+<a name="l00312"></a>00312 <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="l00313"></a>00313 ncg_type,
+<a name="l00314"></a>00314 <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="l00315"></a>00315 Dimension
+<a name="l00316"></a>00316 &gt; coord_access_type;
+<a name="l00317"></a>00317
+<a name="l00318"></a>00318 <a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">coord_access_type::set</a>(geometry, value);
+<a name="l00319"></a>00319 }
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
+<a name="l00322"></a>00322
+<a name="l00328"></a>00328 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00329"></a>00329 <span class="keyword">inline</span> <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; geometry
+<a name="l00330"></a>00330 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+<a name="l00331"></a>00331 <span class="preprocessor"></span> , detail::signature_getset_index_dimension* dummy = 0
+<a name="l00332"></a>00332 <span class="preprocessor">#endif</span>
+<a name="l00333"></a>00333 <span class="preprocessor"></span> )
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 boost::ignore_unused_variable_warning(dummy);
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00340"></a>00340 &lt;
+<a name="l00341"></a>00341 <span class="keyword">typename</span> tag&lt;Geometry&gt;::type,
+<a name="l00342"></a>00342 ncg_type,
+<a name="l00343"></a>00343 <span class="keyword">typename</span> coordinate_type&lt;ncg_type&gt;::type,
+<a name="l00344"></a>00344 Index,
+<a name="l00345"></a>00345 Dimension
+<a name="l00346"></a>00346 &gt; coord_access_type;
+<a name="l00347"></a>00347
+<a name="l00348"></a>00348 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">coord_access_type::get</a>(geometry);
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350
+<a name="l00356"></a>00356 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00357"></a>00357 <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Geometry&amp; geometry
+<a name="l00358"></a>00358 , <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type <span class="keyword">const</span>&amp; value
+<a name="l00359"></a>00359 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+<a name="l00360"></a>00360 <span class="preprocessor"></span> , detail::signature_getset_index_dimension* dummy = 0
+<a name="l00361"></a>00361 <span class="preprocessor">#endif</span>
+<a name="l00362"></a>00362 <span class="preprocessor"></span> )
+<a name="l00363"></a>00363 {
+<a name="l00364"></a>00364 boost::ignore_unused_variable_warning(dummy);
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00367"></a>00367
+<a name="l00368"></a>00368 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00369"></a>00369 &lt;
+<a name="l00370"></a>00370 <span class="keyword">typename</span> tag&lt;Geometry&gt;::type, ncg_type,
+<a name="l00371"></a>00371 <span class="keyword">typename</span> coordinate_type&lt;ncg_type&gt;::type,
+<a name="l00372"></a>00372 Index,
+<a name="l00373"></a>00373 Dimension
+<a name="l00374"></a>00374 &gt; coord_access_type;
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">coord_access_type::set</a>(geometry, value);
+<a name="l00377"></a>00377 }
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 } <span class="comment">// namespace ggl</span>
+<a name="l00380"></a>00380
+<a name="l00381"></a>00381 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,613 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="side_8hpp.html">ggl/strategies/side.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="equals_8hpp.html">ggl/algorithms/equals.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
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>intersection {
+<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> T&gt;
+<a name="l00035"></a>00035 <span class="keyword">inline</span> <span class="keywordtype">void</span> join_adapt(T&amp; info, <span class="keywordtype">int</span> direction)
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 info.first-&gt;direction = direction;
+<a name="l00038"></a>00038 info.second-&gt;direction = direction;
+<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> T&gt;
+<a name="l00043"></a>00043 <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="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="comment">// Comments are for "both Left"</span>
+<a name="l00046"></a>00046 <span class="keywordflow">if</span> (dir_q == direction) <span class="comment">// If (Qw left-of Qu)</span>
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (dir_p == -direction) <span class="comment">// if (Pk right-of Pi)</span>
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="comment">// make Pk Right, Qw Left</span>
+<a name="l00051"></a>00051 join_adapt(pk, -direction);
+<a name="l00052"></a>00052 join_adapt(qw, direction);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 <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="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="comment">// make both Right</span>
+<a name="l00057"></a>00057 join_adapt(pk, -direction);
+<a name="l00058"></a>00058 join_adapt(qw, -direction);
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 <span class="keywordflow">else</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 || pk.first-&gt;direction == direction) <span class="comment">// || Pk left-of Qu)</span>
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="comment">// make both Left</span>
+<a name="l00067"></a>00067 join_adapt(pk, direction);
+<a name="l00068"></a>00068 join_adapt(qw, direction);
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00075"></a>00075 <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="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (dir_p == direction) <span class="comment">// If (Pk left-of Pi)</span>
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keywordflow">if</span> (pk.first-&gt;direction == -direction) <span class="comment">// if (Pk right-of Qu)</span>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="comment">// make both Right</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 <span class="keywordflow">else</span>
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="comment">// make Pk Left, Qw Right</span>
+<a name="l00088"></a>00088 join_adapt(pk, direction);
+<a name="l00089"></a>00089 join_adapt(qw, -direction);
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00096"></a>00096 <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="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keywordflow">if</span> (dir_p == direction <span class="comment">// If (Pk left-of Pi</span>
+<a name="l00099"></a>00099 &amp;&amp; dir_q == direction <span class="comment">// &amp;&amp; Qw left-of Qu</span>
+<a name="l00100"></a>00100 &amp;&amp; pk.first-&gt;direction == -direction) <span class="comment">// &amp;&amp; Pk right-of Qu</span>
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="comment">// make both Right</span>
+<a name="l00103"></a>00103 join_adapt(pk, -direction);
+<a name="l00104"></a>00104 join_adapt(qw, -direction);
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dir_p == -direction <span class="comment">// If (Pk right-of Pi</span>
+<a name="l00107"></a>00107 &amp;&amp; dir_q == -direction) <span class="comment">// &amp;&amp; Qw right-of Qu</span>
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="comment">// make both Left</span>
+<a name="l00110"></a>00110 join_adapt(pk, direction);
+<a name="l00111"></a>00111 join_adapt(qw, direction);
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P&gt;
+<a name="l00118"></a>00118 <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="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (info.arrival == 1)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 p.first = info.other_point;
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (info.arrival == -1)
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 p.second = info.other_point;
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 <span class="keywordflow">else</span>
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keywordflow">if</span> (info.arrival == 1)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 q.first = info.other_point;
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (info.arrival == -1)
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 q.second = info.other_point;
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00146"></a>00146 <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="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="comment">// Determine which is Q, and assign points</span>
+<a name="l00151"></a>00151 iterator qu, qw, p;
+<a name="l00152"></a>00152 <span class="keywordtype">int</span> count = 0;
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="comment">// Find out which one is arriving/departing from the middle</span>
+<a name="l00155"></a>00155 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00156"></a>00156 it != boost::end(info);
+<a name="l00157"></a>00157 ++it)
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="comment">// One arrives AND departs in the middle of the other.</span>
+<a name="l00160"></a>00160 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'m'</span> &amp;&amp; it-&gt;arrival == 1)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 qu = it;
+<a name="l00163"></a>00163 count |= 1;
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 <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="l00166"></a>00166 {
+<a name="l00167"></a>00167 qw = it;
+<a name="l00168"></a>00168 count |= 2;
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170 <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="l00171"></a>00171 {
+<a name="l00172"></a>00172 p = it;
+<a name="l00173"></a>00173 count |= 4;
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 }
+<a name="l00177"></a>00177 <span class="comment">// Adapt it</span>
+<a name="l00178"></a>00178 <span class="keywordflow">if</span> (count == 7
+<a name="l00179"></a>00179 &amp;&amp; qu-&gt;direction == qw-&gt;direction
+<a name="l00180"></a>00180 &amp;&amp; qu-&gt;seg_id.source_index == qw-&gt;seg_id.source_index)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_side
+<a name="l00183"></a>00183 &lt;
+<a name="l00184"></a>00184 <span class="keyword">typename</span> cs_tag&lt;Point&gt;::type
+<a name="l00185"></a>00185 &gt;::type side;
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keywordtype">int</span> dir_q = side::apply(qu-&gt;other_point, point, qw-&gt;other_point);
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00191"></a>00191 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Both "</span>
+<a name="l00192"></a>00192 &lt;&lt; (qu-&gt;direction == 1 ? <span class="stringliteral">"Left"</span> : <span class="stringliteral">"Right"</span>)
+<a name="l00193"></a>00193 &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="l00194"></a>00194 &lt;&lt; std::endl;
+<a name="l00195"></a>00195 <span class="preprocessor">#endif</span>
+<a name="l00196"></a>00196 <span class="preprocessor"></span>
+<a name="l00197"></a>00197 <span class="comment">// Let P also be starting</span>
+<a name="l00198"></a>00198 p-&gt;arrival = -1;
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="comment">// This is also symmetric. See slides:</span>
+<a name="l00201"></a>00201 <span class="comment">// Qu left-of P &amp;&amp; Qw left-of P</span>
+<a name="l00202"></a>00202 <span class="keywordflow">if</span> (qu-&gt;direction == 1 &amp;&amp; dir_q == -1)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <span class="comment">// make both Left</span>
+<a name="l00205"></a>00205 p-&gt;direction = 1;
+<a name="l00206"></a>00206 qw-&gt;direction = 1;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208 <span class="comment">// else, symmetric version</span>
+<a name="l00209"></a>00209 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qu-&gt;direction == -1 &amp;&amp; dir_q == 1)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 p-&gt;direction = -1;
+<a name="l00212"></a>00212 qw-&gt;direction = -1;
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00219"></a>00219 <span class="keyword">inline</span> <span class="keywordtype">void</span> arrive_in_the_middle(Info&amp; info)
+<a name="l00220"></a>00220 {
+<a name="l00221"></a>00221 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="comment">// Find out which one is NOT arriving in the middle,</span>
+<a name="l00224"></a>00224 <span class="comment">// and the direction of the one arriving in the middle</span>
+<a name="l00225"></a>00225 <span class="keywordtype">int</span> departing = -1;
+<a name="l00226"></a>00226 <span class="keywordtype">int</span> direction = 0;
+<a name="l00227"></a>00227 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00228"></a>00228 it != boost::end(info);
+<a name="l00229"></a>00229 ++it)
+<a name="l00230"></a>00230 {
+<a name="l00231"></a>00231 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'m'</span>)
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 <span class="keywordflow">switch</span>(it-&gt;arrival)
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 <span class="keywordflow">case</span> 1 : direction = it-&gt;direction; <span class="keywordflow">break</span>;
+<a name="l00236"></a>00236 <span class="keywordflow">default</span> : departing = it-&gt;seg_id.source_index;
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238 }
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="comment">// Make this the departing one, following collinear in opposite segment,</span>
+<a name="l00242"></a>00242 <span class="comment">// same direction as established above</span>
+<a name="l00243"></a>00243 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00244"></a>00244 it != boost::end(info);
+<a name="l00245"></a>00245 ++it)
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 <span class="keywordflow">if</span> (it-&gt;how == <span class="charliteral">'c'</span> &amp;&amp; it-&gt;seg_id.source_index == departing)
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 it-&gt;arrival = -1;
+<a name="l00250"></a>00250 it-&gt;direction = direction;
+<a name="l00251"></a>00251 }
+<a name="l00252"></a>00252 }
+<a name="l00253"></a>00253 }
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00257"></a>00257 <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="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00262"></a>00262 it != boost::end(info);
+<a name="l00263"></a>00263 ++it)
+<a name="l00264"></a>00264 {
+<a name="l00265"></a>00265 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'s'</span>)
+<a name="l00266"></a>00266 {
+<a name="l00267"></a>00267 <span class="keywordflow">if</span> (! opposite)
+<a name="l00268"></a>00268 {
+<a name="l00269"></a>00269 <span class="comment">// Not opposite, all "start" traversals can also be made "departing"</span>
+<a name="l00270"></a>00270 it-&gt;arrival = -1;
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (opposite &amp;&amp; it-&gt;arrival == 0)
+<a name="l00273"></a>00273 {
+<a name="l00274"></a>00274 <span class="comment">// Prevent the collinear the "start" from "departing",</span>
+<a name="l00275"></a>00275 <span class="comment">// if it is in opposite direction</span>
+<a name="l00276"></a>00276 it-&gt;arrival = 1;
+<a name="l00277"></a>00277 it-&gt;direction = 0;
+<a name="l00278"></a>00278 it-&gt;flagged = <span class="keyword">true</span>; <span class="comment">// might be deleted</span>
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280 }
+<a name="l00281"></a>00281 }
+<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> V&gt;
+<a name="l00286"></a>00286 <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="l00287"></a>00287 {
+<a name="l00288"></a>00288 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;V&gt;::type iterator_type;
+<a name="l00289"></a>00289 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00290"></a>00290 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type::traversal_vector vector_type;
+<a name="l00293"></a>00293 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00296"></a>00296 it != boost::end(intersection_points);
+<a name="l00297"></a>00297 ++it)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keywordflow">if</span> (! it-&gt;trivial)
+<a name="l00300"></a>00300 {
+<a name="l00301"></a>00301 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 4)
+<a name="l00302"></a>00302 {
+<a name="l00303"></a>00303 <span class="comment">/*</span>
+<a name="l00304"></a>00304 <span class="comment"> can be ARRIVE/START from the middle (#11)</span>
+<a name="l00305"></a>00305 <span class="comment"> src 0 seg 1 (// 1.0) how m[A R] p // qu</span>
+<a name="l00306"></a>00306 <span class="comment"> src 0 seg 1 (// 1.1) how s[D L] p // qw</span>
+<a name="l00307"></a>00307 <span class="comment"> src 1 seg 0 (// 0.1) how m[A R] qu / p</span>
+<a name="l00308"></a>00308 <span class="comment"> src 1 seg 1 (// 0.1) how s[D R] qw / p</span>
+<a name="l00309"></a>00309 <span class="comment"></span>
+<a name="l00310"></a>00310 <span class="comment"> or can be ARRIVE at COLLINEARITY (#8, #13)</span>
+<a name="l00311"></a>00311 <span class="comment"> src 0 seg 1 (// 1.1) how m[A L] p // qu</span>
+<a name="l00312"></a>00312 <span class="comment"> src 0 seg 1 (// 1.2) how c[- -] p // qw</span>
+<a name="l00313"></a>00313 <span class="comment"> src 1 seg 1 (// 0.1) how m[A L] qu // p</span>
+<a name="l00314"></a>00314 <span class="comment"> src 1 seg 2 (// 0.1) how c[- -] qw // p</span>
+<a name="l00315"></a>00315 <span class="comment"></span>
+<a name="l00316"></a>00316 <span class="comment"> or can be START from COLLINEARITY (#8, #13)</span>
+<a name="l00317"></a>00317 <span class="comment"> src 0 seg 1 (// 1.2) how c[- -] p // qu</span>
+<a name="l00318"></a>00318 <span class="comment"> src 0 seg 1 (// 1.0) how s[D R] p // qw</span>
+<a name="l00319"></a>00319 <span class="comment"> src 1 seg 2 (// 0.1) how c[- -] qu // p</span>
+<a name="l00320"></a>00320 <span class="comment"> src 1 seg 0 (// 0.1) how s[D L] qw // p</span>
+<a name="l00321"></a>00321 <span class="comment"> */</span>
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 <span class="comment">// First detect the case and if it is opposite</span>
+<a name="l00324"></a>00324 <span class="keywordtype">int</span> count_m = 0, count_s = 0, count_c = 0;
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 <span class="keywordtype">bool</span> opposite = <span class="keyword">false</span>;
+<a name="l00327"></a>00327 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00328"></a>00328 tvit != boost::end(it-&gt;info);
+<a name="l00329"></a>00329 ++tvit)
+<a name="l00330"></a>00330 {
+<a name="l00331"></a>00331 <span class="keywordflow">switch</span>(tvit-&gt;how)
+<a name="l00332"></a>00332 {
+<a name="l00333"></a>00333 <span class="keywordflow">case</span> <span class="charliteral">'m'</span> : count_m++; <span class="keywordflow">break</span>;
+<a name="l00334"></a>00334 <span class="keywordflow">case</span> <span class="charliteral">'s'</span> : count_s++; <span class="keywordflow">break</span>;
+<a name="l00335"></a>00335 <span class="keywordflow">case</span> <span class="charliteral">'c'</span> : count_c++; <span class="keywordflow">break</span>;
+<a name="l00336"></a>00336 }
+<a name="l00337"></a>00337 <span class="keywordflow">if</span> (tvit-&gt;opposite)
+<a name="l00338"></a>00338 {
+<a name="l00339"></a>00339 opposite = <span class="keyword">true</span>;
+<a name="l00340"></a>00340 }
+<a name="l00341"></a>00341 }
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="keywordflow">if</span> (count_m == 2 &amp;&amp; count_s == 2)
+<a name="l00344"></a>00344 {
+<a name="l00345"></a>00345 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00346"></a>00346 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Touching the middle "</span> &lt;&lt; std::endl;
+<a name="l00347"></a>00347 <span class="preprocessor">#endif</span>
+<a name="l00348"></a>00348 <span class="preprocessor"></span>
+<a name="l00349"></a>00349 touch_in_the_middle(it-&gt;info, it-&gt;point);
+<a name="l00350"></a>00350 }
+<a name="l00351"></a>00351 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count_m == 2 &amp;&amp; count_c == 2 &amp;&amp; opposite)
+<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">"Arriving the middle/collinearity, opposite"</span> &lt;&lt; std::endl;
+<a name="l00355"></a>00355 <span class="preprocessor">#endif</span>
+<a name="l00356"></a>00356 <span class="preprocessor"></span>
+<a name="l00357"></a>00357 arrive_in_the_middle(it-&gt;info);
+<a name="l00358"></a>00358 }
+<a name="l00359"></a>00359 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count_s == 2 &amp;&amp; count_c == 2)
+<a name="l00360"></a>00360 {
+<a name="l00361"></a>00361 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00362"></a>00362 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Starting from middle/collinearity"</span>
+<a name="l00363"></a>00363 &lt;&lt; (opposite ? <span class="stringliteral">" , opposite"</span> : <span class="stringliteral">""</span>)
+<a name="l00364"></a>00364 &lt;&lt; std::endl;
+<a name="l00365"></a>00365 <span class="preprocessor">#endif</span>
+<a name="l00366"></a>00366 <span class="preprocessor"></span>
+<a name="l00367"></a>00367 start_in_the_middle(it-&gt;info, opposite);
+<a name="l00368"></a>00368 }
+<a name="l00369"></a>00369 }
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 8)
+<a name="l00372"></a>00372 {
+<a name="l00373"></a>00373 <span class="comment">/*</span>
+<a name="l00374"></a>00374 <span class="comment"> src 0 seg 1 (// 1.0) how t[A R] pi // qu pi.first</span>
+<a name="l00375"></a>00375 <span class="comment"> src 0 seg 1 (// 1.1) how a[A R] pi // qw pi.second</span>
+<a name="l00376"></a>00376 <span class="comment"> src 0 seg 2 (// 1.0) how a[D R] pk // qu pk.first</span>
+<a name="l00377"></a>00377 <span class="comment"> src 0 seg 2 (// 1.1) how f[D L] pk // qw pk.second</span>
+<a name="l00378"></a>00378 <span class="comment"></span>
+<a name="l00379"></a>00379 <span class="comment"> src 1 seg 0 (// 0.1) how t[A L] qu // pi</span>
+<a name="l00380"></a>00380 <span class="comment"> src 1 seg 0 (// 0.2) how a[A R] qu // pk</span>
+<a name="l00381"></a>00381 <span class="comment"> src 1 seg 1 (// 0.1) how a[D R] qw // pi</span>
+<a name="l00382"></a>00382 <span class="comment"> src 1 seg 1 (// 0.2) how f[D R] qw // pk</span>
+<a name="l00383"></a>00383 <span class="comment"> */</span>
+<a name="l00384"></a>00384
+<a name="l00385"></a>00385 std::pair&lt;tvit_type, tvit_type&gt; pi, pk, qu, qw;
+<a name="l00386"></a>00386 std::pair&lt;typename info_type::point_type, typename info_type::point_type&gt; p, q;
+<a name="l00387"></a>00387
+<a name="l00388"></a>00388
+<a name="l00389"></a>00389 <span class="comment">// Find out which is which</span>
+<a name="l00390"></a>00390 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00391"></a>00391 tvit != boost::end(it-&gt;info);
+<a name="l00392"></a>00392 ++tvit)
+<a name="l00393"></a>00393 {
+<a name="l00394"></a>00394 assign_pq(*tvit, p, q);
+<a name="l00395"></a>00395 <span class="keywordflow">if</span> (tvit-&gt;seg_id.source_index == 0)
+<a name="l00396"></a>00396 {
+<a name="l00397"></a>00397 <span class="keywordflow">if</span> (tvit-&gt;arrival == 1)
+<a name="l00398"></a>00398 {
+<a name="l00399"></a>00399 <span class="keywordflow">if</span>(tvit-&gt;how != <span class="charliteral">'a'</span>)
+<a name="l00400"></a>00400 {
+<a name="l00401"></a>00401 pi.first = tvit;
+<a name="l00402"></a>00402 }
+<a name="l00403"></a>00403 <span class="keywordflow">else</span>
+<a name="l00404"></a>00404 {
+<a name="l00405"></a>00405 pi.second = tvit;
+<a name="l00406"></a>00406 }
+<a name="l00407"></a>00407
+<a name="l00408"></a>00408 }
+<a name="l00409"></a>00409 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tvit-&gt;arrival == -1)
+<a name="l00410"></a>00410 {
+<a name="l00411"></a>00411 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00412"></a>00412 {
+<a name="l00413"></a>00413 pk.first = tvit;
+<a name="l00414"></a>00414 }
+<a name="l00415"></a>00415 <span class="keywordflow">else</span>
+<a name="l00416"></a>00416 {
+<a name="l00417"></a>00417 pk.second = tvit;
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419 }
+<a name="l00420"></a>00420 }
+<a name="l00421"></a>00421 <span class="keywordflow">else</span>
+<a name="l00422"></a>00422 {
+<a name="l00423"></a>00423 <span class="keywordflow">if</span> (tvit-&gt;arrival == 1)
+<a name="l00424"></a>00424 {
+<a name="l00425"></a>00425 <span class="keywordflow">if</span>(tvit-&gt;how != <span class="charliteral">'a'</span>)
+<a name="l00426"></a>00426 {
+<a name="l00427"></a>00427 qu.first = tvit;
+<a name="l00428"></a>00428 }
+<a name="l00429"></a>00429 <span class="keywordflow">else</span>
+<a name="l00430"></a>00430 {
+<a name="l00431"></a>00431 qu.second = tvit;
+<a name="l00432"></a>00432 }
+<a name="l00433"></a>00433 }
+<a name="l00434"></a>00434 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tvit-&gt;arrival == -1)
+<a name="l00435"></a>00435 {
+<a name="l00436"></a>00436 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00437"></a>00437 {
+<a name="l00438"></a>00438 qw.first = tvit;
+<a name="l00439"></a>00439 }
+<a name="l00440"></a>00440 <span class="keywordflow">else</span>
+<a name="l00441"></a>00441 {
+<a name="l00442"></a>00442 qw.second = tvit;
+<a name="l00443"></a>00443 }
+<a name="l00444"></a>00444 }
+<a name="l00445"></a>00445 }
+<a name="l00446"></a>00446 }
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_side
+<a name="l00449"></a>00449 &lt;
+<a name="l00450"></a>00450 <span class="keyword">typename</span> cs_tag&lt;ip_type&gt;::type
+<a name="l00451"></a>00451 &gt;::type side;
+<a name="l00452"></a>00452
+<a name="l00453"></a>00453
+<a name="l00454"></a>00454 <span class="keywordtype">int</span> dir_p = side::apply(p.first, it-&gt;point, p.second);
+<a name="l00455"></a>00455 <span class="keywordtype">int</span> dir_q = side::apply(q.first, it-&gt;point, q.second);
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00458"></a>00458 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Pi//Qu : "</span> &lt;&lt; *pi.first &lt;&lt; std::endl;
+<a name="l00459"></a>00459 std::cout &lt;&lt; <span class="stringliteral">"Pi//Qw : "</span> &lt;&lt; *pi.second &lt;&lt; std::endl;
+<a name="l00460"></a>00460 std::cout &lt;&lt; <span class="stringliteral">"Pk//Qu : "</span> &lt;&lt; *pk.first &lt;&lt; std::endl;
+<a name="l00461"></a>00461 std::cout &lt;&lt; <span class="stringliteral">"Pk//Qw : "</span> &lt;&lt; *pk.second &lt;&lt; std::endl;
+<a name="l00462"></a>00462 std::cout &lt;&lt; <span class="stringliteral">"Qu//Pi : "</span> &lt;&lt; *qu.first &lt;&lt; std::endl;
+<a name="l00463"></a>00463 std::cout &lt;&lt; <span class="stringliteral">"Qu//Pk : "</span> &lt;&lt; *qu.second &lt;&lt; std::endl;
+<a name="l00464"></a>00464 std::cout &lt;&lt; <span class="stringliteral">"Qw//Pi : "</span> &lt;&lt; *qw.first &lt;&lt; std::endl;
+<a name="l00465"></a>00465 std::cout &lt;&lt; <span class="stringliteral">"Qw//Pk : "</span> &lt;&lt; *qw.second &lt;&lt; std::endl;
+<a name="l00466"></a>00466 <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="l00467"></a>00467 <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="l00468"></a>00468 <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="l00469"></a>00469 <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="l00470"></a>00470 <span class="preprocessor">#endif</span>
+<a name="l00471"></a>00471 <span class="preprocessor"></span>
+<a name="l00472"></a>00472 <span class="keywordflow">if</span> (qu.first-&gt;direction == qw.first-&gt;direction)
+<a name="l00473"></a>00473 {
+<a name="l00474"></a>00474 <span class="comment">// Both Right or Both Left</span>
+<a name="l00475"></a>00475 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00476"></a>00476 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Both "</span>
+<a name="l00477"></a>00477 &lt;&lt; (qu.first-&gt;direction == 1 ? <span class="stringliteral">"Left"</span> : <span class="stringliteral">"Right"</span>)
+<a name="l00478"></a>00478 &lt;&lt; std::endl;
+<a name="l00479"></a>00479 <span class="preprocessor">#endif</span>
+<a name="l00480"></a>00480 <span class="preprocessor"></span>
+<a name="l00481"></a>00481 both_same(pi, pk, qu, qw, dir_p, dir_q, qu.first-&gt;direction);
+<a name="l00482"></a>00482 }
+<a name="l00483"></a>00483 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qu.first-&gt;direction == -qw.first-&gt;direction)
+<a name="l00484"></a>00484 {
+<a name="l00485"></a>00485 <span class="comment">// From Left to Right, or from Right to Left</span>
+<a name="l00486"></a>00486 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00487"></a>00487 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Left to/from Right"</span> &lt;&lt; std::endl;
+<a name="l00488"></a>00488 <span class="preprocessor">#endif</span>
+<a name="l00489"></a>00489 <span class="preprocessor"></span> crossing(pi, pk, qu, qw, dir_p, dir_q, qu.first-&gt;direction);
+<a name="l00490"></a>00490 }
+<a name="l00491"></a>00491 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qw.first-&gt;direction == 1 || qu.first-&gt;direction == 1)
+<a name="l00492"></a>00492 {
+<a name="l00493"></a>00493 <span class="comment">// Collinear left</span>
+<a name="l00494"></a>00494 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00495"></a>00495 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Collinear left"</span> &lt;&lt; std::endl;
+<a name="l00496"></a>00496 <span class="preprocessor">#endif</span>
+<a name="l00497"></a>00497 <span class="preprocessor"></span> collinear(pi, pk, qu, qw, dir_p, dir_q, 1);
+<a name="l00498"></a>00498 }
+<a name="l00499"></a>00499 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qw.first-&gt;direction == -1 || qu.first-&gt;direction == -1)
+<a name="l00500"></a>00500 {
+<a name="l00501"></a>00501 <span class="comment">// Collinear right</span>
+<a name="l00502"></a>00502 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00503"></a>00503 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Collinear right"</span> &lt;&lt; std::endl;
+<a name="l00504"></a>00504 <span class="preprocessor">#endif</span>
+<a name="l00505"></a>00505 <span class="preprocessor"></span> collinear(pi, pk, qu, qw, dir_p, dir_q, -1);
+<a name="l00506"></a>00506 }
+<a name="l00507"></a>00507
+<a name="l00508"></a>00508
+<a name="l00509"></a>00509 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00510"></a>00510 tvit != boost::end(it-&gt;info);
+<a name="l00511"></a>00511 ++tvit)
+<a name="l00512"></a>00512 {
+<a name="l00513"></a>00513 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00514"></a>00514 {
+<a name="l00515"></a>00515 tvit-&gt;direction = 0;
+<a name="l00516"></a>00516 }
+<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 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00523"></a>00523 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Adapted turns: "</span> &lt;&lt; std::endl;
+<a name="l00524"></a>00524 report_ip(intersection_points);
+<a name="l00525"></a>00525 <span class="preprocessor">#endif</span>
+<a name="l00526"></a>00526 <span class="preprocessor"></span>}
+<a name="l00527"></a>00527
+<a name="l00528"></a>00528
+<a name="l00529"></a>00529 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00530"></a>00530 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00531"></a>00531 <span class="preprocessor"></span>
+<a name="l00532"></a>00532
+<a name="l00533"></a>00533 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00534"></a><a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">00534</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="l00535"></a>00535 {
+<a name="l00536"></a>00536 <span class="comment">// If there are merges, there might be merged IP's which have right turns</span>
+<a name="l00537"></a>00537 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">detail::intersection::adapt_turns</a>(intersection_points);
+<a name="l00538"></a>00538
+<a name="l00539"></a>00539 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00540"></a>00540 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (2): "</span> &lt;&lt; std::endl;
+<a name="l00541"></a>00541 report_ip(intersection_points);
+<a name="l00542"></a>00542 <span class="preprocessor">#endif</span>
+<a name="l00543"></a>00543 <span class="preprocessor"></span>
+<a name="l00544"></a>00544 }
+<a name="l00545"></a>00545
+<a name="l00546"></a>00546
+<a name="l00547"></a>00547 } <span class="comment">// namespace ggl</span>
+<a name="l00548"></a>00548
+<a name="l00549"></a>00549 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/add_const_if_c.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_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/add__const__if__c_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/add_const_if_c.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_UTIL_ADD_CONST_IF_C_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_ADD_CONST_IF_C_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&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="l00018"></a>00018
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> IsConst, <span class="keyword">typename</span> Type&gt;
+<a name="l00035"></a><a class="code" href="structggl_1_1add__const__if__c.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1add__const__if__c.html" title="Meta-function to define a const or non const type.">add_const_if_c</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00038"></a>00038 &lt;
+<a name="l00039"></a>00039 IsConst,
+<a name="l00040"></a>00040 <span class="keyword">const</span> Type,
+<a name="l00041"></a>00041 Type
+<a name="l00042"></a><a class="code" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">00042</a> &gt;<a class="code" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">::type</a> <a class="code" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a>;
+<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
+<a name="l00050"></a>00050 <span class="preprocessor">#endif // GGL_UTIL_ADD_CONST_IF_C_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>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 specified <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;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/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
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__order_8hpp.html">ggl/core/point_order.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_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2area_8hpp.html">ggl/strategies/area.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="area__result_8hpp.html">ggl/strategies/area_result.hpp</a>&gt;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="area__concept_8hpp.html">ggl/strategies/concepts/area_concept.hpp</a>&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00059"></a>00059 <span class="keyword">namespace </span>ggl
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>box_area
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type return_type;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Box <span class="keyword">const</span>&amp; box, Strategy <span class="keyword">const</span>&amp;)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="comment">// Currently only works for 2D Cartesian boxes</span>
+<a name="l00073"></a>00073 assert_dimension&lt;Box, 2&gt;();
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 return_type <span class="keyword">const</span> dx = get&lt;max_corner, 0&gt;(box)
+<a name="l00076"></a>00076 - get&lt;min_corner, 0&gt;(box);
+<a name="l00077"></a>00077 return_type <span class="keyword">const</span> dy = get&lt;max_corner, 1&gt;(box)
+<a name="l00078"></a>00078 - get&lt;min_corner, 1&gt;(box);
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> dx * dy;
+<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
+<a name="l00090"></a>00090 <span class="keyword">template</span>
+<a name="l00091"></a>00091 &lt;
+<a name="l00092"></a>00092 <span class="keyword">typename</span> Ring,
+<a name="l00093"></a>00093 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00094"></a>00094 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
+<a name="l00095"></a>00095 <span class="keyword">typename</span> Strategy
+<a name="l00096"></a>00096 &gt;
+<a name="l00097"></a>00097 <span class="keyword">struct </span>ring_area
+<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> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>ring_area&lt;Ring, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, Strategy&gt;
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">ggl::concept::AreaStrategy&lt;Strategy&gt;</a>) );
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Ring <span class="keyword">const</span>&amp; ring, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 assert_dimension&lt;Ring, 2&gt;();
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">// A closed linear_ring has at least four points,</span>
+<a name="l00113"></a>00113 <span class="comment">// if not, there is no (zero) area</span>
+<a name="l00114"></a>00114 <span class="keywordflow">if</span> (boost::size(ring) &lt; 4)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> type();
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Ring&gt;::type iterator_type;
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 iterator_type it = boost::begin(ring);
+<a name="l00124"></a>00124 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00125"></a>00125 it != boost::end(ring);
+<a name="l00126"></a>00126 previous = it++)
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 strategy.apply(*previous, *it, state);
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130 <span class="keywordflow">return</span> strategy.result(state);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133 };
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00136"></a>00136 <span class="keyword">struct </span>ring_area&lt;Ring, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, Strategy&gt;
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
+<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Ring <span class="keyword">const</span>&amp; ring, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="comment">// Counter clockwise rings negate the area result</span>
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> -ring_area&lt;Ring, clockwise, Strategy&gt;::apply(ring, strategy);
+<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="comment">// namespace detail::area</span>
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span>
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keyword">template</span>
+<a name="l00156"></a>00156 &lt;
+<a name="l00157"></a>00157 <span class="keyword">typename</span> Tag,
+<a name="l00158"></a>00158 <span class="keyword">typename</span> Geometry,
+<a name="l00159"></a>00159 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Strategy
+<a name="l00161"></a>00161 &gt;
+<a name="l00162"></a>00162 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
+<a name="l00163"></a>00163 : detail::calculate_null
+<a name="l00164"></a>00164 &lt;
+<a name="l00165"></a>00165 typename Strategy::return_type,
+<a name="l00166"></a>00166 Geometry,
+<a name="l00167"></a>00167 Strategy
+<a name="l00168"></a>00168 &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> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;box_tag, Geometry, Order, Strategy&gt;
+<a name="l00173"></a>00173 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::box_area&lt;Geometry, Strategy&gt;
+<a name="l00174"></a>00174 {};
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
+<a name="l00178"></a>00178 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
+<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00180"></a>00180 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;ring_tag, Geometry, Order, Strategy&gt;
+<a name="l00181"></a>00181 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::ring_area&lt;Geometry, Order, Strategy&gt;
+<a name="l00182"></a>00182 {};
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00185"></a>00185 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;polygon_tag, Polygon, Order, Strategy&gt;
+<a name="l00186"></a>00186 : detail::calculate_polygon_sum
+<a name="l00187"></a>00187 &lt;
+<a name="l00188"></a>00188 typename Strategy::return_type,
+<a name="l00189"></a>00189 Polygon,
+<a name="l00190"></a>00190 Strategy,
+<a name="l00191"></a>00191 detail::area::ring_area
+<a name="l00192"></a>00192 &lt;
+<a name="l00193"></a>00193 typename ring_type&lt;Polygon&gt;::type,
+<a name="l00194"></a>00194 Order,
+<a name="l00195"></a>00195 Strategy
+<a name="l00196"></a>00196 &gt;
+<a name="l00197"></a>00197 &gt;
+<a name="l00198"></a>00198 {};
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 } <span class="comment">// namespace dispatch</span>
+<a name="l00202"></a>00202 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00203"></a>00203 <span class="preprocessor"></span>
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205
+<a name="l00217"></a>00217 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00218"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">00218</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result&lt;Geometry&gt;::type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 concept::check&lt;const Geometry&gt;();
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <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="l00223"></a>00223
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00225"></a>00225 &lt;
+<a name="l00226"></a>00226 <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="l00227"></a>00227 Geometry,
+<a name="l00228"></a>00228 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
+<a name="l00229"></a>00229 strategy_type
+<a name="l00230"></a>00230 &gt;::apply(geometry, strategy_type());
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232
+<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00243"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00243</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(
+<a name="l00244"></a>00244 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00245"></a>00245 {
+<a name="l00246"></a>00246 concept::check&lt;const Geometry&gt;();
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00249"></a>00249 &lt;
+<a name="l00250"></a>00250 <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="l00251"></a>00251 Geometry,
+<a name="l00252"></a>00252 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
+<a name="l00253"></a>00253 Strategy
+<a name="l00254"></a>00254 &gt;::apply(geometry, strategy);
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 } <span class="comment">// namespace ggl</span>
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , 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__centroid.html#gc7e9651663cd19868cae40c20c72afdc">ggl::centroid</a> (Geometry const &amp;geometry, Point &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 Geometry , typename Point , typename Strategy &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#gba3c6357cc1112519a4909cdbb4733e2">ggl::centroid</a> (Geometry const &amp;geometry, Point &amp;c, Strategy 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 Point , typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">ggl::make_centroid</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return 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 Point , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl::make_centroid</a> (Geometry const &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">// Copyright (c) 2009 Mateusz Loskot &lt;mateusz_at_[hidden]&gt;</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_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></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/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_2distance_8hpp.html">ggl/algorithms/distance.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="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="exception_8hpp.html">ggl/core/exception.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="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="segment__iterator_8hpp.html">ggl/iterators/segment_iterator.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2centroid_8hpp.html">ggl/strategies/centroid.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="centroid__concept_8hpp.html">ggl/strategies/concepts/centroid_concept.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <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="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00068"></a>00068 <span class="keyword">namespace </span>ggl
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070
+<a name="l00071"></a><a class="code" href="classggl_1_1centroid__exception.html">00071</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="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">public</span>:
+<a name="l00074"></a>00074
+<a name="l00075"></a><a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">00075</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a>() {}
+<a name="l00076"></a>00076
+<a name="l00077"></a><a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">00077</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="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="stringliteral">"GGL Centroid calculation exception"</span>;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a> {
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>Centro<span class="keywordtype">id</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00087"></a>00087 <span class="keyword">struct </span>centroid_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(Point <span class="keyword">const</span>&amp; point, PointCentroid&amp; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00090"></a>00090 Strategy <span class="keyword">const</span>&amp;)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, centroid);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">template</span>
+<a name="l00097"></a>00097 &lt;
+<a name="l00098"></a>00098 <span class="keyword">typename</span> Box,
+<a name="l00099"></a>00099 <span class="keyword">typename</span> Point,
+<a name="l00100"></a>00100 std::size_t Dimension,
+<a name="l00101"></a>00101 std::size_t DimensionCount
+<a name="l00102"></a>00102 &gt;
+<a name="l00103"></a>00103 <span class="keyword">struct </span>centroid_box_calculator
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type
+<a name="l00106"></a>00106 &lt;
+<a name="l00107"></a>00107 Box, Point
+<a name="l00108"></a>00108 &gt;::type coordinate_type;
+<a name="l00109"></a>00109 <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; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 coordinate_type <span class="keyword">const</span> c1 = get&lt;min_corner, Dimension&gt;(box);
+<a name="l00112"></a>00112 coordinate_type <span class="keyword">const</span> c2 = get&lt;max_corner, Dimension&gt;(box);
+<a name="l00113"></a>00113 coordinate_type m = c1 + c2;
+<a name="l00114"></a>00114 m /= 2.0;
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 set&lt;Dimension&gt;(centroid, m);
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 centroid_box_calculator
+<a name="l00119"></a>00119 &lt;
+<a name="l00120"></a>00120 Box, Point,
+<a name="l00121"></a>00121 Dimension + 1, DimensionCount
+<a name="l00122"></a>00122 &gt;::apply(box, centroid);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 };
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00127"></a>00127 <span class="keyword">struct </span>centroid_box_calculator&lt;Box, Point, DimensionCount, DimensionCount&gt;
+<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(Box <span class="keyword">const</span>&amp; , Point&amp; )
+<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="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="l00135"></a>00135 <span class="keyword">struct </span>centroid_box
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 <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; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00138"></a>00138 Strategy <span class="keyword">const</span>&amp;)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 centroid_box_calculator
+<a name="l00141"></a>00141 &lt;
+<a name="l00142"></a>00142 Box, Point,
+<a name="l00143"></a>00143 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00144"></a>00144 &gt;::apply(box, centroid);
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146 };
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="comment">// There is one thing where centroid is different from e.g. within.</span>
+<a name="l00149"></a>00149 <span class="comment">// If the ring has only one point, it might make sense that</span>
+<a name="l00150"></a>00150 <span class="comment">// that point is the centroid.</span>
+<a name="l00151"></a>00151 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Range&gt;
+<a name="l00152"></a>00152 <span class="keyword">inline</span> <span class="keywordtype">bool</span> range_ok(Range <span class="keyword">const</span>&amp; range, Point&amp; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 std::size_t <span class="keyword">const</span> n = boost::size(range);
+<a name="l00155"></a>00155 <span class="keywordflow">if</span> (n &gt; 1)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n &lt;= 0)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="preprocessor">#if defined(CENTROID_WITH_CATCH)</span>
+<a name="l00162"></a>00162 <span class="preprocessor"></span> <span class="keywordflow">throw</span> centroid_exception();
+<a name="l00163"></a>00163 <span class="preprocessor">#endif</span>
+<a name="l00164"></a>00164 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 <span class="keywordflow">else</span> <span class="comment">// if (n == 1)</span>
+<a name="l00167"></a>00167 {
+<a name="l00168"></a>00168 <span class="comment">// Take over the first point in a "coordinate neutral way"</span>
+<a name="l00169"></a>00169 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(range.front(), centroid);
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00179"></a>00179 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00180"></a>00180 <span class="keyword">struct </span>centroid_ring_state
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <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="l00183"></a>00183 Strategy <span class="keyword">const</span>&amp; strategy, <span class="keyword">typename</span> Strategy::state_type&amp; state)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Ring&gt;::type iterator_type;
+<a name="l00186"></a>00186 iterator_type it = boost::begin(ring);
+<a name="l00187"></a>00187 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00188"></a>00188 it != boost::end(ring);
+<a name="l00189"></a>00189 previous = it++)
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 Strategy::apply(*previous, *it, state);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="comment">/* using segment_iterator: nice, well looking, but much slower...</span>
+<a name="l00195"></a>00195 <span class="comment"> normal iterator: 0.156 s</span>
+<a name="l00196"></a>00196 <span class="comment"> segment iterator: 1.985 s...</span>
+<a name="l00197"></a>00197 <span class="comment"> typedef segment_iterator</span>
+<a name="l00198"></a>00198 <span class="comment"> &lt;</span>
+<a name="l00199"></a>00199 <span class="comment"> typename boost::range_const_iterator&lt;Ring&gt;::type,</span>
+<a name="l00200"></a>00200 <span class="comment"> typename point_type&lt;Ring&gt;::type</span>
+<a name="l00201"></a>00201 <span class="comment"> &gt; iterator_type;</span>
+<a name="l00202"></a>00202 <span class="comment"></span>
+<a name="l00203"></a>00203 <span class="comment"> iterator_type it(boost::begin(ring), boost::end(ring));</span>
+<a name="l00204"></a>00204 <span class="comment"> iterator_type end(boost::end(ring));</span>
+<a name="l00205"></a>00205 <span class="comment"> for(; it != end; ++it)</span>
+<a name="l00206"></a>00206 <span class="comment"> {</span>
+<a name="l00207"></a>00207 <span class="comment"> Strategy::apply(it-&gt;first, it-&gt;second, state);</span>
+<a name="l00208"></a>00208 <span class="comment"> }</span>
+<a name="l00209"></a>00209 <span class="comment"> */</span>
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211 };
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <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="l00214"></a>00214 <span class="keyword">struct </span>centroid_ring
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <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; centroid,
+<a name="l00217"></a>00217 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keywordflow">if</span> (range_ok(ring, centroid))
+<a name="l00220"></a>00220 {
+<a name="l00221"></a>00221 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00222"></a>00222 centroid_ring_state
+<a name="l00223"></a>00223 &lt;
+<a name="l00224"></a>00224 Ring,
+<a name="l00225"></a>00225 Strategy
+<a name="l00226"></a>00226 &gt;::apply(ring, strategy, state);
+<a name="l00227"></a>00227 Strategy::result(state, centroid);
+<a name="l00228"></a>00228 }
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230 };
+<a name="l00231"></a>00231
+<a name="l00235"></a>00235 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00236"></a>00236 <span class="keyword">struct </span>centroid_linestring
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Linestring <span class="keyword">const</span>&amp; line, Point&amp; centroid,
+<a name="l00239"></a>00239 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241 <span class="comment">// First version, should</span>
+<a name="l00242"></a>00242 <span class="comment">// - be moved to a strategy</span>
+<a name="l00243"></a>00243 <span class="comment">// - be made dim-agnostic</span>
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Linestring&gt;::type point_type;
+<a name="l00246"></a>00246 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Linestring&gt;::type point_iterator_type;
+<a name="l00247"></a>00247 <span class="keyword">typedef</span> segment_iterator&lt;point_iterator_type, point_type&gt; segment_iterator;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="keywordtype">double</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> = double();
+<a name="l00250"></a>00250 std::pair&lt;double, double&gt; average_sum;
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 segment_iterator it(boost::begin(line), boost::end(line));
+<a name="l00253"></a>00253 segment_iterator end(boost::end(line));
+<a name="l00254"></a>00254 <span class="keywordflow">while</span> (it != end)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <span class="keywordtype">double</span> <span class="keyword">const</span> d = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(it-&gt;first, it-&gt;second);
+<a name="l00257"></a>00257 length += d;
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keywordtype">double</span> <span class="keyword">const</span> mx = (get&lt;0&gt;(it-&gt;first) + get&lt;0&gt;(it-&gt;second)) / 2;
+<a name="l00260"></a>00260 <span class="keywordtype">double</span> <span class="keyword">const</span> my = (get&lt;1&gt;(it-&gt;first) + get&lt;1&gt;(it-&gt;second)) / 2;
+<a name="l00261"></a>00261 average_sum.first += d * mx;
+<a name="l00262"></a>00262 average_sum.second += d * my;
+<a name="l00263"></a>00263 ++it;
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 set&lt;0&gt;(centroid, average_sum.first / length );
+<a name="l00267"></a>00267 set&lt;1&gt;(centroid, average_sum.second / length );
+<a name="l00268"></a>00268 }
+<a name="l00269"></a>00269 };
+<a name="l00270"></a>00270
+<a name="l00276"></a>00276 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00277"></a>00277 <span class="keyword">struct </span>centroid_polygon_state
+<a name="l00278"></a>00278 {
+<a name="l00279"></a>00279 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; poly,
+<a name="l00280"></a>00280 Strategy <span class="keyword">const</span>&amp; strategy, <span class="keyword">typename</span> Strategy::state_type&amp; state)
+<a name="l00281"></a>00281 {
+<a name="l00282"></a>00282 <span class="keyword">typedef</span> centroid_ring_state
+<a name="l00283"></a>00283 &lt;
+<a name="l00284"></a>00284 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00285"></a>00285 Strategy
+<a name="l00286"></a>00286 &gt; per_ring;
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 per_ring::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy, state);
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00291"></a>00291 &lt;
+<a name="l00292"></a>00292 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00293"></a>00293 &gt;::type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00294"></a>00294 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00295"></a>00295 ++it)
+<a name="l00296"></a>00296 {
+<a name="l00297"></a>00297 per_ring::apply(*it, strategy, state);
+<a name="l00298"></a>00298 }
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 };
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <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="l00303"></a>00303 <span class="keyword">struct </span>centroid_polygon
+<a name="l00304"></a>00304 {
+<a name="l00305"></a>00305 <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; centroid,
+<a name="l00306"></a>00306 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 <span class="keywordflow">if</span> (range_ok(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), centroid))
+<a name="l00309"></a>00309 {
+<a name="l00310"></a>00310 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00311"></a>00311 centroid_polygon_state
+<a name="l00312"></a>00312 &lt;
+<a name="l00313"></a>00313 Polygon,
+<a name="l00314"></a>00314 Strategy
+<a name="l00315"></a>00315 &gt;::apply(poly, strategy, state);
+<a name="l00316"></a>00316 Strategy::result(state, centroid);
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319 };
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00323"></a>00323 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00324"></a>00324 <span class="preprocessor"></span>
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00327"></a>00327 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00328"></a>00328 {
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="keyword">template</span>
+<a name="l00331"></a>00331 &lt;
+<a name="l00332"></a>00332 <span class="keyword">typename</span> Tag,
+<a name="l00333"></a>00333 <span class="keyword">typename</span> Geometry,
+<a name="l00334"></a>00334 <span class="keyword">typename</span> Point,
+<a name="l00335"></a>00335 <span class="keyword">typename</span> Strategy
+<a name="l00336"></a>00336 &gt;
+<a name="l00337"></a>00337 <span class="keyword">struct </span>centroid {};
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="keyword">template</span>
+<a name="l00340"></a>00340 &lt;
+<a name="l00341"></a>00341 <span class="keyword">typename</span> Geometry,
+<a name="l00342"></a>00342 <span class="keyword">typename</span> Point,
+<a name="l00343"></a>00343 <span class="keyword">typename</span> Strategy
+<a name="l00344"></a>00344 &gt;
+<a name="l00345"></a>00345 <span class="keyword">struct </span>centroid&lt;point_tag, Geometry, Point, Strategy&gt;
+<a name="l00346"></a>00346 : detail::centroid::centroid_point&lt;Geometry, Point, Strategy&gt;
+<a name="l00347"></a>00347 {};
+<a name="l00348"></a>00348
+<a name="l00349"></a>00349 <span class="keyword">template</span>
+<a name="l00350"></a>00350 &lt;
+<a name="l00351"></a>00351 <span class="keyword">typename</span> Box,
+<a name="l00352"></a>00352 <span class="keyword">typename</span> Point,
+<a name="l00353"></a>00353 <span class="keyword">typename</span> Strategy
+<a name="l00354"></a>00354 &gt;
+<a name="l00355"></a>00355 <span class="keyword">struct </span>centroid&lt;box_tag, Box, Point, Strategy&gt;
+<a name="l00356"></a>00356 : detail::centroid::centroid_box&lt;Box, Point, Strategy&gt;
+<a name="l00357"></a>00357 {};
+<a name="l00358"></a>00358
+<a name="l00359"></a>00359 <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="l00360"></a>00360 <span class="keyword">struct </span>centroid&lt;ring_tag, Ring, Point, Strategy&gt;
+<a name="l00361"></a>00361 : detail::centroid::centroid_ring&lt;Ring, Point, Strategy&gt;
+<a name="l00362"></a>00362 {};
+<a name="l00363"></a>00363
+<a name="l00364"></a>00364 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00365"></a>00365 <span class="keyword">struct </span>centroid&lt;linestring_tag, Linestring, Point, Strategy&gt;
+<a name="l00366"></a>00366 : detail::centroid::centroid_linestring&lt;Linestring, Point, Strategy&gt;
+<a name="l00367"></a>00367 {};
+<a name="l00368"></a>00368
+<a name="l00369"></a>00369 <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="l00370"></a>00370 <span class="keyword">struct </span>centroid&lt;polygon_tag, Polygon, Point, Strategy&gt;
+<a name="l00371"></a>00371 : detail::centroid::centroid_polygon&lt;Polygon, Point, Strategy&gt;
+<a name="l00372"></a>00372 {};
+<a name="l00373"></a>00373
+<a name="l00374"></a>00374 } <span class="comment">// namespace dispatch</span>
+<a name="l00375"></a>00375 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00376"></a>00376 <span class="preprocessor"></span>
+<a name="l00377"></a>00377
+<a name="l00385"></a>00385 <span class="keyword">template</span>&lt;<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="l00386"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">00386</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(Geometry <span class="keyword">const</span>&amp; geometry, Point&amp; c,
+<a name="l00387"></a>00387 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00388"></a>00388 {
+<a name="l00389"></a>00389 <span class="comment">//BOOST_CONCEPT_ASSERT( (ggl::concept::CentroidStrategy&lt;Strategy&gt;) );</span>
+<a name="l00390"></a>00390
+<a name="l00391"></a>00391 concept::check_concepts_and_equal_dimensions&lt;Point, const Geometry&gt;();
+<a name="l00392"></a>00392
+<a name="l00393"></a>00393 <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> point_type;
+<a name="l00394"></a>00394
+<a name="l00395"></a>00395 <span class="comment">// Call dispatch apply method. That one returns true if centroid</span>
+<a name="l00396"></a>00396 <span class="comment">// should be taken from state.</span>
+<a name="l00397"></a>00397 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">dispatch::centroid</a>
+<a name="l00398"></a>00398 &lt;
+<a name="l00399"></a>00399 <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="l00400"></a>00400 Geometry,
+<a name="l00401"></a>00401 Point,
+<a name="l00402"></a>00402 Strategy
+<a name="l00403"></a>00403 &gt;::apply(geometry, c, strategy);
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405
+<a name="l00406"></a>00406
+<a name="l00413"></a>00413 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00414"></a><a class="code" href="group__centroid.html#gc7e9651663cd19868cae40c20c72afdc">00414</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(Geometry <span class="keyword">const</span>&amp; geometry, Point&amp; c)
+<a name="l00415"></a>00415 {
+<a name="l00416"></a>00416 concept::check_concepts_and_equal_dimensions&lt;Point, const Geometry&gt;();
+<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_1strategy__centroid.html" title="Traits class binding a centroid calculation strategy to a coordinate system.">strategy_centroid</a>
+<a name="l00419"></a>00419 &lt;
+<a name="l00420"></a>00420 <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;Geometry&gt;::type</a>,
+<a name="l00421"></a>00421 <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="l00422"></a>00422 <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;Geometry&gt;::type::value</a>,
+<a name="l00423"></a>00423 Point,
+<a name="l00424"></a>00424 Geometry
+<a name="l00425"></a>00425 &gt;::type strategy_type;
+<a name="l00426"></a>00426
+<a name="l00427"></a>00427 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c, strategy_type());
+<a name="l00428"></a>00428 }
+<a name="l00429"></a>00429
+<a name="l00430"></a>00430
+<a name="l00437"></a>00437 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00438"></a><a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">00438</a> <span class="keyword">inline</span> Point <a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c" title="Calculate and return centroid.">make_centroid</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00439"></a>00439 {
+<a name="l00440"></a>00440 concept::check_concepts_and_equal_dimensions&lt;Point, const Geometry&gt;();
+<a name="l00441"></a>00441
+<a name="l00442"></a>00442 Point c;
+<a name="l00443"></a>00443 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c);
+<a name="l00444"></a>00444 <span class="keywordflow">return</span> c;
+<a name="l00445"></a>00445 }
+<a name="l00446"></a>00446
+<a name="l00454"></a>00454 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00455"></a><a class="code" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">00455</a> <span class="keyword">inline</span> Point <a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c" title="Calculate and return centroid.">make_centroid</a>(Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00456"></a>00456 {
+<a name="l00457"></a>00457 <span class="comment">//BOOST_CONCEPT_ASSERT( (ggl::concept::CentroidStrategy&lt;Strategy&gt;) );</span>
+<a name="l00458"></a>00458
+<a name="l00459"></a>00459 concept::check_concepts_and_equal_dimensions&lt;Point, const Geometry&gt;();
+<a name="l00460"></a>00460
+<a name="l00461"></a>00461 Point c;
+<a name="l00462"></a>00462 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c, strategy);
+<a name="l00463"></a>00463 <span class="keywordflow">return</span> c;
+<a name="l00464"></a>00464 }
+<a name="l00465"></a>00465
+<a name="l00466"></a>00466 } <span class="comment">// namespace ggl</span>
+<a name="l00467"></a>00467
+<a name="l00468"></a>00468 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry1 , typename Geometry2 &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__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl::convex_hull</a> (Geometry1 const &amp;geometry, Geometry2 &amp;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 Geometry1 , typename Geometry2 , typename Strategy &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#f0167b50b6c00d851aa7ef49cbd938b2">ggl::convex_hull</a> (Geometry1 const &amp;geometry, Geometry2 &amp;out, Strategy const &amp;strategy)</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#g33e400e40f14217ab0239d33fa6def72">ggl::convex_hull_inserter</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, output-iterator version. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">ggl::convex_hull_inserter</a> (Geometry const &amp;geometry, OutputIterator out, Strategy const &amp;strategy)</td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/type_traits/remove_const.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__order_8hpp.html">ggl/core/point_order.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
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2convex__hull_8hpp.html">ggl/strategies/convex_hull.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="convex__hull__concept_8hpp.html">ggl/strategies/concepts/convex_hull_concept.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="as__range_8hpp.html">ggl/util/as_range.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00073"></a>00073 <span class="keyword">namespace </span>ggl {
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a> {
+<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> Geometry,
+<a name="l00081"></a>00081 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00082"></a>00082 <span class="keyword">typename</span> Strategy
+<a name="l00083"></a>00083 &gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>hull_inserter
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// Member template function, to avoid inconvenient declaration</span>
+<a name="l00088"></a>00088 <span class="comment">// of output-iterator-type, from hull_to_geometry</span>
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00090"></a>00090 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00091"></a>00091 OutputIterator out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 strategy.apply(geometry, state);
+<a name="l00096"></a>00096 strategy.result(state, out, Order == <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>);
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> out;
+<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>
+<a name="l00102"></a>00102 &lt;
+<a name="l00103"></a>00103 <span class="keyword">typename</span> Geometry,
+<a name="l00104"></a>00104 <span class="keyword">typename</span> OutputGeometry,
+<a name="l00105"></a>00105 <span class="keyword">typename</span> Strategy
+<a name="l00106"></a>00106 &gt;
+<a name="l00107"></a>00107 <span class="keyword">struct </span>hull_to_geometry
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; geometry, OutputGeometry&amp; out,
+<a name="l00110"></a>00110 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 hull_inserter
+<a name="l00113"></a>00113 &lt;
+<a name="l00114"></a>00114 Geometry,
+<a name="l00115"></a>00115 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;OutputGeometry&gt;::value</a>,
+<a name="l00116"></a>00116 Strategy
+<a name="l00117"></a>00117 &gt;::apply(geometry,
+<a name="l00118"></a>00118 std::back_inserter(
+<a name="l00119"></a>00119 <span class="comment">// Handle both ring and polygon the same:</span>
+<a name="l00120"></a>00120 <a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">ggl::as_range</a>
+<a name="l00121"></a>00121 &lt;
+<a name="l00122"></a>00122 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;OutputGeometry&gt;::type</a>
+<a name="l00123"></a>00123 &gt;(out)), strategy);
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 };
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 }} <span class="comment">// namespace detail::convex_hull</span>
+<a name="l00129"></a>00129 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span>
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keyword">template</span>
+<a name="l00138"></a>00138 &lt;
+<a name="l00139"></a>00139 <span class="keyword">typename</span> Tag1,
+<a name="l00140"></a>00140 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00141"></a>00141 <span class="keyword">typename</span> Geometry,
+<a name="l00142"></a>00142 <span class="keyword">typename</span> Output,
+<a name="l00143"></a>00143 <span class="keyword">typename</span> Strategy
+<a name="l00144"></a>00144 &gt;
+<a name="l00145"></a>00145 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>
+<a name="l00146"></a>00146 : detail::<a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>::hull_to_geometry&lt;Geometry, Output, Strategy&gt;
+<a name="l00147"></a>00147 {};
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span>
+<a name="l00151"></a>00151 &lt;
+<a name="l00152"></a>00152 <span class="keyword">typename</span> GeometryTag,
+<a name="l00153"></a>00153 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00154"></a>00154 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00155"></a>00155 <span class="keyword">typename</span> GeometryIn, <span class="keyword">typename</span> Strategy
+<a name="l00156"></a>00156 &gt;
+<a name="l00157"></a>00157 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">convex_hull_inserter</a>
+<a name="l00158"></a>00158 : detail::<a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>::hull_inserter&lt;GeometryIn, Order, Strategy&gt;
+<a name="l00159"></a>00159 {};
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 } <span class="comment">// namespace dispatch</span>
+<a name="l00163"></a>00163 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00164"></a>00164 <span class="preprocessor"></span>
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <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="l00167"></a><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">00167</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>(Geometry1 <span class="keyword">const</span>&amp; geometry,
+<a name="l00168"></a>00168 Geometry2&amp; out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470" title="Checks, in compile-time, the concept of two geometries, and if they have equal dimensions...">concept::check_concepts_and_equal_dimensions</a>
+<a name="l00171"></a>00171 &lt;
+<a name="l00172"></a>00172 <span class="keyword">const</span> Geometry1,
+<a name="l00173"></a>00173 Geometry2
+<a name="l00174"></a>00174 &gt;();
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_convex_hull_strategy.html" title="Checks strategy for convex_hull.">ggl::concept::ConvexHullStrategy&lt;Strategy&gt;</a>) );
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">dispatch::convex_hull</a>
+<a name="l00180"></a>00180 &lt;
+<a name="l00181"></a>00181 <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="l00182"></a>00182 <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;Geometry1&gt;::type::value</a>,
+<a name="l00183"></a>00183 Geometry1,
+<a name="l00184"></a>00184 Geometry2,
+<a name="l00185"></a>00185 Strategy
+<a name="l00186"></a>00186 &gt;::apply(geometry, out, strategy);
+<a name="l00187"></a>00187 }
+<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> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00199"></a><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">00199</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>(Geometry1 <span class="keyword">const</span>&amp; geometry,
+<a name="l00200"></a>00200 Geometry2&amp; out)
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 <a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470" title="Checks, in compile-time, the concept of two geometries, and if they have equal dimensions...">concept::check_concepts_and_equal_dimensions</a>
+<a name="l00203"></a>00203 &lt;
+<a name="l00204"></a>00204 <span class="keyword">const</span> Geometry1,
+<a name="l00205"></a>00205 Geometry2
+<a name="l00206"></a>00206 &gt;();
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 <span class="comment">//typedef typename range_type&lt;Geometry1&gt;::type range_type;</span>
+<a name="l00209"></a>00209 <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> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<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_1strategy__convex__hull.html" title="Traits class binding a convex hull calculation strategy to a coordinate system.">strategy_convex_hull</a>
+<a name="l00212"></a>00212 &lt;
+<a name="l00213"></a>00213 <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="l00214"></a>00214 Geometry1,
+<a name="l00215"></a>00215 point_type
+<a name="l00216"></a>00216 &gt;::type strategy_type;
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a>(geometry, out, strategy_type());
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00223"></a><a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">00223</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">convex_hull_inserter</a>(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00224"></a>00224 OutputIterator out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226 <span class="comment">// Concept: output point type = point type of input geometry</span>
+<a name="l00227"></a>00227 concept::check&lt;const Geometry&gt;();
+<a name="l00228"></a>00228 concept::check&lt;typename point_type&lt;Geometry&gt;::type&gt;();
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_convex_hull_strategy.html" title="Checks strategy for convex_hull.">ggl::concept::ConvexHullStrategy&lt;Strategy&gt;</a>) );
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">dispatch::convex_hull_inserter</a>
+<a name="l00233"></a>00233 &lt;
+<a name="l00234"></a>00234 <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="l00235"></a>00235 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
+<a name="l00236"></a>00236 <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="l00237"></a>00237 Geometry, Strategy
+<a name="l00238"></a>00238 &gt;::apply(geometry, out, strategy);
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241
+<a name="l00255"></a>00255 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00256"></a><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">00256</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">convex_hull_inserter</a>(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00257"></a>00257 OutputIterator out)
+<a name="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="comment">// Concept: output point type = point type of input geometry</span>
+<a name="l00260"></a>00260 concept::check&lt;const Geometry&gt;();
+<a name="l00261"></a>00261 concept::check&lt;typename point_type&lt;Geometry&gt;::type&gt;();
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">range_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">range_type</a>;
+<a name="l00264"></a>00264 <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="l00265"></a>00265
+<a name="l00266"></a>00266 <span class="keyword">typedef</span> <span class="keyword">typename</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="l00267"></a>00267 &lt;
+<a name="l00268"></a>00268 <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="l00269"></a>00269 Geometry,
+<a name="l00270"></a>00270 point_type
+<a name="l00271"></a>00271 &gt;::type strategy_type;
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">convex_hull_inserter</a>(geometry, out, strategy_type());
+<a name="l00274"></a>00274 }
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 } <span class="comment">// namespace ggl</span>
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl::correct</a> (Geometry &amp;geometry)</td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;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;functional&gt;</span>
+<a name="l00015"></a>00015
+<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="cs_8hpp.html">ggl/core/cs.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="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
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>&gt;</span>
+<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="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {
+<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> Box, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>correct_box_loop
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (get&lt;min_corner, Dimension&gt;(box) &gt; get&lt;max_corner, Dimension&gt;(box))
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="comment">// Swap the coordinates</span>
+<a name="l00047"></a>00047 coordinate_type max_value = get&lt;min_corner, Dimension&gt;(box);
+<a name="l00048"></a>00048 coordinate_type min_value = get&lt;max_corner, Dimension&gt;(box);
+<a name="l00049"></a>00049 set&lt;min_corner, Dimension&gt;(box, min_value);
+<a name="l00050"></a>00050 set&lt;max_corner, Dimension&gt;(box, max_value);
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 correct_box_loop
+<a name="l00054"></a>00054 &lt;
+<a name="l00055"></a>00055 Box, Dimension + 1, DimensionCount
+<a name="l00056"></a>00056 &gt;::apply(box);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span>correct_box_loop&lt;Box, DimensionCount, DimensionCount&gt;
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00066"></a>00066 {}
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// correct an box: make min/max are correct</span>
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>correct_box
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="comment">// Currently only for Cartesian coordinates</span>
+<a name="l00079"></a>00079 <span class="comment">// TODO: adapt using strategies</span>
+<a name="l00080"></a>00080 correct_box_loop
+<a name="l00081"></a>00081 &lt;
+<a name="l00082"></a>00082 Box, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00083"></a>00083 &gt;::apply(box);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="comment">// close a linear_ring, if not closed</span>
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Predicate&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>correct_ring
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Ring&gt;::type point_type;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_area
+<a name="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00097"></a>00097 point_type
+<a name="l00098"></a>00098 &gt;::type strategy_type;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> detail::area::ring_area
+<a name="l00101"></a>00101 &lt;
+<a name="l00102"></a>00102 Ring,
+<a name="l00103"></a>00103 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Ring&gt;::value</a>,
+<a name="l00104"></a>00104 strategy_type
+<a name="l00105"></a>00105 &gt; ring_area_type;
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring&amp; r)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Check close-ness</span>
+<a name="l00111"></a>00111 <span class="keywordflow">if</span> (boost::size(r) &gt; 2)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="comment">// check if closed, if not, close it</span>
+<a name="l00114"></a>00114 <span class="keywordflow">if</span> (<a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(r.front(), r.back()))
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 r.push_back(r.front());
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 <span class="comment">// Check area</span>
+<a name="l00120"></a>00120 Predicate predicate;
+<a name="l00121"></a>00121 <span class="keywordflow">if</span> (predicate(ring_area_type::apply(r, strategy_type()), 0))
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 std::reverse(boost::begin(r), boost::end(r));
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// correct a polygon: normalizes all rings, sets outer linear_ring clockwise, sets all</span>
+<a name="l00129"></a>00129 <span class="comment">// inner rings counter clockwise</span>
+<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span>correct_polygon
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon&amp; poly)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 correct_ring&lt;ring_type, std::less&lt;double&gt; &gt;::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00140"></a>00140 &lt;
+<a name="l00141"></a>00141 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00142"></a>00142 &gt;::type iterator_type;
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00145"></a>00145 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 correct_ring&lt;ring_type, std::greater&lt;double&gt; &gt;::apply(*it);
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 };
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 }} <span class="comment">// namespace detail::correct</span>
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span>
+<a name="l00156"></a>00156 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {};
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>&lt;box_tag, Box&gt;
+<a name="l00165"></a>00165 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_box&lt;Box&gt;
+<a name="l00166"></a>00166 {};
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00169"></a>00169 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>&lt;ring_tag, Ring&gt;
+<a name="l00170"></a>00170 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_ring&lt;Ring, std::less&lt;double&gt; &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> Polygon&gt;
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>&lt;polygon_tag, Polygon&gt;
+<a name="l00175"></a>00175 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_polygon&lt;Polygon&gt;
+<a name="l00176"></a>00176 {};
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 } <span class="comment">// namespace dispatch</span>
+<a name="l00180"></a>00180 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span>
+<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00183"></a><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">00183</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(Geometry&amp; geometry)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 concept::check&lt;const Geometry&gt;();
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 dispatch::correct&lt;typename tag&lt;Geometry&gt;::type, Geometry&gt;::apply(geometry);
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 } <span class="comment">// namespace ggl</span>
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="preprocessor">#endif // GGL_ALGORITHMS_CORRECT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00058"></a>00058 <span class="keyword">namespace </span>ggl
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00062"></a>00062 <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="l00063"></a>00063
+<a name="l00064"></a>00064 <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="l00065"></a>00065 <span class="keyword">struct </span>point_to_point
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <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="l00068"></a>00068 P2 <span class="keyword">const</span>&amp; p2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> strategy.apply(p1, p2);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">template</span>&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="l00076"></a>00076 <span class="keyword">struct </span>point_to_segment
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <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="l00079"></a>00079 Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typename</span> strategy_distance_segment
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 <span class="keyword">typename</span> cs_tag&lt;Point&gt;::type,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> cs_tag&lt;Segment&gt;::type,
+<a name="l00085"></a>00085 Point,
+<a name="l00086"></a>00086 <span class="keyword">typename</span> point_type&lt;Segment&gt;::type
+<a name="l00087"></a>00087 &gt;::type segment_strategy;
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> segment_strategy.apply(point, segment.first, segment.second);
+<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="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="l00095"></a>00095 <span class="keyword">struct </span>point_to_linestring
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> PPStrategy::return_type return_type;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <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="l00100"></a>00100 PPStrategy <span class="keyword">const</span>&amp; pp_strategy, PSStrategy <span class="keyword">const</span>&amp; ps_strategy)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> segment&lt;const typename point_type&lt;L&gt;::type&gt; segment_type;
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (boost::begin(linestring) == boost::end(linestring))
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> return_type(0);
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// line of one point: return point square_distance</span>
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;L&gt;::type iterator_type;
+<a name="l00111"></a>00111 iterator_type it = boost::begin(linestring);
+<a name="l00112"></a>00112 iterator_type prev = it++;
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (it == boost::end(linestring))
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> pp_strategy.apply(point, *boost::begin(linestring));
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="comment">// start with first segment distance</span>
+<a name="l00120"></a>00120 return_type d = ps_strategy.apply(point, *prev, *it);
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="comment">// check if other segments are closer</span>
+<a name="l00123"></a>00123 prev = it++;
+<a name="l00124"></a>00124 <span class="keywordflow">while</span>(it != boost::end(linestring))
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 return_type ds = ps_strategy.apply(point, *prev, *it);
+<a name="l00127"></a>00127 <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="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keywordflow">return</span> return_type(0);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ds &lt; d)
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 d = ds;
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135 prev = it++;
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="keywordflow">return</span> d;
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 }} <span class="comment">// namespace detail::distance</span>
+<a name="l00145"></a>00145 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151
+<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> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00155"></a>00155 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00156"></a>00156 <span class="keyword">typename</span> StrategyTag, <span class="keyword">typename</span> Strategy,
+<a name="l00157"></a>00157 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2
+<a name="l00158"></a>00158 &gt;
+<a name="l00159"></a>00159 <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="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> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00164"></a>00164 <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="l00165"></a>00165 &lt;
+<a name="l00166"></a>00166 point_tag, point_tag,
+<a name="l00167"></a>00167 P1, P2,
+<a name="l00168"></a>00168 strategy_tag_distance_point_point, Strategy,
+<a name="l00169"></a>00169 false, false
+<a name="l00170"></a>00170 &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="l00171"></a>00171 {};
+<a name="l00172"></a>00172
+<a name="l00174"></a>00174 <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="l00175"></a>00175 <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="l00176"></a>00176 &lt;
+<a name="l00177"></a>00177 point_tag, linestring_tag,
+<a name="l00178"></a>00178 Point, Linestring,
+<a name="l00179"></a>00179 strategy_tag_distance_point_point, Strategy,
+<a name="l00180"></a>00180 false, false
+<a name="l00181"></a>00181 &gt;
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <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="l00185"></a>00185 Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00186"></a>00186 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188 <span class="comment">//typedef segment&lt;const &gt; segment_type;</span>
+<a name="l00189"></a>00189 <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="l00190"></a>00190 &lt;
+<a name="l00191"></a>00191 <span class="keyword">typename</span> cs_tag&lt;Point&gt;::type,
+<a name="l00192"></a>00192 <span class="keyword">typename</span> cs_tag&lt;Linestring&gt;::type,
+<a name="l00193"></a>00193 Point,
+<a name="l00194"></a>00194 <span class="keyword">typename</span> point_type&lt;Linestring&gt;::type
+<a name="l00195"></a>00195 &gt;::type ps_strategy_type;
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> detail::distance::point_to_linestring
+<a name="l00198"></a>00198 &lt;
+<a name="l00199"></a>00199 Point, Linestring, Strategy, ps_strategy_type
+<a name="l00200"></a>00200 &gt;::apply(point, linestring, strategy, ps_strategy_type());
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 };
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204
+<a name="l00206"></a>00206 <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="l00207"></a>00207 <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="l00208"></a>00208 &lt;
+<a name="l00209"></a>00209 point_tag, linestring_tag,
+<a name="l00210"></a>00210 Point, Linestring,
+<a name="l00211"></a>00211 strategy_tag_distance_point_segment, Strategy,
+<a name="l00212"></a>00212 false, false
+<a name="l00213"></a>00213 &gt;
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <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="l00216"></a>00216 Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00217"></a>00217 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_strategy_type pp_strategy_type;
+<a name="l00220"></a>00220 <span class="keywordflow">return</span> detail::distance::point_to_linestring
+<a name="l00221"></a>00221 &lt;
+<a name="l00222"></a>00222 Point, Linestring, pp_strategy_type, Strategy
+<a name="l00223"></a>00223 &gt;::apply(point, linestring, pp_strategy_type(), strategy);
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225 };
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <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="l00229"></a>00229 <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="l00230"></a>00230 &lt;
+<a name="l00231"></a>00231 point_tag, segment_tag,
+<a name="l00232"></a>00232 Point, Segment,
+<a name="l00233"></a>00233 strategy_tag_distance_point_point, Strategy,
+<a name="l00234"></a>00234 false, false
+<a name="l00235"></a>00235 &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="l00236"></a>00236 {};
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="comment">// Strictly spoken this might be in namespace &lt;impl&gt; again</span>
+<a name="l00240"></a>00240 <span class="keyword">template</span>
+<a name="l00241"></a>00241 &lt;
+<a name="l00242"></a>00242 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00243"></a>00243 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00244"></a>00244 <span class="keyword">typename</span> StrategyTag, <span class="keyword">typename</span> Strategy,
+<a name="l00245"></a>00245 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2
+<a name="l00246"></a>00246 &gt;
+<a name="l00247"></a>00247 <span class="keyword">struct </span>distance_reversed
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 <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="l00250"></a>00250 G2 <span class="keyword">const</span>&amp; g2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00251"></a>00251 {
+<a name="l00252"></a>00252 <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="l00253"></a>00253 &lt;
+<a name="l00254"></a>00254 GeometryTag2, GeometryTag1,
+<a name="l00255"></a>00255 G2, G1,
+<a name="l00256"></a>00256 StrategyTag, Strategy,
+<a name="l00257"></a>00257 IsMulti2, IsMulti1
+<a name="l00258"></a>00258 &gt;::apply(g2, g1, strategy);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 };
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 } <span class="comment">// namespace dispatch</span>
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00264"></a>00264 <span class="preprocessor"></span>
+<a name="l00284"></a>00284 <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="l00285"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b">00285</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="l00286"></a>00286 Geometry2 <span class="keyword">const</span>&amp; geometry2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00287"></a>00287 {
+<a name="l00288"></a>00288 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00289"></a>00289 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00292"></a>00292 &lt;
+<a name="l00293"></a>00293 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00294"></a>00294 dispatch::distance_reversed
+<a name="l00295"></a>00295 &lt;
+<a name="l00296"></a>00296 <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="l00297"></a>00297 <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="l00298"></a>00298 ncg1_type,
+<a name="l00299"></a>00299 ncg2_type,
+<a name="l00300"></a>00300 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__tag__unknown.html">strategy_tag&lt;Strategy&gt;::type</a>,
+<a name="l00301"></a>00301 Strategy,
+<a name="l00302"></a>00302 <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="l00303"></a>00303 <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="l00304"></a>00304 &gt;,
+<a name="l00305"></a>00305 <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+<a name="l00306"></a>00306 &lt;
+<a name="l00307"></a>00307 <span class="keyword">typename</span> tag&lt;ncg1_type&gt;::type,
+<a name="l00308"></a>00308 <span class="keyword">typename</span> tag&lt;ncg2_type&gt;::type,
+<a name="l00309"></a>00309 ncg1_type,
+<a name="l00310"></a>00310 ncg2_type,
+<a name="l00311"></a>00311 <span class="keyword">typename</span> strategy_tag&lt;Strategy&gt;::type,
+<a name="l00312"></a>00312 Strategy,
+<a name="l00313"></a>00313 is_multi&lt;ncg1_type&gt;::value,
+<a name="l00314"></a>00314 is_multi&lt;ncg2_type&gt;::value
+<a name="l00315"></a>00315 &gt;
+<a name="l00316"></a>00316 &gt;::type::apply(geometry1, geometry2, strategy);
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319
+<a name="l00330"></a>00330 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00331"></a><a class="code" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">00331</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="l00332"></a>00332 Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00333"></a>00333 {
+<a name="l00334"></a>00334 concept::check&lt;const Geometry1&gt;();
+<a name="l00335"></a>00335 concept::check&lt;const Geometry2&gt;();
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <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="l00338"></a>00338 <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="l00339"></a>00339
+<a name="l00340"></a>00340 <span class="comment">// Define a point-point-distance-strategy</span>
+<a name="l00341"></a>00341 <span class="comment">// for either the normal case, either the reversed case</span>
+<a name="l00342"></a>00342 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00343"></a>00343 &lt;
+<a name="l00344"></a>00344 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00345"></a>00345 <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="l00346"></a>00346 &lt;
+<a name="l00347"></a>00347 <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="l00348"></a>00348 <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="l00349"></a>00349 point2_type,
+<a name="l00350"></a>00350 point1_type
+<a name="l00351"></a>00351 &gt;::type,
+<a name="l00352"></a>00352 <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="l00353"></a>00353 &lt;
+<a name="l00354"></a>00354 <span class="keyword">typename</span> cs_tag&lt;point1_type&gt;::type,
+<a name="l00355"></a>00355 <span class="keyword">typename</span> cs_tag&lt;point2_type&gt;::type,
+<a name="l00356"></a>00356 point1_type,
+<a name="l00357"></a>00357 point2_type
+<a name="l00358"></a>00358 &gt;::type
+<a name="l00359"></a>00359 &gt;::type strategy;
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361 <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="l00362"></a>00362 }
+<a name="l00363"></a>00363
+<a name="l00364"></a>00364 } <span class="comment">// namespace ggl</span>
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , typename Box &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#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl::envelope</a> (Geometry const &amp;geometry, Box &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 Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl::make_envelope</a> (Geometry const &amp;geometry)</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/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/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="combine_8hpp.html">ggl/algorithms/combine.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<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="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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00059"></a>00059 <span class="keyword">namespace </span>ggl
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="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__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a> {
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00067"></a>00067 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>envelope_combine_one
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; geometry, Box&amp; mbr)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(mbr);
+<a name="l00073"></a>00073 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, geometry);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00079"></a>00079 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box&gt;
+<a name="l00080"></a>00080 <span class="keyword">inline</span> <span class="keywordtype">void</span> envelope_range_additional(Range <span class="keyword">const</span>&amp; range, Box&amp; mbr)
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
+<a name="l00085"></a>00085 it != boost::end(range);
+<a name="l00086"></a>00086 ++it)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, *it);
+<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="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box&gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span>envelope_range
+<a name="l00097"></a>00097 {
+<a name="l00099"></a>00099 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>&amp; range, Box&amp; mbr)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(mbr);
+<a name="l00102"></a>00102 envelope_range_additional(range, mbr);
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 }} <span class="comment">// namespace detail::envelope</span>
+<a name="l00107"></a>00107 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span>
+<a name="l00109"></a>00109 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="comment">// Note, the strategy is for future use (less/greater -&gt; compare spherical</span>
+<a name="l00115"></a>00115 <span class="comment">// using other methods), defaults are OK for now.</span>
+<a name="l00116"></a>00116 <span class="comment">// However, they are already in the template methods</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">template</span>
+<a name="l00119"></a>00119 &lt;
+<a name="l00120"></a>00120 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
+<a name="l00121"></a>00121 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box,
+<a name="l00122"></a>00122 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00123"></a>00123 &gt;
+<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a> {};
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="keyword">template</span>
+<a name="l00128"></a>00128 &lt;
+<a name="l00129"></a>00129 <span class="keyword">typename</span> Point, <span class="keyword">typename</span> Box,
+<a name="l00130"></a>00130 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00131"></a>00131 &gt;
+<a name="l00132"></a>00132 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00133"></a>00133 &lt;
+<a name="l00134"></a>00134 point_tag, box_tag,
+<a name="l00135"></a>00135 Point, Box,
+<a name="l00136"></a>00136 StrategyLess, StrategyGreater
+<a name="l00137"></a>00137 &gt;
+<a name="l00138"></a>00138 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_combine_one&lt;Point, Box&gt;
+<a name="l00139"></a>00139 {};
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span>
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 <span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut,
+<a name="l00145"></a>00145 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00146"></a>00146 &gt;
+<a name="l00147"></a>00147 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00148"></a>00148 &lt;
+<a name="l00149"></a>00149 box_tag, box_tag,
+<a name="l00150"></a>00150 BoxIn, BoxOut,
+<a name="l00151"></a>00151 StrategyLess, StrategyGreater
+<a name="l00152"></a>00152 &gt;
+<a name="l00153"></a>00153 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_combine_one&lt;BoxIn, BoxOut&gt;
+<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>
+<a name="l00158"></a>00158 &lt;
+<a name="l00159"></a>00159 <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Box,
+<a name="l00160"></a>00160 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00161"></a>00161 &gt;
+<a name="l00162"></a>00162 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00163"></a>00163 &lt;
+<a name="l00164"></a>00164 segment_tag, box_tag,
+<a name="l00165"></a>00165 Segment, Box,
+<a name="l00166"></a>00166 StrategyLess, StrategyGreater
+<a name="l00167"></a>00167 &gt;
+<a name="l00168"></a>00168 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_combine_one&lt;Segment, Box&gt;
+<a name="l00169"></a>00169 {};
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keyword">template</span>
+<a name="l00173"></a>00173 &lt;
+<a name="l00174"></a>00174 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
+<a name="l00175"></a>00175 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00176"></a>00176 &gt;
+<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00178"></a>00178 &lt;
+<a name="l00179"></a>00179 linestring_tag, box_tag,
+<a name="l00180"></a>00180 Linestring, Box,
+<a name="l00181"></a>00181 StrategyLess, StrategyGreater
+<a name="l00182"></a>00182 &gt;
+<a name="l00183"></a>00183 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_range&lt;Linestring, Box&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>
+<a name="l00188"></a>00188 &lt;
+<a name="l00189"></a>00189 <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Box,
+<a name="l00190"></a>00190 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00191"></a>00191 &gt;
+<a name="l00192"></a>00192 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00193"></a>00193 &lt;
+<a name="l00194"></a>00194 ring_tag, box_tag,
+<a name="l00195"></a>00195 Ring, Box,
+<a name="l00196"></a>00196 StrategyLess, StrategyGreater
+<a name="l00197"></a>00197 &gt;
+<a name="l00198"></a>00198 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_range&lt;Ring, Box&gt;
+<a name="l00199"></a>00199 {};
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <span class="keyword">template</span>
+<a name="l00203"></a>00203 &lt;
+<a name="l00204"></a>00204 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00205"></a>00205 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00206"></a>00206 &gt;
+<a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>
+<a name="l00208"></a>00208 &lt;
+<a name="l00209"></a>00209 polygon_tag, box_tag,
+<a name="l00210"></a>00210 Polygon, Box,
+<a name="l00211"></a>00211 StrategyLess, StrategyGreater
+<a name="l00212"></a>00212 &gt;
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; poly, Box&amp; mbr)
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <span class="comment">// For polygon, inspecting outer ring is sufficient</span>
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 detail::envelope::envelope_range
+<a name="l00219"></a>00219 &lt;
+<a name="l00220"></a>00220 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00221"></a>00221 Box
+<a name="l00222"></a>00222 &gt;::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), mbr);
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 };
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 } <span class="comment">// namespace dispatch</span>
+<a name="l00229"></a>00229 <span class="preprocessor">#endif</span>
+<a name="l00230"></a>00230 <span class="preprocessor"></span>
+<a name="l00231"></a>00231
+<a name="l00244"></a>00244 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box&gt;
+<a name="l00245"></a><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67">00245</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>(Geometry <span class="keyword">const</span>&amp; geometry, Box&amp; mbr)
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 concept::check&lt;const Geometry&gt;();
+<a name="l00248"></a>00248 concept::check&lt;Box&gt;();
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250 <a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">dispatch::envelope</a>
+<a name="l00251"></a>00251 &lt;
+<a name="l00252"></a>00252 <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>, <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;Box&gt;::type</a>,
+<a name="l00253"></a>00253 Geometry, Box,
+<a name="l00254"></a>00254 void, <span class="keywordtype">void</span>
+<a name="l00255"></a>00255 &gt;::apply(geometry, mbr);
+<a name="l00256"></a>00256 }
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258
+<a name="l00264"></a>00264 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00265"></a><a class="code" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">00265</a> <span class="keyword">inline</span> Box <a class="code" href="group__envelope.html#gb8343582b49458d16bca165b493f678d" title="Calculate and return envelope of a geometry.">make_envelope</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00266"></a>00266 {
+<a name="l00267"></a>00267 concept::check&lt;const Geometry&gt;();
+<a name="l00268"></a>00268 concept::check&lt;Box&gt;();
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 Box mbr;
+<a name="l00271"></a>00271 <a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">dispatch::envelope</a>
+<a name="l00272"></a>00272 &lt;
+<a name="l00273"></a>00273 <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>, <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;Box&gt;::type</a>,
+<a name="l00274"></a>00274 Geometry, Box,
+<a name="l00275"></a>00275 void, <span class="keywordtype">void</span>
+<a name="l00276"></a>00276 &gt;::apply(geometry, mbr);
+<a name="l00277"></a>00277 <span class="keywordflow">return</span> mbr;
+<a name="l00278"></a>00278 }
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280 } <span class="comment">// namespace ggl</span>
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#66bf40f0ee4dc883d9d3b621aeb2e81d">ggl::for_each_point</a> (Geometry &amp;geometry, Functor 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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f">ggl::for_each_point</a> (Geometry const &amp;geometry, Functor 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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#529f5655aa7702e9f143263b484ff91b">ggl::for_each_segment</a> (Geometry &amp;geometry, Functor 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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e">ggl::for_each_segment</a> (Geometry const &amp;geometry, Functor 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00020"></a>00020 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="add__const__if__c_8hpp.html">ggl/util/add_const_if_c.hpp</a>&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="range__iterator__const__if__c_8hpp.html">ggl/util/range_iterator_const_if_c.hpp</a>&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>ggl
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span>fe_point_per_point
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00046"></a>00046 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Point&gt;::type&amp; point, Functor f)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 f(point);
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> f;
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>fe_point_per_segment
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00058"></a>00058 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Point&gt;::type&amp; point, Functor f)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> f;
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>fe_range_per_point
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00069"></a>00069 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Range&gt;::type&amp; range,
+<a name="l00070"></a>00070 Functor f)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span>fe_range_per_segment
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00081"></a>00081 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Range&gt;::type&amp; range,
+<a name="l00082"></a>00082 Functor f)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_iterator_const_if_c
+<a name="l00085"></a>00085 &lt;
+<a name="l00086"></a>00086 IsConst,
+<a name="l00087"></a>00087 Range
+<a name="l00088"></a>00088 &gt;::type iterator_type;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> add_const_if_c
+<a name="l00091"></a>00091 &lt;
+<a name="l00092"></a>00092 IsConst,
+<a name="l00093"></a>00093 <span class="keyword">typename</span> point_type&lt;Range&gt;::type
+<a name="l00094"></a>00094 &gt;::type point_type;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 iterator_type it = boost::begin(range);
+<a name="l00097"></a>00097 iterator_type previous = it++;
+<a name="l00098"></a>00098 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 segment&lt;point_type&gt; s(*previous, *it);
+<a name="l00101"></a>00101 f(s);
+<a name="l00102"></a>00102 previous = it++;
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> f;
+<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> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00111"></a>00111 <span class="keyword">struct </span>fe_polygon_per_point
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00114"></a>00114 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Polygon&gt;::type&amp; poly,
+<a name="l00115"></a>00115 Functor f)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_iterator_const_if_c
+<a name="l00118"></a>00118 &lt;
+<a name="l00119"></a>00119 IsConst,
+<a name="l00120"></a>00120 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00121"></a>00121 &gt;::type iterator_type;
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">typedef</span> fe_range_per_point
+<a name="l00124"></a>00124 &lt;
+<a name="l00125"></a>00125 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00126"></a>00126 Functor,
+<a name="l00127"></a>00127 IsConst
+<a name="l00128"></a>00128 &gt; per_ring;
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 f = per_ring::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" 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#gaee58ea9a166a2ca07597daf34433d7f" 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#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00134"></a>00134 ++it)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 f = per_ring::apply(*it, f);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keywordflow">return</span> f;
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00146"></a>00146 <span class="keyword">struct </span>fe_polygon_per_segment
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00149"></a>00149 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Polygon&gt;::type&amp; poly,
+<a name="l00150"></a>00150 Functor f)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_iterator_const_if_c
+<a name="l00153"></a>00153 &lt;
+<a name="l00154"></a>00154 IsConst,
+<a name="l00155"></a>00155 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00156"></a>00156 &gt;::type iterator_type;
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">typedef</span> fe_range_per_segment
+<a name="l00159"></a>00159 &lt;
+<a name="l00160"></a>00160 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00161"></a>00161 Functor,
+<a name="l00162"></a>00162 IsConst
+<a name="l00163"></a>00163 &gt; per_ring;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 f = per_ring::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00168"></a>00168 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00169"></a>00169 ++it)
+<a name="l00170"></a>00170 {
+<a name="l00171"></a>00171 f = per_ring::apply(*it, f);
+<a name="l00172"></a>00172 }
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> f;
+<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 }} <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>
+<a name="l00189"></a>00189 &lt;
+<a name="l00190"></a>00190 <span class="keyword">typename</span> Tag,
+<a name="l00191"></a>00191 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00192"></a>00192 <span class="keyword">typename</span> Geometry,
+<a name="l00193"></a>00193 <span class="keyword">typename</span> Functor,
+<a name="l00194"></a>00194 <span class="keywordtype">bool</span> IsConst
+<a name="l00195"></a>00195 &gt;
+<a name="l00196"></a>00196 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a> {};
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00200"></a>00200 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;point_tag, false, Point, Functor, IsConst&gt;
+<a name="l00201"></a>00201 : detail::for_each::fe_point_per_point&lt;Point, Functor, IsConst&gt;
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;linestring_tag, false, Linestring, Functor, IsConst&gt;
+<a name="l00207"></a>00207 : detail::for_each::fe_range_per_point&lt;Linestring, Functor, IsConst&gt;
+<a name="l00208"></a>00208 {};
+<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> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;ring_tag, false, Ring, Functor, IsConst&gt;
+<a name="l00213"></a>00213 : detail::for_each::fe_range_per_point&lt;Ring, Functor, IsConst&gt;
+<a name="l00214"></a>00214 {};
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00218"></a>00218 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;polygon_tag, false, Polygon, Functor, IsConst&gt;
+<a name="l00219"></a>00219 : detail::for_each::fe_polygon_per_point&lt;Polygon, Functor, IsConst&gt;
+<a name="l00220"></a>00220 {};
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keyword">template</span>
+<a name="l00224"></a>00224 &lt;
+<a name="l00225"></a>00225 <span class="keyword">typename</span> Tag,
+<a name="l00226"></a>00226 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00227"></a>00227 <span class="keyword">typename</span> Geometry,
+<a name="l00228"></a>00228 <span class="keyword">typename</span> Functor,
+<a name="l00229"></a>00229 <span class="keywordtype">bool</span> IsConst
+<a name="l00230"></a>00230 &gt;
+<a name="l00231"></a>00231 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a> {};
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00234"></a>00234 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;point_tag, false, Point, Functor, IsConst&gt;
+<a name="l00235"></a>00235 : detail::for_each::fe_point_per_segment&lt;Point, Functor, IsConst&gt;
+<a name="l00236"></a>00236 {};
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;linestring_tag, false, Linestring, Functor, IsConst&gt;
+<a name="l00241"></a>00241 : detail::for_each::fe_range_per_segment&lt;Linestring, Functor, IsConst&gt;
+<a name="l00242"></a>00242 {};
+<a name="l00243"></a>00243
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00246"></a>00246 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;ring_tag, false, Ring, Functor, IsConst&gt;
+<a name="l00247"></a>00247 : detail::for_each::fe_range_per_segment&lt;Ring, Functor, IsConst&gt;
+<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> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00252"></a>00252 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;polygon_tag, false, Polygon, Functor, IsConst&gt;
+<a name="l00253"></a>00253 : detail::for_each::fe_polygon_per_segment&lt;Polygon, Functor, IsConst&gt;
+<a name="l00254"></a>00254 {};
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 } <span class="comment">// namespace dispatch</span>
+<a name="l00258"></a>00258 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00259"></a>00259 <span class="preprocessor"></span>
+<a name="l00260"></a>00260
+<a name="l00268"></a>00268 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00269"></a><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f">00269</a> <span class="keyword">inline</span> Functor <a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry <span class="keyword">const</span>&amp; geometry, Functor f)
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 concept::check&lt;const Geometry&gt;();
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00274"></a>00274 &lt;
+<a name="l00275"></a>00275 <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="l00276"></a>00276 <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="l00277"></a>00277 Geometry,
+<a name="l00278"></a>00278 Functor,
+<a name="l00279"></a>00279 <span class="keyword">true</span>
+<a name="l00280"></a>00280 &gt;::apply(geometry, f);
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283
+<a name="l00291"></a>00291 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00292"></a><a class="code" href="namespaceggl.html#66bf40f0ee4dc883d9d3b621aeb2e81d">00292</a> <span class="keyword">inline</span> Functor <a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry&amp; geometry, Functor f)
+<a name="l00293"></a>00293 {
+<a name="l00294"></a>00294 concept::check&lt;Geometry&gt;();
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00297"></a>00297 &lt;
+<a name="l00298"></a>00298 <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="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;Geometry&gt;::type::value</a>,
+<a name="l00300"></a>00300 Geometry,
+<a name="l00301"></a>00301 Functor,
+<a name="l00302"></a>00302 <span class="keyword">false</span>
+<a name="l00303"></a>00303 &gt;::apply(geometry, f);
+<a name="l00304"></a>00304 }
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306
+<a name="l00315"></a>00315 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00316"></a><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e">00316</a> <span class="keyword">inline</span> Functor <a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry <span class="keyword">const</span>&amp; geometry, Functor f)
+<a name="l00317"></a>00317 {
+<a name="l00318"></a>00318 concept::check&lt;const Geometry&gt;();
+<a name="l00319"></a>00319
+<a name="l00320"></a>00320 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00321"></a>00321 &lt;
+<a name="l00322"></a>00322 <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="l00323"></a>00323 <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="l00324"></a>00324 Geometry,
+<a name="l00325"></a>00325 Functor,
+<a name="l00326"></a>00326 <span class="keyword">true</span>
+<a name="l00327"></a>00327 &gt;::apply(geometry, f);
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330
+<a name="l00338"></a>00338 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00339"></a><a class="code" href="namespaceggl.html#529f5655aa7702e9f143263b484ff91b">00339</a> <span class="keyword">inline</span> Functor <a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry&amp; geometry, Functor f)
+<a name="l00340"></a>00340 {
+<a name="l00341"></a>00341 concept::check&lt;Geometry&gt;();
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="keywordflow">return</span> <a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00344"></a>00344 &lt;
+<a name="l00345"></a>00345 <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="l00346"></a>00346 <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="l00347"></a>00347 Geometry,
+<a name="l00348"></a>00348 Functor,
+<a name="l00349"></a>00349 <span class="keyword">false</span>
+<a name="l00350"></a>00350 &gt;::apply(geometry, f);
+<a name="l00351"></a>00351 }
+<a name="l00352"></a>00352
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354 } <span class="comment">// namespace ggl</span>
+<a name="l00355"></a>00355
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#g8c12093b8b10102bd3458b0603c31df6">ggl::get_section</a> (Geometry const &amp;geometry, Section const &amp;section, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &gt;::type &amp;begin, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/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="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
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<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
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6" title="Get iterators for a specified section.">get_section</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;Geometry&gt;::type</a>
+<a name="l00041"></a>00041 &gt;::type iterator_type;
+<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> apply(Geometry <span class="keyword">const</span>&amp; geometry, Section <span class="keyword">const</span>&amp; section,
+<a name="l00044"></a>00044 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 begin = boost::begin(geometry) + section.begin_index;
+<a name="l00047"></a>00047 end = boost::begin(geometry) + section.end_index + 1;
+<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> Polygon, <span class="keyword">typename</span> Section&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6" title="Get iterators for a specified section.">get_section</a>&lt;polygon_tag, Polygon, Section&gt;
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00055"></a>00055 &lt;
+<a name="l00056"></a>00056 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;Polygon&gt;::type</a>
+<a name="l00057"></a>00057 &gt;::type iterator_type;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <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="l00060"></a>00060 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <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="l00063"></a>00063 ring_type <span class="keyword">const</span>&amp; ring = section.ring_index &lt; 0
+<a name="l00064"></a>00064 ? <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00065"></a>00065 : ggl::<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[section.ring_index];
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 begin = boost::begin(ring) + section.begin_index;
+<a name="l00068"></a>00068 end = boost::begin(ring) + section.end_index + 1;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 };
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace dispatch</span>
+<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
+<a name="l00077"></a>00077
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section&gt;
+<a name="l00091"></a><a class="code" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6">00091</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6" 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="l00092"></a>00092 <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00093"></a>00093 &lt;
+<a name="l00094"></a>00094 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;Geometry&gt;::type</a>
+<a name="l00095"></a>00095 &gt;::type&amp; begin,
+<a name="l00096"></a>00096 <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00097"></a>00097 &lt;
+<a name="l00098"></a>00098 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;Geometry&gt;::type</a>
+<a name="l00099"></a>00099 &gt;::type&amp; end)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 concept::check&lt;const Geometry&gt;();
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <a class="code" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6" title="Get iterators for a specified section.">dispatch::get_section</a>
+<a name="l00104"></a>00104 &lt;
+<a name="l00105"></a>00105 <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="l00106"></a>00106 Geometry,
+<a name="l00107"></a>00107 Section
+<a name="l00108"></a>00108 &gt;::apply(geometry, section, begin, end);
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace ggl</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">ggl::intersection_inserter</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. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="clip__linestring_8hpp.html">ggl/algorithms/overlay/clip_linestring.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="assemble_8hpp.html">ggl/algorithms/overlay/assemble.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00075"></a>00075 <span class="keyword">namespace </span>ggl
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>overlay {
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="comment">// Specializations for "take_one" for intersection</span>
+<a name="l00085"></a>00085 <span class="comment">// "one" should be the inner one</span>
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// for ring and box</span>
+<a name="l00088"></a>00088 <span class="keyword">template</span>
+<a name="l00089"></a>00089 &lt;
+<a name="l00090"></a>00090 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Geometry1,
+<a name="l00091"></a>00091 <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Geometry2,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> GeometryOut
+<a name="l00093"></a>00093 &gt;
+<a name="l00094"></a>00094 <span class="keyword">struct </span>take_if_1_is_in_2&lt;Tag1, Geometry1, Tag2, Geometry2, GeometryOut, -1&gt;
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00097"></a>00097 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00098"></a>00098 GeometryOut&amp; out
+<a name="l00099"></a>00099 )
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(geometry1, out);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keyword">template</span>
+<a name="l00107"></a>00107 &lt;
+<a name="l00108"></a>00108 <span class="keyword">typename</span> Geometry1,
+<a name="l00109"></a>00109 <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Geometry2,
+<a name="l00110"></a>00110 <span class="keyword">typename</span> GeometryOut
+<a name="l00111"></a>00111 &gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span>take_if_1_is_in_2&lt;polygon_tag, Geometry1, Tag2, Geometry2, GeometryOut, -1&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(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00115"></a>00115 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00116"></a>00116 GeometryOut&amp; out
+<a name="l00117"></a>00117 )
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(geometry1), out);
+<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 <span class="keyword">template</span>
+<a name="l00125"></a>00125 &lt;
+<a name="l00126"></a>00126 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> GeometryOut, <span class="keyword">typename</span> Container
+<a name="l00127"></a>00127 &gt;
+<a name="l00128"></a>00128 <span class="keyword">struct </span>add_holes&lt;polygon_tag, Geometry, GeometryOut, Container, -1&gt;
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00132"></a>00132 GeometryOut&amp; out,
+<a name="l00133"></a>00133 Container <span class="keyword">const</span>&amp; holes
+<a name="l00134"></a>00134 )
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 std::vector&lt;sortable&gt; v;
+<a name="l00137"></a>00137 sort_interior_rings(holes, v, -1);
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="comment">// For an intersection, if a ring is containing an inner ring,</span>
+<a name="l00140"></a>00140 <span class="comment">// take the outer</span>
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 std::size_t <span class="keyword">const</span> n = boost::size(v);
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keywordflow">for</span> (std::size_t i = 0; i &lt; n; i++)
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 <span class="comment">// So, only if no inners:</span>
+<a name="l00147"></a>00147 <span class="keywordflow">if</span> (v[i].index_of_parent == -1)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <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;
+<a name="l00150"></a>00150 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(holes[v[i].index], point);
+<a name="l00151"></a>00151 <span class="keywordflow">if</span> (<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(point, geometry))
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="keyword">typename</span> ring_type&lt;GeometryOut&gt;::type hole;
+<a name="l00154"></a>00154 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(holes[v[i].index], hole);
+<a name="l00155"></a>00155 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">ggl::interior_rings</a>(out).push_back(hole);
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160 };
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 }} <span class="comment">// namespace detail::overlay</span>
+<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
+<a name="l00167"></a>00167 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00168"></a>00168 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">template</span>
+<a name="l00172"></a>00172 &lt;
+<a name="l00173"></a>00173 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
+<a name="l00174"></a>00174 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00175"></a>00175 <span class="keyword">typename</span> OutputIterator,
+<a name="l00176"></a>00176 <span class="keyword">typename</span> GeometryOut
+<a name="l00177"></a>00177 &gt;
+<a name="l00178"></a>00178 <span class="keyword">struct </span><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a> {};
+<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> Segment1, <span class="keyword">typename</span> Segment2,
+<a name="l00184"></a>00184 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00185"></a>00185 &gt;
+<a name="l00186"></a>00186 <span class="keyword">struct </span><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>
+<a name="l00187"></a>00187 &lt;
+<a name="l00188"></a>00188 segment_tag, segment_tag, point_tag,
+<a name="l00189"></a>00189 Segment1, Segment2,
+<a name="l00190"></a>00190 OutputIterator, GeometryOut
+<a name="l00191"></a>00191 &gt;
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>&amp; segment1,
+<a name="l00194"></a>00194 Segment2 <span class="keyword">const</span>&amp; segment2, OutputIterator out)
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="comment">// Get the intersection point (or two points)</span>
+<a name="l00199"></a>00199 segment_intersection_points&lt;point_type&gt; is
+<a name="l00200"></a>00200 = strategy::intersection::relate_cartesian_segments
+<a name="l00201"></a>00201 &lt;
+<a name="l00202"></a>00202 policies::relate::segments_intersection_points
+<a name="l00203"></a>00203 &lt;
+<a name="l00204"></a>00204 Segment1,
+<a name="l00205"></a>00205 Segment2,
+<a name="l00206"></a>00206 segment_intersection_points&lt;point_type&gt;
+<a name="l00207"></a>00207 &gt;
+<a name="l00208"></a>00208 &gt;::relate(segment1, segment2);
+<a name="l00209"></a>00209 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; is.count; i++)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 GeometryOut p;
+<a name="l00212"></a>00212 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
+<a name="l00213"></a>00213 *out = p;
+<a name="l00214"></a>00214 out++;
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216 <span class="keywordflow">return</span> out;
+<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="keyword">template</span>
+<a name="l00222"></a>00222 &lt;
+<a name="l00223"></a>00223 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
+<a name="l00224"></a>00224 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00225"></a>00225 &gt;
+<a name="l00226"></a>00226 <span class="keyword">struct </span><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>
+<a name="l00227"></a>00227 &lt;
+<a name="l00228"></a>00228 linestring_tag, box_tag, linestring_tag,
+<a name="l00229"></a>00229 Linestring, Box,
+<a name="l00230"></a>00230 OutputIterator, GeometryOut
+<a name="l00231"></a>00231 &gt;
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00234"></a>00234 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00237"></a>00237 strategy::intersection::liang_barsky&lt;Box, point_type&gt; strategy;
+<a name="l00238"></a>00238 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box&lt;GeometryOut&gt;(box, linestring, out, strategy);
+<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="keyword">template</span>
+<a name="l00244"></a>00244 &lt;
+<a name="l00245"></a>00245 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00246"></a>00246 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00247"></a>00247 &gt;
+<a name="l00248"></a>00248 <span class="keyword">struct </span><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>
+<a name="l00249"></a>00249 &lt;
+<a name="l00250"></a>00250 polygon_tag, polygon_tag, polygon_tag,
+<a name="l00251"></a>00251 Polygon1, Polygon2,
+<a name="l00252"></a>00252 OutputIterator, GeometryOut
+<a name="l00253"></a>00253 &gt;
+<a name="l00254"></a>00254 : detail::overlay::overlay_and_assemble
+<a name="l00255"></a>00255 &lt;Polygon1, Polygon2, OutputIterator, GeometryOut, -1&gt;
+<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 <span class="keyword">template</span>
+<a name="l00261"></a>00261 &lt;
+<a name="l00262"></a>00262 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00263"></a>00263 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00264"></a>00264 &gt;
+<a name="l00265"></a>00265 <span class="keyword">struct </span><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>
+<a name="l00266"></a>00266 &lt;
+<a name="l00267"></a>00267 polygon_tag, box_tag, polygon_tag,
+<a name="l00268"></a>00268 Polygon, Box,
+<a name="l00269"></a>00269 OutputIterator, GeometryOut
+<a name="l00270"></a>00270 &gt;
+<a name="l00271"></a>00271 : detail::overlay::overlay_and_assemble
+<a name="l00272"></a>00272 &lt;Polygon, Box, OutputIterator, GeometryOut, -1&gt;
+<a name="l00273"></a>00273 {};
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="keyword">template</span>
+<a name="l00278"></a>00278 &lt;
+<a name="l00279"></a>00279 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
+<a name="l00280"></a>00280 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00281"></a>00281 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00282"></a>00282 &gt;
+<a name="l00283"></a>00283 <span class="keyword">struct </span>intersection_inserter_reversed
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry1 <span class="keyword">const</span>&amp; g1,
+<a name="l00286"></a>00286 Geometry2 <span class="keyword">const</span>&amp; g2, OutputIterator out)
+<a name="l00287"></a>00287 {
+<a name="l00288"></a>00288 <span class="keywordflow">return</span> <a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>
+<a name="l00289"></a>00289 &lt;
+<a name="l00290"></a>00290 GeometryTag2, GeometryTag1, GeometryTag3,
+<a name="l00291"></a>00291 Geometry2, Geometry1,
+<a name="l00292"></a>00292 OutputIterator, GeometryOut
+<a name="l00293"></a>00293 &gt;::apply(g2, g1, out);
+<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 } <span class="comment">// namespace dispatch</span>
+<a name="l00300"></a>00300 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span>
+<a name="l00316"></a>00316 <span class="keyword">template</span>
+<a name="l00317"></a>00317 &lt;
+<a name="l00318"></a>00318 <span class="keyword">typename</span> GeometryOut,
+<a name="l00319"></a>00319 <span class="keyword">typename</span> Geometry1,
+<a name="l00320"></a>00320 <span class="keyword">typename</span> Geometry2,
+<a name="l00321"></a>00321 <span class="keyword">typename</span> OutputIterator
+<a name="l00322"></a>00322 &gt;
+<a name="l00323"></a><a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">00323</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00324"></a>00324 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00325"></a>00325 OutputIterator out)
+<a name="l00326"></a>00326 {
+<a name="l00327"></a>00327 concept::check&lt;const Geometry1&gt;();
+<a name="l00328"></a>00328 concept::check&lt;const Geometry2&gt;();
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00331"></a>00331 &lt;
+<a name="l00332"></a>00332 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00333"></a>00333 dispatch::intersection_inserter_reversed
+<a name="l00334"></a>00334 &lt;
+<a name="l00335"></a>00335 <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="l00336"></a>00336 <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="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;GeometryOut&gt;::type</a>,
+<a name="l00338"></a>00338 Geometry1,
+<a name="l00339"></a>00339 Geometry2,
+<a name="l00340"></a>00340 OutputIterator, GeometryOut
+<a name="l00341"></a>00341 &gt;,
+<a name="l00342"></a>00342 <a class="code" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">dispatch::intersection_inserter</a>
+<a name="l00343"></a>00343 &lt;
+<a name="l00344"></a>00344 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type,
+<a name="l00345"></a>00345 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type,
+<a name="l00346"></a>00346 <span class="keyword">typename</span> tag&lt;GeometryOut&gt;::type,
+<a name="l00347"></a>00347 Geometry1,
+<a name="l00348"></a>00348 Geometry2,
+<a name="l00349"></a>00349 OutputIterator, GeometryOut
+<a name="l00350"></a>00350 &gt;
+<a name="l00351"></a>00351 &gt;::type::apply(geometry1, geometry2, out);
+<a name="l00352"></a>00352 }
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 } <span class="comment">// ggl</span>
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">ggl::length</a> (Geometry const &amp;geometry, Strategy 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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">ggl::length</a> (Geometry const &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<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>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> {
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>segment_length
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> length_result&lt;Segment&gt;::type apply(
+<a name="l00058"></a>00058 Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Segment&gt;::type point_type;
+<a name="l00061"></a>00061 point_type p1, p2;
+<a name="l00062"></a>00062 assign_point_from_index&lt;0&gt;(segment, p1);
+<a name="l00063"></a>00063 assign_point_from_index&lt;1&gt;(segment, p2);
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> strategy.apply(p1, p2);
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00074"></a>00074 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00075"></a>00075 <span class="keyword">struct </span>range_length
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> length_result&lt;Range&gt;::type return_type;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(
+<a name="l00080"></a>00080 Range <span class="keyword">const</span>&amp; range, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 return_type sum = return_type();
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00085"></a>00085 iterator_type it = boost::begin(range);
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (it != boost::end(range))
+<a name="l00087"></a>00087 {
+<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 <span class="comment">// Add point-point distance using the return type belonging</span>
+<a name="l00092"></a>00092 <span class="comment">// to strategy</span>
+<a name="l00093"></a>00093 sum += strategy.apply(*previous, *it);
+<a name="l00094"></a>00094 previous = it++;
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordflow">return</span> sum;
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 }} <span class="comment">// namespace detail::length</span>
+<a name="l00103"></a>00103 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00104"></a>00104 <span class="preprocessor"></span>
+<a name="l00105"></a>00105 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00111"></a>00111 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> : detail::calculate_null
+<a name="l00112"></a>00112 &lt;
+<a name="l00113"></a>00113 typename length_result&lt;Geometry&gt;::type,
+<a name="l00114"></a>00114 Geometry,
+<a name="l00115"></a>00115 Strategy
+<a name="l00116"></a>00116 &gt;
+<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> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00121"></a>00121 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>&lt;linestring_tag, Geometry, Strategy&gt;
+<a name="l00122"></a>00122 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length&lt;Geometry, Strategy&gt;
+<a name="l00123"></a>00123 {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="comment">// RING: length is currently 0; it might be argued that it is the "perimeter"</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00130"></a>00130 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>&lt;segment_tag, Geometry, Strategy&gt;
+<a name="l00131"></a>00131 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::segment_length&lt;Geometry, Strategy&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="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00154"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">00154</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00155"></a>00155 Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 concept::check&lt;const Geometry&gt;();
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <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="l00160"></a>00160 <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="l00161"></a>00161 <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="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 cs_tag,
+<a name="l00164"></a>00164 cs_tag,
+<a name="l00165"></a>00165 point_type,
+<a name="l00166"></a>00166 point_type
+<a name="l00167"></a>00167 &gt;::type strategy_type;
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00170"></a>00170 &lt;
+<a name="l00171"></a>00171 <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="l00172"></a>00172 Geometry,
+<a name="l00173"></a>00173 strategy_type
+<a name="l00174"></a>00174 &gt;::apply(geometry, strategy_type());
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177
+<a name="l00195"></a>00195 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00196"></a><a class="code" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">00196</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00197"></a>00197 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 concept::check&lt;const Geometry&gt;();
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00202"></a>00202 &lt;
+<a name="l00203"></a>00203 <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="l00204"></a>00204 Geometry,
+<a name="l00205"></a>00205 Strategy
+<a name="l00206"></a>00206 &gt;::apply(geometry, strategy);
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 } <span class="comment">// namespace ggl</span>
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.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 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a> {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00031"></a>00031 <span class="keyword">struct </span>range_count
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Range <span class="keyword">const</span>&amp; range)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> boost::size(range);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>other_count
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> D;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 };
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00049"></a>00049 <span class="keyword">struct </span>polygon_count
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Polygon <span class="keyword">const</span>&amp; poly)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 std::size_t n = boost::size(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00055"></a>00055 &lt;
+<a name="l00056"></a>00056 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00057"></a>00057 &gt;::type iterator;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordflow">for</span> (iterator it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00060"></a>00060 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00061"></a>00061 ++it)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 n += boost::size(*it);
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> n;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 }} <span class="comment">// namespace detail::num_points</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keywordtype">bool</span> Linear, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;GeometryTag, true, Geometry&gt;
+<a name="l00085"></a>00085 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::range_count&lt;Geometry&gt;
+<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> Geometry&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;point_tag, false, Geometry&gt;
+<a name="l00091"></a>00091 : 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="l00092"></a>00092 {
+<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> Geometry&gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;box_tag, false, Geometry&gt;
+<a name="l00097"></a>00097 : 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="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> Geometry&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;segment_tag, false, Geometry&gt;
+<a name="l00103"></a>00103 : 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="l00104"></a>00104 {
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00109"></a>00109 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;polygon_tag, false, Geometry&gt;
+<a name="l00110"></a>00110 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::polygon_count&lt;Geometry&gt;
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace dispatch</span>
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117
+<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00129"></a><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267">00129</a> <span class="keyword">inline</span> std::size_t <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 concept::check&lt;const Geometry&gt;();
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">dispatch::num_points</a>
+<a name="l00136"></a>00136 &lt;
+<a name="l00137"></a>00137 <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="l00138"></a>00138 <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="l00139"></a>00139 ncg_type
+<a name="l00140"></a>00140 &gt;::apply(geometry);
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">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">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 typename length_result&lt;Geometry&gt;::type,
+<a name="l00045"></a>00045 Geometry,
+<a name="l00046"></a>00046 Strategy
+<a name="l00047"></a>00047 &gt;
+<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> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>&lt;ring_tag, Geometry, Strategy&gt;
+<a name="l00052"></a>00052 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length&lt;Geometry, Strategy&gt;
+<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> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>&lt;polygon_tag, Polygon, Strategy&gt;
+<a name="l00057"></a>00057 : detail::calculate_polygon_sum
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 typename length_result&lt;Polygon&gt;::type,
+<a name="l00060"></a>00060 Polygon,
+<a name="l00061"></a>00061 Strategy,
+<a name="l00062"></a>00062 detail::length::range_length
+<a name="l00063"></a>00063 &lt;
+<a name="l00064"></a>00064 typename ring_type&lt;Polygon&gt;::type,
+<a name="l00065"></a>00065 Strategy
+<a name="l00066"></a>00066 &gt;
+<a name="l00067"></a>00067 &gt;
+<a name="l00068"></a>00068 {};
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// box,n-sphere: to be implemented</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 } <span class="comment">// namespace dispatch</span>
+<a name="l00074"></a>00074 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a>00076
+<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00087"></a><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">00087</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00088"></a>00088 Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 concept::check&lt;const Geometry&gt;();
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <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="l00093"></a>00093 <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="l00094"></a>00094 <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="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 cs_tag,
+<a name="l00097"></a>00097 cs_tag,
+<a name="l00098"></a>00098 point_type,
+<a name="l00099"></a>00099 point_type
+<a name="l00100"></a>00100 &gt;::type strategy_type;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 <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="l00105"></a>00105 Geometry,
+<a name="l00106"></a>00106 strategy_type
+<a name="l00107"></a>00107 &gt;::apply(geometry, strategy_type());
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00120"></a>00120 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00121"></a><a class="code" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">00121</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00122"></a>00122 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 concept::check&lt;const Geometry&gt;();
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 <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="l00129"></a>00129 Geometry,
+<a name="l00130"></a>00130 Strategy
+<a name="l00131"></a>00131 &gt;::apply(geometry, strategy);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 } <span class="comment">// namespace ggl</span>
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,608 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<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 <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#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a>);
+<a name="l00088"></a>00088 <span class="keywordflow">for</span> (<span class="keyword">register</span> std::size_t i = 0; i &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="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" 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="classggl_1_1segment.html" title="Class segment: small class 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#g4dd59c8603683e869f1d74bd40045b8b" 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#gaee58ea9a166a2ca07597daf34433d7f" 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#gaee58ea9a166a2ca07597daf34433d7f" 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="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed" 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 concept::check&lt;const Geometry&gt;();
+<a name="l00559"></a>00559
+<a name="l00560"></a>00560 <span class="comment">// A maximum of 10 segments per section seems to give the fastest results</span>
+<a name="l00561"></a>00561 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t max_segments_per_section = 10;
+<a name="l00562"></a>00562 <span class="keyword">typedef</span> <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">dispatch::sectionalize</a>
+<a name="l00563"></a>00563 &lt;
+<a name="l00564"></a>00564 <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="l00565"></a>00565 Geometry,
+<a name="l00566"></a>00566 Sections,
+<a name="l00567"></a>00567 Sections::value,
+<a name="l00568"></a>00568 max_segments_per_section
+<a name="l00569"></a>00569 &gt; sectionalizer_type;
+<a name="l00570"></a>00570
+<a name="l00571"></a>00571 sections.clear();
+<a name="l00572"></a>00572 sectionalizer_type::apply(geometry, sections);
+<a name="l00573"></a>00573 }
+<a name="l00574"></a>00574
+<a name="l00575"></a>00575
+<a name="l00576"></a>00576
+<a name="l00577"></a>00577
+<a name="l00578"></a>00578
+<a name="l00579"></a>00579 } <span class="comment">// namespace ggl</span>
+<a name="l00580"></a>00580
+<a name="l00581"></a>00581 <span class="preprocessor">#endif // GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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__simplify.html#g953e1055914400f9ad3191adc5b42270">ggl::simplify</a> (Geometry const &amp;geometry, Geometry &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 Geometry , typename Strategy &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#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl::simplify</a> (Geometry const &amp;geometry, Geometry &amp;out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify 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 Geometry , 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__simplify.html#g4285888f1598725bca124878ac16c656">ggl::simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator , typename Strategy &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#gbe0df65c97527e83bcab80ec3232d45a">ggl::simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator and 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="simplify__douglas__peucker_8hpp.html">ggl/strategies/agnostic/simplify_douglas_peucker.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="simplify__concept_8hpp.html">ggl/strategies/concepts/simplify_concept.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00065"></a>00065 <span class="keyword">namespace </span>ggl
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a> {
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>simplify_range_inserter
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>&amp; range, OutputIterator out,
+<a name="l00076"></a>00076 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keywordflow">if</span> (boost::size(range) &lt;= 2 || max_distance &lt; 0)
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 std::copy(boost::begin(range), boost::end(range), out);
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 <span class="keywordflow">else</span>
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 strategy.apply(range, out, max_distance);
+<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
+<a name="l00090"></a>00090 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span>simplify_copy
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>&amp; range, Range&amp; out,
+<a name="l00094"></a>00094 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 std::copy
+<a name="l00097"></a>00097 (
+<a name="l00098"></a>00098 boost::begin(range), boost::end(range), std::back_inserter(out)
+<a name="l00099"></a>00099 );
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 };
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy, std::<span class="keywordtype">size_t</span> Minimum&gt;
+<a name="l00105"></a>00105 <span class="keyword">struct </span>simplify_range
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>&amp; range, Range&amp; out,
+<a name="l00108"></a>00108 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Call do_container for a linestring / ring</span>
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">/* For a RING:</span>
+<a name="l00113"></a>00113 <span class="comment"> The first/last point (the closing point of the ring) should maybe</span>
+<a name="l00114"></a>00114 <span class="comment"> be excluded because it lies on a line with second/one but last.</span>
+<a name="l00115"></a>00115 <span class="comment"> Here it is never excluded.</span>
+<a name="l00116"></a>00116 <span class="comment"></span>
+<a name="l00117"></a>00117 <span class="comment"> Note also that, especially if max_distance is too large,</span>
+<a name="l00118"></a>00118 <span class="comment"> the output ring might be self intersecting while the input ring is</span>
+<a name="l00119"></a>00119 <span class="comment"> not, although chances are low in normal polygons</span>
+<a name="l00120"></a>00120 <span class="comment"></span>
+<a name="l00121"></a>00121 <span class="comment"> Finally the inputring might have 4 points (=correct),</span>
+<a name="l00122"></a>00122 <span class="comment"> the output &lt; 4(=wrong)</span>
+<a name="l00123"></a>00123 <span class="comment"> */</span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (boost::size(range) &lt;= <span class="keywordtype">int</span>(Minimum) || max_distance &lt; 0.0)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 simplify_copy&lt;Range, Strategy&gt;::apply
+<a name="l00128"></a>00128 (
+<a name="l00129"></a>00129 range, out, max_distance, strategy
+<a name="l00130"></a>00130 );
+<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 simplify_range_inserter&lt;Range, Strategy&gt;::apply
+<a name="l00135"></a>00135 (
+<a name="l00136"></a>00136 range, std::back_inserter(out), max_distance, strategy
+<a name="l00137"></a>00137 );
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span>simplify_polygon
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; poly_in, Polygon&amp; poly_out,
+<a name="l00146"></a>00146 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00151"></a>00151 &lt;<span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type&gt;::type iterator_type;
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00153"></a>00153 &lt;<span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type&gt;::type const_iterator_type;
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="comment">// Note that if there are inner rings, and distance is too large,</span>
+<a name="l00156"></a>00156 <span class="comment">// they might intersect with the outer ring in the output,</span>
+<a name="l00157"></a>00157 <span class="comment">// while it didn't in the input.</span>
+<a name="l00158"></a>00158 simplify_range&lt;ring_type, Strategy, 4&gt;::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly_in),
+<a name="l00159"></a>00159 <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly_out),
+<a name="l00160"></a>00160 max_distance, strategy);
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="comment">// Note: here a resizeable container is assumed.</span>
+<a name="l00163"></a>00163 <span class="comment">// Maybe we should make this part of the concept.</span>
+<a name="l00164"></a>00164 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly_out).resize(<a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(poly_in));
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 iterator_type it_out = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly_out));
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keywordflow">for</span> (const_iterator_type it_in = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly_in));
+<a name="l00169"></a>00169 it_in != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly_in));
+<a name="l00170"></a>00170 ++it_in, ++it_out)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 simplify_range&lt;ring_type, Strategy, 4&gt;::apply(*it_in,
+<a name="l00173"></a>00173 *it_out, max_distance, strategy);
+<a name="l00174"></a>00174 }
+<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 }} <span class="comment">// namespace detail::simplify</span>
+<a name="l00180"></a>00180 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span>
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00188"></a>00188 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 };
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;point_tag, Point, Strategy&gt;
+<a name="l00194"></a>00194 {
+<a name="l00195"></a>00195 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; point, Point&amp; out,
+<a name="l00196"></a>00196 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, out);
+<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 <span class="keyword">template</span> &lt;<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__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;linestring_tag, Linestring, Strategy&gt;
+<a name="l00205"></a>00205 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_range
+<a name="l00206"></a>00206 &lt;
+<a name="l00207"></a>00207 Linestring,
+<a name="l00208"></a>00208 Strategy,
+<a name="l00209"></a>00209 2
+<a name="l00210"></a>00210 &gt;
+<a name="l00211"></a>00211 {};
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00214"></a>00214 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;ring_tag, Ring, Strategy&gt;
+<a name="l00215"></a>00215 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_range
+<a name="l00216"></a>00216 &lt;
+<a name="l00217"></a>00217 Ring,
+<a name="l00218"></a>00218 Strategy,
+<a name="l00219"></a>00219 4
+<a name="l00220"></a>00220 &gt;
+<a name="l00221"></a>00221 {};
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00224"></a>00224 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;polygon_tag, Polygon, Strategy&gt;
+<a name="l00225"></a>00225 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_polygon
+<a name="l00226"></a>00226 &lt;
+<a name="l00227"></a>00227 Polygon,
+<a name="l00228"></a>00228 Strategy
+<a name="l00229"></a>00229 &gt;
+<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> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00234"></a>00234 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">simplify_inserter</a>
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236 };
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">simplify_inserter</a>&lt;linestring_tag, Linestring, Strategy&gt;
+<a name="l00241"></a>00241 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_range_inserter
+<a name="l00242"></a>00242 &lt;
+<a name="l00243"></a>00243 Linestring,
+<a name="l00244"></a>00244 Strategy
+<a name="l00245"></a>00245 &gt;
+<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> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00249"></a>00249 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">simplify_inserter</a>&lt;ring_tag, Ring, Strategy&gt;
+<a name="l00250"></a>00250 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_range_inserter
+<a name="l00251"></a>00251 &lt;
+<a name="l00252"></a>00252 Ring,
+<a name="l00253"></a>00253 Strategy
+<a name="l00254"></a>00254 &gt;
+<a name="l00255"></a>00255 {};
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 } <span class="comment">// namespace dispatch</span>
+<a name="l00259"></a>00259 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00260"></a>00260 <span class="preprocessor"></span>
+<a name="l00261"></a>00261
+<a name="l00272"></a>00272 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00273"></a><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">00273</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>(Geometry <span class="keyword">const</span>&amp; geometry, Geometry&amp; out,
+<a name="l00274"></a>00274 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00275"></a>00275 {
+<a name="l00276"></a>00276 concept::check&lt;Geometry&gt;();
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy&lt;Strategy&gt;</a>) );
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(out);
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">dispatch::simplify</a>
+<a name="l00283"></a>00283 &lt;
+<a name="l00284"></a>00284 <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="l00285"></a>00285 Geometry,
+<a name="l00286"></a>00286 Strategy
+<a name="l00287"></a>00287 &gt;::apply(geometry, out, max_distance, strategy);
+<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="l00309"></a>00309 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00310"></a><a class="code" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">00310</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>(Geometry <span class="keyword">const</span>&amp; geometry, Geometry&amp; out,
+<a name="l00311"></a>00311 <span class="keywordtype">double</span> max_distance)
+<a name="l00312"></a>00312 {
+<a name="l00313"></a>00313 concept::check&lt;Geometry&gt;();
+<a name="l00314"></a>00314
+<a name="l00315"></a>00315 <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="l00316"></a>00316 <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="l00317"></a>00317 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
+<a name="l00318"></a>00318 &lt;
+<a name="l00319"></a>00319 cs_tag,
+<a name="l00320"></a>00320 cs_tag,
+<a name="l00321"></a>00321 point_type,
+<a name="l00322"></a>00322 point_type
+<a name="l00323"></a>00323 &gt;::type ds_strategy_type;
+<a name="l00324"></a>00324
+<a name="l00325"></a>00325 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
+<a name="l00326"></a>00326 &lt;
+<a name="l00327"></a>00327 point_type, ds_strategy_type
+<a name="l00328"></a>00328 &gt; strategy_type;
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>(geometry, out, max_distance, strategy_type());
+<a name="l00331"></a>00331 }
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333
+<a name="l00351"></a>00351 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00352"></a><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">00352</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">simplify_inserter</a>(Geometry <span class="keyword">const</span>&amp; geometry, OutputIterator out,
+<a name="l00353"></a>00353 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00354"></a>00354 {
+<a name="l00355"></a>00355 concept::check&lt;const Geometry&gt;();
+<a name="l00356"></a>00356 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy&lt;Strategy&gt;</a>) );
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">dispatch::simplify_inserter</a>
+<a name="l00359"></a>00359 &lt;
+<a name="l00360"></a>00360 <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="l00361"></a>00361 Geometry,
+<a name="l00362"></a>00362 Strategy
+<a name="l00363"></a>00363 &gt;::apply(geometry, out, max_distance, strategy);
+<a name="l00364"></a>00364 }
+<a name="l00365"></a>00365
+<a name="l00374"></a>00374 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00375"></a><a class="code" href="group__simplify.html#g4285888f1598725bca124878ac16c656">00375</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">simplify_inserter</a>(Geometry <span class="keyword">const</span>&amp; geometry, OutputIterator out,
+<a name="l00376"></a>00376 <span class="keywordtype">double</span> max_distance)
+<a name="l00377"></a>00377 {
+<a name="l00378"></a>00378 <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="l00379"></a>00379
+<a name="l00380"></a>00380 <span class="comment">// Concept: output point type = point type of input geometry</span>
+<a name="l00381"></a>00381 concept::check&lt;const Geometry&gt;();
+<a name="l00382"></a>00382 concept::check&lt;point_type&gt;();
+<a name="l00383"></a>00383
+<a name="l00384"></a>00384 <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="l00385"></a>00385 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
+<a name="l00386"></a>00386 &lt;
+<a name="l00387"></a>00387 cs_tag,
+<a name="l00388"></a>00388 cs_tag,
+<a name="l00389"></a>00389 point_type,
+<a name="l00390"></a>00390 point_type
+<a name="l00391"></a>00391 &gt;::type ds_strategy_type;
+<a name="l00392"></a>00392
+<a name="l00393"></a>00393 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
+<a name="l00394"></a>00394 &lt;
+<a name="l00395"></a>00395 point_type, ds_strategy_type
+<a name="l00396"></a>00396 &gt; strategy_type;
+<a name="l00397"></a>00397
+<a name="l00398"></a>00398 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">dispatch::simplify_inserter</a>
+<a name="l00399"></a>00399 &lt;
+<a name="l00400"></a>00400 <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="l00401"></a>00401 Geometry,
+<a name="l00402"></a>00402 strategy_type
+<a name="l00403"></a>00403 &gt;::apply(geometry, out, max_distance, strategy_type());
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405
+<a name="l00406"></a>00406
+<a name="l00407"></a>00407 } <span class="comment">// namespace ggl</span>
+<a name="l00408"></a>00408
+<a name="l00409"></a>00409 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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__transform.html#gea84c2b86b120e9c79a1a3a111229b60">ggl::transform</a> (Geometry1 const &amp;geometry1, Geometry2 &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 Geometry1 , typename Geometry2 , typename Strategy &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#g69b7e7f328a6092efb8edc9d857504d1">ggl::transform</a> (Geometry1 const &amp;geometry1, Geometry2 &amp;geometry2, Strategy 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.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="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2transform_8hpp.html">ggl/strategies/transform.hpp</a>&gt;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00065"></a>00065 <span class="keyword">namespace </span>ggl
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span> &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, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>transform_point
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point1 <span class="keyword">const</span>&amp; p1, Point2&amp; p2,
+<a name="l00075"></a>00075 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> strategy(p1, p2);
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00082"></a>00082 <span class="keyword">struct </span>transform_box
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; b1, Box2&amp; b2,
+<a name="l00085"></a>00085 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box1&gt;::type point_type1;
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box2&gt;::type point_type2;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 point_type1 lower_left, upper_right;
+<a name="l00091"></a>00091 detail::assign::assign_box_2d_corner&lt;min_corner, min_corner&gt;(
+<a name="l00092"></a>00092 b1, lower_left);
+<a name="l00093"></a>00093 detail::assign::assign_box_2d_corner&lt;max_corner, max_corner&gt;(
+<a name="l00094"></a>00094 b1, upper_right);
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 point_type2 p1, p2;
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (strategy(lower_left, p1) &amp;&amp; strategy(upper_right, p2))
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="comment">// Create a valid box and therefore swap if necessary</span>
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;point_type2&gt;::type coordinate_type;
+<a name="l00101"></a>00101 coordinate_type x1 = ggl::get&lt;0&gt;(p1)
+<a name="l00102"></a>00102 , y1 = ggl::get&lt;1&gt;(p1)
+<a name="l00103"></a>00103 , x2 = ggl::get&lt;0&gt;(p2)
+<a name="l00104"></a>00104 , y2 = ggl::get&lt;1&gt;(p2);
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (x1 &gt; x2) { std::swap(x1, x2); }
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (y1 &gt; y2) { std::swap(y1, y2); }
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 set&lt;min_corner, 0&gt;(b2, x1);
+<a name="l00110"></a>00110 set&lt;min_corner, 1&gt;(b2, y1);
+<a name="l00111"></a>00111 set&lt;max_corner, 0&gt;(b2, x2);
+<a name="l00112"></a>00112 set&lt;max_corner, 1&gt;(b2, y2);
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<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>
+<a name="l00121"></a>00121 &lt;
+<a name="l00122"></a>00122 <span class="keyword">typename</span> PointOut,
+<a name="l00123"></a>00123 <span class="keyword">typename</span> OutputIterator,
+<a name="l00124"></a>00124 <span class="keyword">typename</span> Range,
+<a name="l00125"></a>00125 <span class="keyword">typename</span> Strategy
+<a name="l00126"></a>00126 &gt;
+<a name="l00127"></a>00127 <span class="keyword">inline</span> <span class="keywordtype">bool</span> transform_range_out(Range <span class="keyword">const</span>&amp; range,
+<a name="l00128"></a>00128 OutputIterator out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 PointOut point_out;
+<a name="l00131"></a>00131 <span class="keywordflow">for</span>(<span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type
+<a name="l00132"></a>00132 it = boost::begin(range);
+<a name="l00133"></a>00133 it != boost::end(range);
+<a name="l00134"></a>00134 ++it)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (! transform_point
+<a name="l00137"></a>00137 &lt;
+<a name="l00138"></a>00138 <span class="keyword">typename</span> point_type&lt;Range&gt;::type,
+<a name="l00139"></a>00139 PointOut,
+<a name="l00140"></a>00140 Strategy
+<a name="l00141"></a>00141 &gt;::apply(*it, point_out, strategy))
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 *out = point_out;
+<a name="l00146"></a>00146 ++out;
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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> Polygon1, <span class="keyword">typename</span> Polygon2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00152"></a>00152 <span class="keyword">struct </span>transform_polygon
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> Polygon1&amp; poly1, Polygon2&amp; poly2,
+<a name="l00155"></a>00155 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type&lt;Polygon1&gt;::type interior1_type;
+<a name="l00158"></a>00158 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type&lt;Polygon2&gt;::type interior2_type;
+<a name="l00159"></a>00159 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon1&gt;::type ring1_type;
+<a name="l00160"></a>00160 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon2&gt;::type ring2_type;
+<a name="l00161"></a>00161 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Polygon2&gt;::type point2_type;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(poly2);
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keywordflow">if</span> (!transform_range_out&lt;point2_type&gt;(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly1),
+<a name="l00166"></a>00166 std::back_inserter(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2)), strategy))
+<a name="l00167"></a>00167 {
+<a name="l00168"></a>00168 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2).resize(<a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(poly1));
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00174"></a>00174 &lt;
+<a name="l00175"></a>00175 interior1_type
+<a name="l00176"></a>00176 &gt;::type iterator1_type;
+<a name="l00177"></a>00177 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00178"></a>00178 &lt;
+<a name="l00179"></a>00179 interior2_type
+<a name="l00180"></a>00180 &gt;::type iterator2_type;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 iterator1_type it1 = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1));
+<a name="l00183"></a>00183 iterator2_type it2 = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2));
+<a name="l00184"></a>00184 <span class="keywordflow">for</span> ( ; it1 != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1));
+<a name="l00185"></a>00185 ++it1, ++it2)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="keywordflow">if</span> (!transform_range_out&lt;point2_type&gt;(*it1,
+<a name="l00188"></a>00188 std::back_inserter(*it2), strategy))
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00191"></a>00191 }
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 };
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <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="l00200"></a>00200 <span class="keyword">struct </span>select_strategy
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_transform
+<a name="l00203"></a>00203 &lt;
+<a name="l00204"></a>00204 <span class="keyword">typename</span> cs_tag&lt;Point1&gt;::type,
+<a name="l00205"></a>00205 <span class="keyword">typename</span> cs_tag&lt;Point2&gt;::type,
+<a name="l00206"></a>00206 <span class="keyword">typename</span> coordinate_system&lt;Point1&gt;::type,
+<a name="l00207"></a>00207 <span class="keyword">typename</span> coordinate_system&lt;Point2&gt;::type,
+<a name="l00208"></a>00208 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Point1&gt;::type::value</a>,
+<a name="l00209"></a>00209 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Point2&gt;::type::value</a>,
+<a name="l00210"></a>00210 <span class="keyword">typename</span> point_type&lt;Point1&gt;::type,
+<a name="l00211"></a>00211 <span class="keyword">typename</span> point_type&lt;Point2&gt;::type
+<a name="l00212"></a>00212 &gt;::type type;
+<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> Range1, <span class="keyword">typename</span> Range2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00216"></a>00216 <span class="keyword">struct </span>transform_range
+<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(Range1 <span class="keyword">const</span>&amp; range1,
+<a name="l00219"></a>00219 Range2&amp; range2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00220"></a>00220 {
+<a name="l00221"></a>00221 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Range2&gt;::type point_type;
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(range2);
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> transform_range_out&lt;point_type&gt;(range1,
+<a name="l00225"></a>00225 std::back_inserter(range2), strategy);
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 };
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 }} <span class="comment">// namespace detail::transform</span>
+<a name="l00230"></a>00230 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00231"></a>00231 <span class="preprocessor"></span>
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00234"></a>00234 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236
+<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> Tag1, <span class="keyword">typename</span> Tag2,
+<a name="l00240"></a>00240 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00241"></a>00241 <span class="keyword">typename</span> Strategy
+<a name="l00242"></a>00242 &gt;
+<a name="l00243"></a>00243 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {};
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <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, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00246"></a>00246 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;point_tag, point_tag, Point1, Point2, Strategy&gt;
+<a name="l00247"></a>00247 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_point&lt;Point1, Point2, Strategy&gt;
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 };
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>1, <span class="keyword">typename</span> Line<span class="keywordtype">string</span>2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00253"></a>00253 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>
+<a name="l00254"></a>00254 &lt;
+<a name="l00255"></a>00255 linestring_tag, linestring_tag,
+<a name="l00256"></a>00256 Linestring1, Linestring2, Strategy
+<a name="l00257"></a>00257 &gt;
+<a name="l00258"></a>00258 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range&lt;Linestring1, Linestring2, Strategy&gt;
+<a name="l00259"></a>00259 {
+<a name="l00260"></a>00260 };
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range1, <span class="keyword">typename</span> Range2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00263"></a>00263 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;ring_tag, ring_tag, Range1, Range2, Strategy&gt;
+<a name="l00264"></a>00264 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range&lt;Range1, Range2, Strategy&gt;
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 };
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00269"></a>00269 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;polygon_tag, polygon_tag, Polygon1, Polygon2, Strategy&gt;
+<a name="l00270"></a>00270 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_polygon&lt;Polygon1, Polygon2, Strategy&gt;
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 };
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00275"></a>00275 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;box_tag, box_tag, Box1, Box2, Strategy&gt;
+<a name="l00276"></a>00276 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_box&lt;Box1, Box2, Strategy&gt;
+<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 } <span class="comment">// namespace dispatch</span>
+<a name="l00282"></a>00282 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00283"></a>00283 <span class="preprocessor"></span>
+<a name="l00284"></a>00284
+<a name="l00295"></a>00295 <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="l00296"></a><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1">00296</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2&amp; geometry2,
+<a name="l00297"></a>00297 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 concept::check&lt;const Geometry1&gt;();
+<a name="l00300"></a>00300 concept::check&lt;Geometry2&gt;();
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keyword">typedef</span> <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">dispatch::transform</a>
+<a name="l00303"></a>00303 &lt;
+<a name="l00304"></a>00304 <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="l00305"></a>00305 <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="l00306"></a>00306 Geometry1,
+<a name="l00307"></a>00307 Geometry2,
+<a name="l00308"></a>00308 Strategy
+<a name="l00309"></a>00309 &gt; transform_type;
+<a name="l00310"></a>00310
+<a name="l00311"></a>00311 <span class="keywordflow">return</span> transform_type::apply(geometry1, geometry2, strategy);
+<a name="l00312"></a>00312 }
+<a name="l00313"></a>00313
+<a name="l00323"></a>00323 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00324"></a><a class="code" href="group__transform.html#gea84c2b86b120e9c79a1a3a111229b60">00324</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2&amp; geometry2)
+<a name="l00325"></a>00325 {
+<a name="l00326"></a>00326 concept::check&lt;const Geometry1&gt;();
+<a name="l00327"></a>00327 concept::check&lt;Geometry2&gt;();
+<a name="l00328"></a>00328
+<a name="l00329"></a>00329 <span class="keyword">typename</span> detail::transform::select_strategy&lt;Geometry1, Geometry2&gt;::type strategy;
+<a name="l00330"></a>00330 <span class="keywordflow">return</span> <a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(geometry1, geometry2, strategy);
+<a name="l00331"></a>00331 }
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333 } <span class="comment">// namespace ggl</span>
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry1 , typename Geometry2 , typename Strategy &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__within.html#g052af0474ab2dafcb875ce64a9361611">ggl::within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another 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__within.html#g599c2aa76cf2037eb40514e449ace28d">ggl::within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00047"></a>00047 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#include &lt;<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>&gt;</span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly_8hpp.html">ggl/strategies/point_in_poly.hpp</a>&gt;</span>
+<a name="l00063"></a>00063 <span class="preprocessor">#include &lt;<a class="code" href="within__concept_8hpp.html">ggl/strategies/concepts/within_concept.hpp</a>&gt;</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">namespace </span>ggl
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a> {
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<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> Point,
+<a name="l00081"></a>00081 <span class="keyword">typename</span> Box,
+<a name="l00082"></a>00082 <span class="keyword">typename</span> Strategy,
+<a name="l00083"></a>00083 std::size_t Dimension,
+<a name="l00084"></a>00084 std::size_t DimensionCount
+<a name="l00085"></a>00085 &gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span>point_in_box
+<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(Point <span class="keyword">const</span>&amp; p, Box <span class="keyword">const</span>&amp; b, Strategy <span class="keyword">const</span>&amp; s)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 assert_dimension_equal&lt;Point, Box&gt;();
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (get&lt;Dimension&gt;(p) &lt;= get&lt;min_corner, Dimension&gt;(b)
+<a name="l00093"></a>00093 || get&lt;Dimension&gt;(p) &gt;= get&lt;max_corner, Dimension&gt;(b))
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordflow">return</span> point_in_box
+<a name="l00099"></a>00099 &lt;
+<a name="l00100"></a>00100 Point,
+<a name="l00101"></a>00101 Box,
+<a name="l00102"></a>00102 Strategy,
+<a name="l00103"></a>00103 Dimension + 1,
+<a name="l00104"></a>00104 DimensionCount
+<a name="l00105"></a>00105 &gt;::apply(p, b, s);
+<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>
+<a name="l00110"></a>00110 &lt;
+<a name="l00111"></a>00111 <span class="keyword">typename</span> Point,
+<a name="l00112"></a>00112 <span class="keyword">typename</span> Box,
+<a name="l00113"></a>00113 <span class="keyword">typename</span> Strategy,
+<a name="l00114"></a>00114 std::size_t DimensionCount
+<a name="l00115"></a>00115 &gt;
+<a name="l00116"></a>00116 <span class="keyword">struct </span>point_in_box&lt;Point, Box, Strategy, DimensionCount, DimensionCount&gt;
+<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(Point <span class="keyword">const</span>&amp; p, Box <span class="keyword">const</span>&amp; b, Strategy <span class="keyword">const</span>&amp; s)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122 };
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span>
+<a name="l00126"></a>00126 &lt;
+<a name="l00127"></a>00127 <span class="keyword">typename</span> Box1,
+<a name="l00128"></a>00128 <span class="keyword">typename</span> Box2,
+<a name="l00129"></a>00129 <span class="keyword">typename</span> Strategy,
+<a name="l00130"></a>00130 std::size_t Dimension,
+<a name="l00131"></a>00131 std::size_t DimensionCount
+<a name="l00132"></a>00132 &gt;
+<a name="l00133"></a>00133 <span class="keyword">struct </span>box_in_box
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; b1, Box2 <span class="keyword">const</span>&amp; b2, Strategy <span class="keyword">const</span>&amp; s)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 assert_dimension_equal&lt;Box1, Box2&gt;();
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keywordflow">if</span> (get&lt;min_corner, Dimension&gt;(b1) &lt;= get&lt;min_corner, Dimension&gt;(b2)
+<a name="l00140"></a>00140 || get&lt;max_corner, Dimension&gt;(b1) &gt;= get&lt;max_corner, Dimension&gt;(b2))
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> box_in_box
+<a name="l00146"></a>00146 &lt;
+<a name="l00147"></a>00147 Box1,
+<a name="l00148"></a>00148 Box2,
+<a name="l00149"></a>00149 Strategy,
+<a name="l00150"></a>00150 Dimension + 1,
+<a name="l00151"></a>00151 DimensionCount
+<a name="l00152"></a>00152 &gt;::apply(b1, b2, s);
+<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>
+<a name="l00157"></a>00157 &lt;
+<a name="l00158"></a>00158 <span class="keyword">typename</span> Box1,
+<a name="l00159"></a>00159 <span class="keyword">typename</span> Box2,
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Strategy,
+<a name="l00161"></a>00161 std::size_t DimensionCount
+<a name="l00162"></a>00162 &gt;
+<a name="l00163"></a>00163 <span class="keyword">struct </span>box_in_box&lt;Box1, Box2, Strategy, DimensionCount, DimensionCount&gt;
+<a name="l00164"></a>00164 {
+<a name="l00165"></a>00165 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; , Box2 <span class="keyword">const</span>&amp; , Strategy <span class="keyword">const</span>&amp;)
+<a name="l00166"></a>00166 {
+<a name="l00167"></a>00167 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00173"></a>00173 <span class="keyword">struct </span>point_in_ring
+<a name="l00174"></a>00174 {
+<a name="l00175"></a>00175 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy&lt;Strategy&gt;</a>) );
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp; point, Ring <span class="keyword">const</span>&amp; ring,
+<a name="l00178"></a>00178 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keywordflow">if</span> (boost::size(ring) &lt; 4)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Ring&gt;::type iterator_type;
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 iterator_type it = boost::begin(ring);
+<a name="l00190"></a>00190 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00191"></a>00191 it != boost::end(ring);
+<a name="l00192"></a>00192 previous = it++)
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="keywordflow">if</span> (! Strategy::apply(point, *previous, *it, state))
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 <span class="keywordflow">return</span> Strategy::result(state);
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 };
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="comment">// Polygon: in exterior ring, and if so, not within interior ring(s)</span>
+<a name="l00204"></a>00204 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00205"></a>00205 <span class="keyword">struct </span>point_in_polygon
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy&lt;Strategy&gt;</a>) );
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp; point, Polygon <span class="keyword">const</span>&amp; poly,
+<a name="l00210"></a>00210 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="keyword">typedef</span> point_in_ring
+<a name="l00214"></a>00214 &lt;
+<a name="l00215"></a>00215 Point,
+<a name="l00216"></a>00216 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00217"></a>00217 Strategy
+<a name="l00218"></a>00218 &gt; per_ring;
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="keywordflow">if</span> (per_ring::apply(point, <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy))
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00224"></a>00224 &lt;
+<a name="l00225"></a>00225 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00226"></a>00226 &gt;::type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00227"></a>00227 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00228"></a>00228 ++it)
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 <span class="keywordflow">if</span> (per_ring::apply(point, *it, strategy))
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234 }
+<a name="l00235"></a>00235 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00236"></a>00236 }
+<a name="l00237"></a>00237 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00238"></a>00238 }
+<a name="l00239"></a>00239 };
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 }} <span class="comment">// namespace detail::within</span>
+<a name="l00242"></a>00242 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00243"></a>00243 <span class="preprocessor"></span>
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00246"></a>00246 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00247"></a>00247 {
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="keyword">template</span>
+<a name="l00250"></a>00250 &lt;
+<a name="l00251"></a>00251 <span class="keyword">typename</span> Tag1,
+<a name="l00252"></a>00252 <span class="keyword">typename</span> Tag2,
+<a name="l00253"></a>00253 <span class="keyword">typename</span> Geometry1,
+<a name="l00254"></a>00254 <span class="keyword">typename</span> Geometry2,
+<a name="l00255"></a>00255 <span class="keyword">typename</span> Strategy
+<a name="l00256"></a>00256 &gt;
+<a name="l00257"></a>00257 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>
+<a name="l00258"></a>00258 {};
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00262"></a>00262 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>&lt;point_tag, box_tag, Point, Box, Strategy&gt;
+<a name="l00263"></a>00263 : detail::<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>::point_in_box
+<a name="l00264"></a>00264 &lt;
+<a name="l00265"></a>00265 Point,
+<a name="l00266"></a>00266 Box,
+<a name="l00267"></a>00267 Strategy,
+<a name="l00268"></a>00268 0,
+<a name="l00269"></a>00269 dimension&lt;Point&gt;::type::value
+<a name="l00270"></a>00270 &gt;
+<a name="l00271"></a>00271 {};
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00274"></a>00274 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>&lt;box_tag, box_tag, Box1, Box2, Strategy&gt;
+<a name="l00275"></a>00275 : detail::<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>::box_in_box
+<a name="l00276"></a>00276 &lt;
+<a name="l00277"></a>00277 Box1,
+<a name="l00278"></a>00278 Box2,
+<a name="l00279"></a>00279 Strategy,
+<a name="l00280"></a>00280 0,
+<a name="l00281"></a>00281 dimension&lt;Box1&gt;::type::value
+<a name="l00282"></a>00282 &gt;
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>&lt;point_tag, ring_tag, Point, Ring, Strategy&gt;
+<a name="l00289"></a>00289 : detail::<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>::point_in_ring
+<a name="l00290"></a>00290 &lt;Point, Ring, Strategy&gt;
+<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> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00294"></a>00294 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>&lt;point_tag, polygon_tag, Point, Polygon, Strategy&gt;
+<a name="l00295"></a>00295 : detail::<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>::point_in_polygon
+<a name="l00296"></a>00296 &lt;Point, Polygon, Strategy&gt;
+<a name="l00297"></a>00297 {};
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 } <span class="comment">// namespace dispatch</span>
+<a name="l00300"></a>00300 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span>
+<a name="l00302"></a>00302
+<a name="l00313"></a>00313 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00314"></a><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d">00314</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00315"></a>00315 {
+<a name="l00316"></a>00316 concept::check&lt;const Geometry1&gt;();
+<a name="l00317"></a>00317 concept::check&lt;const Geometry2&gt;();
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319 <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> point_type1;
+<a name="l00320"></a>00320 <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> point_type2;
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__within.html" title="Traits class binding a within determination strategy to a coordinate system.">strategy_within</a>
+<a name="l00323"></a>00323 &lt;
+<a name="l00324"></a>00324 <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_type1&gt;::type</a>,
+<a name="l00325"></a>00325 <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_type2&gt;::type</a>,
+<a name="l00326"></a>00326 point_type1,
+<a name="l00327"></a>00327 point_type2
+<a name="l00328"></a>00328 &gt;::type strategy_type;
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="keywordflow">return</span> <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">dispatch::within</a>
+<a name="l00331"></a>00331 &lt;
+<a name="l00332"></a>00332 <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="l00333"></a>00333 <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="l00334"></a>00334 Geometry1,
+<a name="l00335"></a>00335 Geometry2,
+<a name="l00336"></a>00336 strategy_type
+<a name="l00337"></a>00337 &gt;::apply(geometry1, geometry2, strategy_type());
+<a name="l00338"></a>00338 }
+<a name="l00339"></a>00339
+<a name="l00350"></a>00350 <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="l00351"></a><a class="code" href="group__within.html#g052af0474ab2dafcb875ce64a9361611">00351</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00352"></a>00352 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00353"></a>00353 {
+<a name="l00354"></a>00354 <span class="comment">// Always assume a point-in-polygon strategy here.</span>
+<a name="l00355"></a>00355 <span class="comment">// Because for point-in-box, it makes no sense to specify one.</span>
+<a name="l00356"></a>00356 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy&lt;Strategy&gt;</a>) );
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 concept::check&lt;const Geometry1&gt;();
+<a name="l00359"></a>00359 concept::check&lt;const Geometry2&gt;();
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361 <span class="keywordflow">return</span> <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">dispatch::within</a>
+<a name="l00362"></a>00362 &lt;
+<a name="l00363"></a>00363 <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="l00364"></a>00364 <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="l00365"></a>00365 Geometry1,
+<a name="l00366"></a>00366 Geometry2,
+<a name="l00367"></a>00367 Strategy
+<a name="l00368"></a>00368 &gt;::apply(geometry1, geometry2, strategy);
+<a name="l00369"></a>00369 }
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 } <span class="comment">// namespace ggl</span>
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/annotated.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/annotated.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>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_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a></td><td class="indexvalue">Meta-function to define a const or non const type </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">Meta-function defining return type of area function </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &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="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ggl::concept::ConstMultiLinestring&lt; Geometry &gt;</a></td><td class="indexvalue">Concept for multi-linestring (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_multi_point.html">ggl::concept::ConstMultiPoint&lt; Geometry &gt;</a></td><td class="indexvalue">Concept for multi-point (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_multi_polygon.html">ggl::concept::ConstMultiPolygon&lt; Geometry &gt;</a></td><td class="indexvalue">Concept for multi-polygon (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; Geometry &gt;</a></td><td class="indexvalue">(linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_convex_hull_strategy.html">ggl::concept::ConvexHullStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">ggl::concept::MultiLinestring&lt; Geometry &gt;</a></td><td class="indexvalue">Multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_multi_point.html">ggl::concept::MultiPoint&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">ggl::concept::MultiPolygon&lt; Geometry &gt;</a></td><td class="indexvalue">Multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_ring.html" title="ring concept">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; Geometry &gt;</a></td><td class="indexvalue"><a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: 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; Geometry1, Geometry2 &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="structggl_1_1equal__to.html">ggl::equal_to&lt; Point, Dimension, Strategy &gt;</a></td><td class="indexvalue">Equal To functor, to compare if points are equal </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_1greater.html">ggl::greater&lt; Point, Dimension, Strategy &gt;</a></td><td class="indexvalue">Greater functor </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; Geometry &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" title="multi_point, a collection of points">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 plane angle: Radians.">radian</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1length__result.html">ggl::length_result&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining return type of length function </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1less.html">ggl::less&lt; Point, Dimension, Strategy &gt;</a></td><td class="indexvalue">Less functor, to sort points in ascending order </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, ClockWise, 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">Multi_line, a collection of <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> </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">Multi_point, a collection of points </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">Multi_polygon, a collection of <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> </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_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__order.html">ggl::point_order&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="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__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, ClockWise, 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 plane angle: Radians </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a></td><td class="indexvalue">Meta-function to define a const or non const boost range iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1range__type.html">ggl::range_type&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining a type which is a boost-range </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="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a></td><td class="indexvalue">Meta-function selecting the "calculation" type </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">Meta-function 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">Meta-function to select, of two types, the most accurate type for calculations </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1single__tag.html">ggl::single_tag&lt; Tag &gt;</a></td><td class="indexvalue">Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td><td class="indexvalue">Tag indicating Spherical coordinate system family (spherical,celestial,...) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, 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_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td class="indexvalue">Area calculation by spherical excess / Huiller's formula </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td class="indexvalue">Centroid calculation using algorith Bashein / Detmer </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a></td><td class="indexvalue">Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for spherical coordinates </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html">ggl::strategy::compare::default_strategy</a></td><td class="indexvalue">Default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, indicates the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift&lt; Units &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&lt; degree &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&lt; radian &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td class="indexvalue">Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &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="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, 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; Point, PointOfSegment, 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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> </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; Box, Point &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_1side__by__triangle.html">ggl::strategy::side::side_by_triangle</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; Point, PointDistanceStrategy &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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &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_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &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; Point, PointOfSegment, CalculationType &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; Tag, PointOfSegment &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; CsTag, GeometryTag, Dimension, Point, Geometry &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; Tag, Direction, Point, CoordinateSystem, Dimension &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; Tag, Geometry, Point &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__parse.html">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a></td><td class="indexvalue">Tagraits 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; Tag &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_point1_00_01_point2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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_point44a0bc328e7ec9bd6c5d771967a8f024.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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; TagPoint, TagSegment, Point, PointOfSegment &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; Geometry, Dimension &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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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; Geometry, Point &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; Geometry &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; Polygon &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; Geometry, Index, Dimension &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; Geometry &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; Geometry &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__order.html">ggl::traits::point_order&lt; G &gt;</a></td><td class="indexvalue">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type&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_1ring__type.html">ggl::traits::ring_type&lt; Geometry &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; Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>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 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#ge6ff0cb391fb5a3c3a312defe15b4909">ggl::append</a> (Geometry &amp;geometry, RoP const &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>, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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="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="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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<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
+<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__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a> {
+<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> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> UseStd&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>append_point {};
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>append_point&lt;Geometry, Point, true&gt;
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry, Point <span class="keyword">const</span>&amp; point, <span class="keywordtype">int</span> , <span class="keywordtype">int</span> )
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typename</span> point_type&lt;Geometry&gt;::type point_type;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, point_type);
+<a name="l00042"></a>00042 geometry.push_back(point_type);
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>append_point&lt;Geometry, Point, false&gt;
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry, Point <span class="keyword">const</span>&amp; point,
+<a name="l00050"></a>00050 <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 traits::append_point&lt;Geometry, Point&gt;::apply(geometry, point,
+<a name="l00053"></a>00053 ring_index, multi_index);
+<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> Geometry, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> UseStd&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>append_range
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Range&gt;::type point_type;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry, Range <span class="keyword">const</span>&amp; range,
+<a name="l00063"></a>00063 <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type
+<a name="l00066"></a>00066 it = boost::begin(range);
+<a name="l00067"></a>00067 it != boost::end(range);
+<a name="l00068"></a>00068 ++it)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 append_point&lt;Geometry, point_type, UseStd&gt;::apply(geometry, *it,
+<a name="l00071"></a>00071 ring_index, multi_index);
+<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> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>point_to_poly
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type range_type;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon&amp; polygon, Point <span class="keyword">const</span>&amp; point,
+<a name="l00082"></a>00082 <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> )
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 append_point&lt;range_type, Point, Std&gt;::apply(
+<a name="l00087"></a>00087 <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), point, -1, -1);
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index &lt; <span class="keywordtype">int</span>(<a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(polygon)))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 append_point&lt;range_type, Point, Std&gt;::apply(
+<a name="l00092"></a>00092 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], point, -1, -1);
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00098"></a>00098 <span class="keyword">struct </span>range_to_poly
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<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(Polygon&amp; polygon, Range <span class="keyword">const</span>&amp; range,
+<a name="l00103"></a>00103 <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> )
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 append_range&lt;ring_type, Range, Std&gt;::apply(
+<a name="l00108"></a>00108 <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), range, -1, -1);
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index &lt; <span class="keywordtype">int</span>(<a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(polygon)))
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 append_range&lt;ring_type, Range, Std&gt;::apply(
+<a name="l00113"></a>00113 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], range, -1, -1);
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 }} <span class="comment">// namespace detail::append</span>
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00120"></a>00120 <span class="preprocessor"></span>
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="comment">// (RoP = range or point, Std = use std library)</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// Default case (where RoP will be range/array/etc)</span>
+<a name="l00129"></a>00129 <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="l00130"></a>00130 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a> : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>::append_range&lt;G, RoP, Std&gt; {};
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="comment">// Append a point to any geometry</span>
+<a name="l00133"></a>00133 <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="l00134"></a>00134 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>&lt;Tag, point_tag, G, P, Std&gt;
+<a name="l00135"></a>00135 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>::append_point&lt;G, P, Std&gt; {};
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// Never possible to append anything to a point/box/n-sphere</span>
+<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <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#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>&lt;point_tag, TagRoP, Point, RoP, Std&gt; {};
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00142"></a>00142 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>&lt;box_tag, TagRoP, Box, RoP, Std&gt; {};
+<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> Polygon, <span class="keyword">typename</span> TagRange, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00146"></a>00146 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>&lt;polygon_tag, TagRange, Polygon, Range, Std&gt;
+<a name="l00147"></a>00147 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>::range_to_poly&lt;Polygon, Range, Std&gt; {};
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <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="keywordtype">bool</span> Std&gt;
+<a name="l00150"></a>00150 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>&lt;polygon_tag, point_tag, Polygon, Point, Std&gt;
+<a name="l00151"></a>00151 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>::point_to_poly&lt;Polygon, Point, Std&gt; {};
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="comment">// Multi-linestring and multi-polygon might either implement traits</span>
+<a name="l00154"></a>00154 <span class="comment">// or use standard...</span>
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 } <span class="comment">// namespace dispatch</span>
+<a name="l00157"></a>00157 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span>
+<a name="l00159"></a>00159
+<a name="l00169"></a>00169 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> RoP&gt;
+<a name="l00170"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">00170</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(Geometry&amp; geometry, RoP <span class="keyword">const</span>&amp; range_or_point,
+<a name="l00171"></a>00171 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = 0)
+<a name="l00172"></a>00172 {
+<a name="l00173"></a>00173 concept::check&lt;Geometry&gt;();
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">dispatch::append</a>
+<a name="l00178"></a>00178 &lt;
+<a name="l00179"></a>00179 <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="l00180"></a>00180 <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="l00181"></a>00181 ncg_type,
+<a name="l00182"></a>00182 RoP,
+<a name="l00183"></a>00183 <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="l00184"></a>00184 &gt;::apply(geometry, range_or_point, ring_index, multi_index);
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 } <span class="comment">// namespace ggl</span>
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="preprocessor">#endif // GGL_ALGORITHMS_APPEND_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/area_by_triangles.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &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; PointOfSegment, 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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_triangles&lt; PointOfSegment, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/area_by_triangles.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &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
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 {
+<a name="l00022"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00022</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00023"></a>00023
+<a name="l00029"></a>00029 <span class="keyword">template</span>
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 <span class="keyword">typename</span> PointOfSegment,
+<a name="l00032"></a>00032 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00033"></a>00033 &gt;
+<a name="l00034"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">00034</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">public</span> :
+<a name="l00037"></a>00037 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00038"></a>00038 <span class="comment">// whatever it is and whatever the point-type is.</span>
+<a name="l00039"></a>00039 <span class="comment">// Else, use the pointtype, but at least double</span>
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00041"></a>00041 boost::mpl::if_c
+<a name="l00042"></a>00042 &lt;
+<a name="l00043"></a>00043 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00044"></a>00044 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;PointOfSegment&gt;::type</a>,
+<a name="l00047"></a>00047 <span class="keywordtype">double</span>
+<a name="l00048"></a>00048 &gt;::type,
+<a name="l00049"></a>00049 CalculationType
+<a name="l00050"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">00050</a> &gt;::type <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">private</span> :
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">class </span>summation
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> sum;
+<a name="l00060"></a>00060 <span class="keyword">public</span> :
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">inline</span> summation() : sum(<a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a>())
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="comment">// Strategy supports only 2D areas</span>
+<a name="l00065"></a>00065 assert_dimension&lt;PointOfSegment, 2&gt;();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
+<a name="l00068"></a>00068 <span class="keyword"> </span>{
+<a name="l00069"></a>00069 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a> = sum;
+<a name="l00070"></a>00070 result *= 0.5;
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> result;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">public</span> :
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">00076</a> <span class="keyword">typedef</span> summation <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a>;
+<a name="l00077"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">00077</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a>;
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">00079</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">apply</a>(PointOfSegment <span class="keyword">const</span>&amp; p1,
+<a name="l00080"></a>00080 PointOfSegment <span class="keyword">const</span>&amp; p2,
+<a name="l00081"></a>00081 summation&amp; state)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="comment">// SUM += x2 * y1 - x1 * y2;</span>
+<a name="l00084"></a>00084 state.sum += get&lt;0&gt;(p2) * get&lt;1&gt;(p1) - get&lt;0&gt;(p1) * get&lt;1&gt;(p2);
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a>(summation <span class="keyword">const</span>&amp; state)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> state.area();
+<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 strategy::area</span>
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span>
+<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span>strategy_area&lt;cartesian_tag, Point&gt;
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> strategy::area::by_triangles&lt;Point&gt; <a class="code" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">type</a>;
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="preprocessor">#endif</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
+<a name="l00110"></a>00110 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/area_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/area_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_area_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">AreaStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="comment">// 1) must define state_type,</span>
+<a name="l00029"></a>00029 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// 2) must define return_type,</span>
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">struct </span>check_methods
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 Strategy <span class="keyword">const</span>* str;
+<a name="l00042"></a>00042 state_type *st;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// 4) must implement a method apply with the following signature</span>
+<a name="l00045"></a>00045 spoint_type <span class="keyword">const</span>* sp;
+<a name="l00046"></a>00046 str-&gt;apply(*sp, *sp, *st);
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// 5) must implement a static method result with the following signature</span>
+<a name="l00049"></a>00049 return_type r = str-&gt;result(*st);
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(r);
+<a name="l00052"></a>00052 boost::ignore_unused_variable_warning(str);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">public</span> :
+<a name="l00057"></a>00057 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">AreaStrategy</a>)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 check_methods::apply();
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span>};
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/area_huiller.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Area calculation by spherical excess / Huiller's formula. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/area_huiller.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.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>strategy { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 <span class="keyword">typename</span> PointOfSegment,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00046"></a>00046 &gt;
+<a name="l00047"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html">00047</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html" title="Area calculation by spherical excess / Huiller&amp;#39;s formula.">huiller</a>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">protected</span> :
+<a name="l00050"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">00050</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>
+<a name="l00051"></a>00051 {
+<a name="l00052"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">00052</a> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a>;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// Distances are calculated on unit sphere here</span>
+<a name="l00055"></a>00055 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine&lt;PointOfSegment, PointOfSegment&gt;</a>
+<a name="l00056"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">00056</a> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>;
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">00059</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">excess_sum</a>()
+<a name="l00060"></a>00060 : <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a>(0)
+<a name="l00061"></a>00061 , <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>(1)
+<a name="l00062"></a>00062 {}
+<a name="l00063"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">00063</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">area</a>(<span class="keywordtype">double</span> radius)<span class="keyword"> const</span>
+<a name="l00064"></a>00064 <span class="keyword"> </span>{
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> - <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a> * radius * radius;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 };
+<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_1huiller.html#c5f08a5725174c6b864b71cf92825d80">00070</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a>;
+<a name="l00071"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">00071</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a>;
+<a name="l00072"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">00072</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a>;
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">00074</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a>(<span class="keywordtype">double</span> radius = 1.0)
+<a name="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_1huiller.html#d6b0e071855188b9869dadc94507df12">00078</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d6b0e071855188b9869dadc94507df12">apply</a>(PointOfSegment <span class="keyword">const</span>&amp; p1,
+<a name="l00079"></a>00079 PointOfSegment <span class="keyword">const</span>&amp; p2,
+<a name="l00080"></a>00080 <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00081"></a>00081 <span class="keyword"> </span>{
+<a name="l00082"></a>00082 <span class="keywordflow">if</span> (! <a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get&lt;0&gt;(p1), get&lt;0&gt;(p2)))
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="comment">// Distance p1 p2</span>
+<a name="l00085"></a>00085 <span class="keywordtype">double</span> a = state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>.<a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">apply</a>(p1, p2);
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// Sides on unit sphere to south pole</span>
+<a name="l00088"></a>00088 <span class="keywordtype">double</span> b = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get_as_radian&lt;1&gt;(p2);
+<a name="l00089"></a>00089 <span class="keywordtype">double</span> c = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get_as_radian&lt;1&gt;(p1);
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="comment">// Semi parameter</span>
+<a name="l00092"></a>00092 <span class="keywordtype">double</span> s = 0.5 * (a + b + c);
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// E: spherical excess, using l'Huiller's formula</span>
+<a name="l00095"></a>00095 <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="l00096"></a>00096 <span class="keywordtype">double</span> E = 4.0 * atan(sqrt(std::abs(tan(s / 2)
+<a name="l00097"></a>00097 * tan((s - a) / 2)
+<a name="l00098"></a>00098 * tan((s - b) / 2)
+<a name="l00099"></a>00099 * tan((s - c) / 2))));
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 E = std::abs(E);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="comment">// In right direction: positive, add area. In left direction: negative, subtract area.</span>
+<a name="l00104"></a>00104 <span class="comment">// Longitude comparisons are not so obvious. If one is negative, other is positive,</span>
+<a name="l00105"></a>00105 <span class="comment">// we have to take the dateline into account.</span>
+<a name="l00106"></a>00106 <span class="comment">// TODO: check this / enhance this, should be more robust. See also the "grow" for ll</span>
+<a name="l00107"></a>00107 <span class="comment">// TODO: use minmax or "smaller"/"compare" strategy for this</span>
+<a name="l00108"></a>00108 <span class="keywordtype">double</span> lon1 = ggl::get_as_radian&lt;0&gt;(p1) &lt; 0
+<a name="l00109"></a>00109 ? ggl::get_as_radian&lt;0&gt;(p1) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00110"></a>00110 : ggl::get_as_radian&lt;0&gt;(p1);
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordtype">double</span> lon2 = ggl::get_as_radian&lt;0&gt;(p2) &lt; 0
+<a name="l00113"></a>00113 ? ggl::get_as_radian&lt;0&gt;(p2) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00114"></a>00114 : ggl::get_as_radian&lt;0&gt;(p2);
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keywordflow">if</span> (lon2 &lt; lon1)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 E = -E;
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a> += E;
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00125"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">00125</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">result</a>(<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <span class="keyword">const</span>&amp; state)<span class="keyword"> const</span>
+<a name="l00126"></a>00126 <span class="keyword"> </span>{
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">area</a>(m_radius);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">private</span> :
+<a name="l00132"></a>00132 <span class="keywordtype">double</span> m_radius;
+<a name="l00133"></a>00133 };
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 }} <span class="comment">// namespace strategy::area</span>
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span>strategy_area&lt;spherical_tag, Point&gt;
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> strategy::area::huiller&lt;Point&gt; <a class="code" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">type</a>;
+<a name="l00146"></a>00146 };
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span>
+<a name="l00150"></a>00150 } <span class="comment">// namespace ggl</span>
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/area_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_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of area function. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/area_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_AREA_RESULT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_AREA_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="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="strategies_2area_8hpp.html">ggl/strategies/area.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <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="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="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1area__result.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">00031</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="l00032"></a>00032 <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="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 <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="l00035"></a>00035 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
+<a name="l00036"></a><a class="code" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">00036</a> &gt;<a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">::type</a> <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="l00037"></a>00037
+<a name="l00038"></a><a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">00038</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>;
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<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 // GGL_STRATEGIES_AREA_RESULT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/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(C <span class="keyword">const</span> &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(PointSrc <span class="keyword">const</span>&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="classggl_1_1concept_1_1_point.html" title="Point concept.">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="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00105"></a>00105 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="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="classggl_1_1concept_1_1_point.html" title="Point concept.">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="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00137"></a>00137 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="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="classggl_1_1concept_1_1_point.html" title="Point concept.">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="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00170"></a>00170 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="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="classggl_1_1concept_1_1_point.html" title="Point concept.">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="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/art09.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/art09.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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="art09">A Generic Geometry Library (web-copy of article for BoostCon'09) </a></h1>Authors:<ul>
+<li>Barend Gehrels</li><li>Bruno Lalande</li></ul>
+<p>
+This page is a web-version of the article <b>A Generic Geometry Library</b>, for BoostCon'09.<p>
+<em>Note: this article is written December 2008, it is not updated (besides the namespace). There might be some things out of date. But most things are still as described here, be it that the Geographic stuff is moved to an extension.</em><h2><a class="anchor" name="art09_abstract">
+Abstract</a></h2>
+The Generic Geometry Library (GGL) is a library for geometry and geography. It is based on templates and static polymorphism. It is agnostic in coordinate space, coordinate system, and dimensions. The library is non intrusive and uses concepts for geometries for its algorithms. Developers can either use the provided geometries or define or use their own geometry types and specializations. Essential algorithms such as distance calculations, area calculations, point in polygon calculations are available. A geometry library like described would be a valuable addition to the Boost Library Collection.<h2><a class="anchor" name="art09_intro">
+Introduction</a></h2>
+The Boost Library Collection currently still does not have any geometry library. In the past years several discussions and previews have been published on the Boost Mailing Lists. There is certainly interest for a library handling geometry within the Boost community; it would be valuable if geometry algorithms are available for the Boost users. Such algorithms are for instance: the distance between two points, the area of a polygon, or determining if a point is in a polygon. Geometry is used in many disciplines and there are many approaches possible. Depending on their interest programmers feel other needs. Developers creating games will need other geometries, other algorithms, other dimensions and coordinate representations than developers creating CAD, geographic applications, astronomic or control software for robotics. Besides that, programmers have their personal flavors.<p>
+It is a major challenge to develop a consistent library containing every aspect of geometry, on which everyone agrees. This article describes one attempt of a geometry library. The Generic Geometry Library (GGL) developed and restyled in 2008 has been presented, at the time of writing, as a preview three times. With the feedback from the Boost community the library is enhanced and extended, it has been changed a lot and the library is better than it was before. It is still in preview phase and not yet reviewed nor accepted. There are other candidate libraries for geometry as well. This paper describes the characteristics and basic principles of the Generic Geometry Library. The Generic Geometry Library has been initiated by Geodan. Geodan is a company for Geographic Information Systems. Bruno Lalande, who has contributed to Boost libraries before, joined the team of developers.<h2><a class="anchor" name="art09_concepts">
+Geometry Concepts</a></h2>
+A geometry library should define geometry concepts and should implement algorithms working with those concepts. The library can then handle any geometry type modeled according to the concept. The task of selecting geometries and giving them proper names can already be a challenge and a subject for much discussion. The Wikipedia list of geometric shapes contains more than 30 different polygons, furthermore a dozen of triangles, rectangles, squares, kites, trapezoids, circles, ellipses, three dimensional shapes as polyhedrons, spheres. The list is probably never ending. The Generic Geometry Library is not attempting to create concepts for all these shapes. Instead, it models four concepts of basic geometries:<ul>
+<li>a point</li><li>a sequence of points (a linestring)</li><li>a point sequence which is closed (a (linear) ring)</li><li>a polygon (an outer ring which can optionally contain inner rings, also called donuts or holes)</li></ul>
+<p>
+With those four concepts, all two dimensional shapes composed of straight line segments (triangles, rectangular and polygonal, etc.) can be built. How to handle curved geometries in two dimensions is not yet worked out. An equivalent system might be used where segments between three points are marked as curved. The Generic Geometry Library defines concepts and provides default implementations of these concepts. Besides these predefined types, other types can be handled as well. Any point type that defines the required properties, at compile-time, and thus satisfies the point concept requirements can be used. The linear ring and the linestring concepts follow Boost Range Library concepts. Ranges are used to iterate through sequences of points. Therefore algorithms as length or area also work on a std::vector of points. The names of these concepts and of the provided geometries are consistent with the naming system of the OGC, described below. The names are also used for tags related to the tag dispatching me
chanism, which is used internally to distinguish geometry types. For convenience three other concepts are defined:<ul>
+<li>a box: to be able to select things, for spatial indexing, and to keep track of boundaries of geometries</li><li>an n-sphere: circle or sphere, to be able to select things</li><li>a segment: a part of line bounded by two points, to calculate e.g. distances and intersections</li></ul>
+<p>
+Besides defining custom types, library users can make specializations of algorithms for their geometry types and in such way implement support for, for example, triangles. This will be worked out below. The Boost Concept Check Library (BCCL) is used internally to check if the developer’s input follows the concepts expected by the library.<h2><a class="anchor" name="art09_dim">
+Dimensions</a></h2>
+The Generic Geometry Library is basically agnostic in its dimensions. A point is templatized by the number of dimensions, by coordinate type (integer, float, double, GMP), and by the coordinate system. Examples:<ul>
+<li>point&lt;double, 2, cartesian&gt;: a point in two dimensions</li><li>point&lt;double, 3, cartesian&gt;: a point in three dimensions</li><li>polygon&lt; point&lt;double, 2, spherical&lt;radian&gt; &gt; &gt;: a spherical polygon, measured in radians</li></ul>
+<p>
+Although points of any dimensions can be created, most algorithms are currently not prepared to handle all possible dimensions. Most algorithms that are provided handle points in Cartesian, Geographic or Spherical coordinate systems. A template parameter defining how to handle calculations in algorithms using big number types might be added in the future.<h2><a class="anchor" name="art09_cs">
+Coordinate systems</a></h2>
+A generic library handling geometry should be neutral in its coordinate space. In geography, points can be specified using X and Y (and Z), but also using Latitude and Longitude (and Height). In other disciplines there might be need for other names, for example: red, green and blue (defining colors in a color cube), or right ascension and declination (in astronomy). The concepts of the Generic Geometry Library use therefore neutral names (get and set) for accessing and modifying coordinates. Example, setting a point to (3,2): <div class="fragment"><pre class="fragment"><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">ggl::point&lt;double, 2, cartesian&gt;</a> a;
+ggl::set&lt;0&gt;(a, 3);
+ggl::set&lt;1&gt;(a, 2);
+</pre></div><p>
+Or, alternatively: <div class="fragment"><pre class="fragment"><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(a, 3, 2);
+</pre></div><p>
+These calls are generic. Library users might also choose to use or define more context targeted methods as a.x() and a.y() for setting and getting coordinates, or non default constructors. This as long as they also provide the specializations needed to enable the library to play with points the way shown above. The Generic Geometry Library provides a generic transform algorithm which can transform geometries from one coordinate system to another.<h2><a class="anchor" name="art09_types">
+Types And Strategies</a></h2>
+Algorithms depend on coordinate system. Let’s take, for example, the distance calculation between two points. For points in a Cartesian coordinate space the simple and well known Pythagorean theorem applies. For points in the geographic coordinate system (latitude longitude, also known as latlong, lola or ll) the distance can be calculated using the haversine formula (it is possible to select other formulas as well, which is described below). The Generic Geometry Library provides a tag dispatching system which selects strategies based on coordinate system. So distances and areas for spherical coordinates are internally calculated differently then distances and areas for Cartesian coordinates. This is, by default, not visible for the library user, it is an automatic tag dispatching system. The tag dispatching system is also used to distinguish geometry types internally. So the generic distance algorithm can get two points (in any coordinate system) as input, but also a point and a linestring, a point and a p
olygon, et cetera.<p>
+Example showing different strategies for different coordinate systems: <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> a(1,1), b(3,4);
+std::cout &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(a, b);
+
+<span class="keyword">typedef</span> ggl::point_ll&lt;&gt; LL;
+LL A, B;
+<span class="comment">// initialize lat-long coordinates</span>
+<span class="comment">// e.g., Amsterdam and Barcelona</span>
+<span class="comment">// ...</span>
+std::cout &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(A, B);
+</pre></div> This example uses two different point types. In the first part the Pythagorean theorem is used to calculate the distance between point a and point b. In the second part the distance along the sphere of earth is used (as the crow flies). Note that the non default constructor shown in the first line is not part of the concept; it is part of the implementation (so part of the example above). As described, distance is calculated using strategies for different coordinate systems. The distance algorithm selects automatically right specialization belonging to the geometry type, and then it selects the strategy belonging to the coordinate system. This strategy is then used for calculation. Algorithms in the Generic Geometry Library also have an overload where the strategy can be specified by the library user. This is useful for, for example, calculating distance along the earth (or along any sphere). There are several methods for that calculation, using internally either a fast or a precise algorithm.
The library user can select such a strategy or can implement his or her own strategy. For example, to use the exact Vincenty geodetic calculation (provided by the library): <div class="fragment"><pre class="fragment">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,
+ strategy::distance::vincenty&lt;LL&gt;())
+ &lt;&lt; std::endl;
+</pre></div> Algorithms as simplification (removing non important points from point sequences such that shape is preserved) use, internally, distance calculations. The same mechanism is used there. Therefore simplification works for Cartesian polygons the same as for polygons with geographical coordinates. It is exactly the same implementation.<h2><a class="anchor" name="art09_specializations">
+Specializations</a></h2>
+Besides strategies, library users have also other options for customization. For example: the Generic Geometry Library itself does not support triangles. Instead it supports polygons (which might contain holes) and linear rings. However, if the library user wants to use triangles directly, he can implement his own type. Let’s work this example out. A triangle can be represented by three coordinate pairs. The library user can make a triangle of his own points (in this case: custom_point), using e.g. a boost::array. <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>triangle : <span class="keyword">public</span> boost::array&lt;custom_point, 3&gt;
+{};
+</pre></div> The user then has to indicate that this geometry is handled as a linear ring. He therefore has to provide a specialization of the tag metafunction, defining a type for the tag dispatching mechanism. This should reside in the namespace <a class="el" href="namespaceggl.html">ggl</a>: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl
+{
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>tag&lt;triangle&gt;
+ {
+ <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">type</a>;
+ };
+}
+</pre></div> As soon as this is done, the library will automatically select the ring specializations for all triangle algorithms. Because the Generic Geometry Library handles a ring as being a range, the user does not have to provide anything more. The Boost Range library concepts are used internally for all iterations. So the area of the user’s custom-points-triangle will be calculated correctly, using internally an iterator which walks through the point coordinates. But wait, for triangle that is not as efficient as possible! No problem, the developer can, if desired, implement a specialization for the area function: <div class="fragment"><pre class="fragment"><span class="keyword">template</span>&lt;&gt;
+<span class="keywordtype">double</span> area&lt;triangle&gt;(<span class="keyword">const</span> triangle&amp; t)
+{
+ <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())
+ );
+}
+</pre></div><p>
+Now this specialization will be used to calculate the area of the developer’s triangles, while for other algorithms (centroid, within, intersection, et cetera) the generic ring versions still being used. The Generic Geometry Library also provides a second way to specialize. Within the dispatch namespace, structs are available for all operations. They can be partially specialized such that, for example, a triangle templatized by point type will be handled correctly by the library.<h2><a class="anchor" name="art09_conventions">
+Names And Conventions</a></h2>
+All geometry types and algorithms are named following the specifications of the Open Geospatial Consortium (OGC). The naming system of the OGC is carefully thought-out and has been agreed upon by a broad community. Additional algorithms and geometry types are named as much as possible using the same conventions and systematics. OGC conventions, geometry types and spatial operations are widely used, a.o. in spatial databases, such as PostGreSQL, MySQL, Oracle, and SQL Server. The OGC defines the following algorithms:<ul>
+<li>Basic algorithms: dimension, envelope, as_text, as_binary, is_simple, is_empty</li><li>Query algorithms: equals, disjoint, intersects, touches, crosses, within, contains, overlaps, relate, locate_along, locate_between</li><li>Analysis algorithms: distance, buffer, convex_hull, intersection, union, difference, sym_difference</li><li>Geometry type dependant algorithms: area, length, centroid, point_on_surface</li></ul>
+<p>
+All algorithms are planned to be implemented. Besides this there are some other algorithms provided or planned:<ul>
+<li>Simplify, densify, disperse, spline, triangulate</li><li>Coordinate system conversions: transform</li></ul>
+<p>
+The last one, transform, transforms geometries from any coordinate system to any other coordinate system. For example from radian to degree, but also from spherical to a 3D X,Y,Z coordinate system, or calling a map projection. Textual representations of geometries (Well-Known Text or WKT) are also provided by the library, as well as the parsing of them. The OGC also defines geometry types containing a collection of geometries, which are planned to be supported:<ul>
+<li>multi_point</li><li>multi_linestring</li><li>multi_polygon</li></ul>
+<p>
+The Generic Geometry Library is not OGC compliant in the strict sense. It sometimes deviates from the specifications to enable genericity. It uses Boost Range concepts for the linestring geometry type. The library user can therefore use any standard container or Range compatible type as a linestring (a sequence of points). And the output of intersections is, for example, modeled as an output iterator instead of a multi_polygon or a multi_linestring.<h2><a class="anchor" name="art09_index">
+Spatial Indexes</a></h2>
+In geometry or GIS, spatial indexes can be used to search geometries or to enhance or speed up determination of geometry relationships. In 2008, a student, within the framework of the Google Summer of Code, has worked out a first version of a spatial indexing library which uses the Generic Geometry Library. This will be worked out and extended in the future. The Priority R-Tree, an R-Tree having optimal performance for any query window, will be available for fast searches within a set of geometries.<h2><a class="anchor" name="art09_proj">
+Map Projections</a></h2>
+The Generic Geometry Library can be used as a generic library for Geographic Information Systems (GIS). It therefore contains map projections. Map projections are algorithms to map the spherical earth to a flat piece of paper. There are many ways to do this. The USGS has implemented over the years 92 projection algorithms, collected in an often used PROJ4 package, written in C. This package is recently fitted into the Generic Geometry Library by converting it to a set of C++ templates. The projection collection contains both static as dynamic polymorphism. It is possible to instantiate a projection declaring the wished projection itself, for example: <div class="fragment"><pre class="fragment"><span class="keyword">typedef</span> ggl::point_ll&lt;double, geographic&lt;&gt; &gt; LL;
+<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> XY;
+projection::merc_ellipsoid&lt;LL, XY&gt; prj(
+ <span class="stringliteral">"+ellps=WGS84 +lon_0=11.6E"</span>);
+
+<span class="comment">// Define Amsterdam / Barcelona</span>
+LL amsterdam, barcelona;
+<span class="comment">// Initialize A'dam / B'ona</span>
+...
+XY ma, mb; <span class="comment">// Declare points</span>
+<span class="comment">// and project (from latlong to XY)</span>
+<span class="keywordflow">if</span> (prj.forward(amsterdam, ma)
+ &amp;&amp; prj.forward(barcelona, mb))
+{ ... }
+</pre></div><p>
+This will use static polymorphism. Note that the initialization string is conform PROJ4, but it is also possible to initialize projections with e.g. a std::map. Static polymorphism is also used if the already mentioned transform algorithm provided by the library is used, a generic algorithm for transforming or projecting geometries:<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// declare type UTM zone 30, Cartesian</span>
+<span class="comment">// using EPSG 2040</span>
+<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, epsg&lt;2040&gt;</a> &gt; UTM;
+
+<span class="comment">// Assign Amsterdam / Barcelona in UTM</span>
+...
+
+<span class="comment">// call generic transformation</span>
+ggl::transform (amsterdam, ma);
+<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">ggl::transform</a> (barcelona, mb);
+</pre></div><p>
+EPSG has defined the accepted standard coding for map projections, worldwide, and an EPSG code can be used as a template parameter in the provided EPSG Cartesian coordinate system. Besides specific instantiation, any projection can also be instantiated using a factory:<p>
+<div class="fragment"><pre class="fragment">projection::factory&lt;LL, XY&gt; fac;
+boost::shared_ptr&lt;projection::projection&lt;LL, XY&gt; &gt; prj(fac.create_new(parameters));
+</pre></div><p>
+The projection instance can now be any projection, created by the factory according to its parameters (which should contain the name of the projection). The instantiated projection-base-class derived class contains virtual methods for forward and inverse projection, but is still also modeled using template parameters for its point types.<h2><a class="anchor" name="art09_conclusions">
+Conclusions</a></h2>
+The Generic Geometry Library as described and published in preview is an extensive generic template geometry library containing many algorithms. It can be used for simple algorithms such as distance calculation but it can also be used in larger contexts such as GIS or Web Mapping applications. It is an Open Source library following the Boost Software License. The Boost Community would profit from a geometry library as described in this article. </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>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 (<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 Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084">ggl::as_range</a> (Geometry &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 (<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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.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="preprocessor">#include &lt;<a class="code" href="add__const__if__c_8hpp.html">ggl/util/add_const_if_c.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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00028"></a>00028 {
+<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> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span><a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">as_range</a>
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Range&gt;::type&amp; <span class="keyword">get</span>(
+<a name="l00035"></a>00035 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Geometry&gt;::type&amp; input)
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> input;
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span><a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">as_range</a>&lt;polygon_tag, Geometry, Range, IsConst&gt;
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Range&gt;::type&amp; <span class="keyword">get</span>(
+<a name="l00046"></a>00046 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Geometry&gt;::type&amp; input)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(input);
+<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="comment">// namespace dispatch</span>
+<a name="l00054"></a>00054 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056
+<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00064"></a><a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084">00064</a> <span class="keyword">inline</span> Range&amp; <a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">as_range</a>(Geometry&amp; input)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">dispatch::as_range</a>
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 <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="l00069"></a>00069 Geometry,
+<a name="l00070"></a>00070 Range,
+<a name="l00071"></a>00071 <span class="keyword">false</span>
+<a name="l00072"></a>00072 &gt;<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">::get</a>(input);
+<a name="l00073"></a>00073 }
+<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#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">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#g99e0a8eac282cd44fbdb1a47666ea084" title="Function getting either the range (ring, linestring) itself or the outer ring (polygon)...">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 <span class="keyword">true</span>
+<a name="l00091"></a>00091 &gt;<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">::get</a>(input);
+<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_UTIL_AS_RANGE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/assemble.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assemble_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,535 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/assemble.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_ASSEMBLE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_ASSEMBLE_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;deque&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <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="l00016"></a>00016 <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="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <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="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="sort__interior__rings_8hpp.html">ggl/algorithms/overlay/sort_interior_rings.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<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_2num__points_8hpp.html">ggl/algorithms/num_points.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="point__on__border_8hpp.html">ggl/algorithms/detail/point_on_border.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<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
+<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>overlay {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="comment">// Utility function</span>
+<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryOut, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00041"></a>00041 <span class="keywordtype">void</span> convert_and_output(Geometry <span class="keyword">const</span>&amp; geometry, OutputIterator&amp; out)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00044"></a>00044 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00045"></a>00045 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00046"></a>00046 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 GeometryOut result;
+<a name="l00049"></a>00049 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(geometry, result);
+<a name="l00050"></a>00050 *out = result;
+<a name="l00051"></a>00051 out++;
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">template</span>
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Geometry1,
+<a name="l00060"></a>00060 <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> GeometryOut,
+<a name="l00061"></a>00061 <span class="keywordtype">int</span> Direction
+<a name="l00062"></a>00062 &gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span>take_if_1_is_in_2
+<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>
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 <span class="keywordtype">int</span> Direction,
+<a name="l00070"></a>00070 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> GeometryOut
+<a name="l00071"></a>00071 &gt;
+<a name="l00072"></a>00072 <span class="keyword">inline</span> <span class="keywordtype">bool</span> take_one(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00073"></a>00073 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00074"></a>00074 GeometryOut&amp; out
+<a name="l00075"></a>00075 )
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <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> point;
+<a name="l00078"></a>00078 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(geometry1, point);
+<a name="l00079"></a>00079 <span class="keywordflow">if</span> (<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(point, geometry2))
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 take_if_1_is_in_2
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type, Geometry1,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type, Geometry2,
+<a name="l00085"></a>00085 GeometryOut, Direction
+<a name="l00086"></a>00086 &gt;::apply(geometry1, geometry2, out);
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<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>
+<a name="l00094"></a>00094 &lt;
+<a name="l00095"></a>00095 <span class="keyword">typename</span> TagOut,
+<a name="l00096"></a>00096 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> GeometryOut,
+<a name="l00097"></a>00097 <span class="keyword">typename</span> Container,
+<a name="l00098"></a>00098 <span class="keywordtype">int</span> Direction
+<a name="l00099"></a>00099 &gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span>add_holes
+<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(Geometry <span class="keyword">const</span>&amp;, GeometryOut&amp;, Container <span class="keyword">const</span>&amp; holes)
+<a name="l00103"></a>00103 {}
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">template</span>
+<a name="l00109"></a>00109 &lt;
+<a name="l00110"></a>00110 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00111"></a>00111 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut,
+<a name="l00112"></a>00112 <span class="keywordtype">int</span> Direction
+<a name="l00113"></a>00113 &gt;
+<a name="l00114"></a>00114 <span class="keyword">struct </span>take_none_or_both
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00117"></a>00117 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00118"></a>00118 OutputIterator out
+<a name="l00119"></a>00119 )
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 };
+<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> Tag, <span class="keyword">typename</span> GeometryOut,
+<a name="l00129"></a>00129 <span class="keyword">typename</span> Container, <span class="keywordtype">int</span> Direction
+<a name="l00130"></a>00130 &gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span>assemble_rings
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Container <span class="keyword">const</span>&amp; rings,
+<a name="l00135"></a>00135 Container <span class="keyword">const</span>&amp; ni_holes,
+<a name="l00136"></a>00136 OutputIterator out)
+<a name="l00137"></a>00137 {}
+<a name="l00138"></a>00138 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="keyword">template</span>
+<a name="l00142"></a>00142 &lt;
+<a name="l00143"></a>00143 <span class="keyword">typename</span> GeometryOut, <span class="keyword">typename</span> Container, <span class="keywordtype">int</span> Direction
+<a name="l00144"></a>00144 &gt;
+<a name="l00145"></a>00145 <span class="keyword">struct </span>assemble_rings&lt;polygon_tag, GeometryOut, Container, Direction&gt;
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Container&gt;::type ring_type;
+<a name="l00148"></a>00148 <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;ring_type&gt;::type</a> point_type;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00151"></a>00151 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Container <span class="keyword">const</span>&amp; rings,
+<a name="l00152"></a>00152 Container <span class="keyword">const</span>&amp; ni_holes,
+<a name="l00153"></a>00153 OutputIterator out)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 std::vector&lt;sortable&gt; sorted_rings;
+<a name="l00156"></a>00156 sort_interior_rings(rings, sorted_rings, 1);
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="comment">// Add polygons, and holes</span>
+<a name="l00159"></a>00159 <span class="keywordflow">for</span> (std::vector&lt;sortable&gt;::const_iterator
+<a name="l00160"></a>00160 rit = boost::begin(sorted_rings);
+<a name="l00161"></a>00161 rit != boost::end(sorted_rings);
+<a name="l00162"></a>00162 ++rit)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keywordflow">if</span> (rit-&gt;index_of_parent == -1)
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 GeometryOut result;
+<a name="l00167"></a>00167 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(rings[rit-&gt;index], result);
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="comment">// Add holes (direction is OK, so no reverse)</span>
+<a name="l00170"></a>00170 std::vector&lt;int&gt; <span class="keyword">const</span>&amp; holes = rit-&gt;index_of_holes;
+<a name="l00171"></a>00171 <span class="keywordflow">for</span> (std::vector&lt;int&gt;::const_iterator hit = holes.begin();
+<a name="l00172"></a>00172 hit != holes.end();
+<a name="l00173"></a>00173 ++hit)
+<a name="l00174"></a>00174 {
+<a name="l00175"></a>00175 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(result).push_back(rings[*hit]);
+<a name="l00176"></a>00176 }
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="comment">// Add also all non-intersecting-inner-holes</span>
+<a name="l00179"></a>00179 add_holes
+<a name="l00180"></a>00180 &lt;
+<a name="l00181"></a>00181 polygon_tag,
+<a name="l00182"></a>00182 ring_type, GeometryOut, Container,
+<a name="l00183"></a>00183 Direction
+<a name="l00184"></a>00184 &gt;::apply(rings[rit-&gt;index], result, ni_holes);
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 *out = result;
+<a name="l00187"></a>00187 out++;
+<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="keyword">template</span>
+<a name="l00195"></a>00195 &lt;
+<a name="l00196"></a>00196 <span class="keyword">typename</span> GeometryOut, <span class="keyword">typename</span> Container, <span class="keywordtype">int</span> Direction
+<a name="l00197"></a>00197 &gt;
+<a name="l00198"></a>00198 <span class="keyword">struct </span>assemble_rings&lt;ring_tag, GeometryOut, Container, Direction&gt;
+<a name="l00199"></a>00199 {
+<a name="l00200"></a>00200 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Container&gt;::type ring_type;
+<a name="l00201"></a>00201 <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;ring_type&gt;::type</a> point_type;
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00204"></a>00204 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Container <span class="keyword">const</span>&amp; rings,
+<a name="l00205"></a>00205 Container <span class="keyword">const</span>&amp; ni_holes,
+<a name="l00206"></a>00206 OutputIterator out)
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="comment">// Add positive rings, ignore all holes</span>
+<a name="l00209"></a>00209 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;Container&gt;::type
+<a name="l00210"></a>00210 it = boost::begin(rings);
+<a name="l00211"></a>00211 it != boost::end(rings);
+<a name="l00212"></a>00212 ++it)
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 <span class="keywordflow">if</span> (<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(*it) &gt; 0)
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 convert_and_output&lt;GeometryOut&gt;(*it, out);
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220 };
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Tag&gt;
+<a name="l00225"></a>00225 <span class="keyword">struct </span>get_not_intersecting_holes
+<a name="l00226"></a>00226 {
+<a name="l00227"></a>00227 <span class="keyword">template</span>
+<a name="l00228"></a>00228 &lt;
+<a name="l00229"></a>00229 <span class="keyword">typename</span> Polygon,
+<a name="l00230"></a>00230 <span class="keyword">typename</span> IpContainer, <span class="keyword">typename</span> HoleContainer
+<a name="l00231"></a>00231 &gt;
+<a name="l00232"></a>00232 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp;, <span class="keywordtype">int</span>,
+<a name="l00233"></a>00233 IpContainer <span class="keyword">const</span>&amp;, HoleContainer&amp; )
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 };
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">template</span>&lt;&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span>get_not_intersecting_holes&lt;polygon_tag&gt;
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keyword">template</span>
+<a name="l00243"></a>00243 &lt;
+<a name="l00244"></a>00244 <span class="keyword">typename</span> Polygon,
+<a name="l00245"></a>00245 <span class="keyword">typename</span> IpContainer, <span class="keyword">typename</span> HoleContainer
+<a name="l00246"></a>00246 &gt;
+<a name="l00247"></a>00247 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; polygon, <span class="keywordtype">int</span> source_index,
+<a name="l00248"></a>00248 IpContainer <span class="keyword">const</span>&amp; ips,
+<a name="l00249"></a>00249 HoleContainer&amp; holes)
+<a name="l00250"></a>00250 {
+<a name="l00251"></a>00251 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IpContainer&gt;::type ip_type;
+<a name="l00252"></a>00252 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;IpContainer&gt;::type iterator_type;
+<a name="l00253"></a>00253 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector vector_type;
+<a name="l00254"></a>00254 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="comment">// Declare vector, fill with false</span>
+<a name="l00257"></a>00257 <span class="keywordtype">int</span> <span class="keyword">const</span> n = <a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(polygon);
+<a name="l00258"></a>00258 std::vector&lt;bool&gt; intersecting(n, <span class="keyword">false</span>);
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 <span class="comment">// Check all IP's and set corresponding inner rings to "intersecting"</span>
+<a name="l00262"></a>00262 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ips);
+<a name="l00263"></a>00263 it != boost::end(ips);
+<a name="l00264"></a>00264 ++it)
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00267"></a>00267 tvit != boost::end(it-&gt;info);
+<a name="l00268"></a>00268 ++tvit)
+<a name="l00269"></a>00269 {
+<a name="l00270"></a>00270 <span class="keywordflow">if</span> (tvit-&gt;seg_id.source_index == source_index)
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 <span class="keywordtype">int</span> <span class="keyword">const</span> r = tvit-&gt;seg_id.ring_index;
+<a name="l00273"></a>00273 <span class="keywordflow">if</span> (r &gt;= 0 &amp;&amp; r &lt; n)
+<a name="l00274"></a>00274 {
+<a name="l00275"></a>00275 intersecting[r] = <span class="keyword">true</span>;
+<a name="l00276"></a>00276 }
+<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 <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00282"></a>00282 &lt;
+<a name="l00283"></a>00283 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00284"></a>00284 &gt;::type rit = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00285"></a>00285 std::vector&lt;bool&gt;::const_iterator iit = boost::begin(intersecting);
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="keywordflow">for</span> (;
+<a name="l00288"></a>00288 rit != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon))
+<a name="l00289"></a>00289 &amp;&amp; iit != boost::end(intersecting);
+<a name="l00290"></a>00290 ++rit, ++iit)
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292 <span class="keywordflow">if</span> (! (*iit))
+<a name="l00293"></a>00293 {
+<a name="l00294"></a>00294 <span class="comment">// Don't pushback, it might be of different type.</span>
+<a name="l00295"></a>00295 holes.resize(holes.size() + 1);
+<a name="l00296"></a>00296 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(*rit, holes.back());
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298 }
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 };
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303
+<a name="l00304"></a>00304 <span class="keyword">template</span>
+<a name="l00305"></a>00305 &lt;
+<a name="l00306"></a>00306 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00307"></a>00307 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut,
+<a name="l00308"></a>00308 <span class="keywordtype">int</span> Direction
+<a name="l00309"></a>00309 &gt;
+<a name="l00310"></a>00310 <span class="keyword">struct </span>overlay_and_assemble
+<a name="l00311"></a>00311 {
+<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">ggl::tag&lt;Geometry1&gt;::type</a> tag1;
+<a name="l00313"></a>00313 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">ggl::tag&lt;Geometry2&gt;::type</a> tag2;
+<a name="l00314"></a>00314 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">ggl::tag&lt;GeometryOut&gt;::type</a> tag_out;
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00317"></a>00317 Geometry2 <span class="keyword">const</span>&amp; geometry2, OutputIterator out)
+<a name="l00318"></a>00318 {
+<a name="l00319"></a>00319 <span class="keywordflow">if</span> (<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">ggl::num_points</a>(geometry1) == 0
+<a name="l00320"></a>00320 || <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">ggl::num_points</a>(geometry2) == 0)
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="keywordflow">return</span> out;
+<a name="l00323"></a>00323 }
+<a name="l00324"></a>00324
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 <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="l00327"></a>00327 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
+<a name="l00328"></a>00328 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; container_type;
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="comment">// "Abuse" rangetype for ringtype: for polygon, it is the type of the</span>
+<a name="l00331"></a>00331 <span class="comment">// exterior ring. For ring, it is the ring itself. That is what is</span>
+<a name="l00332"></a>00332 <span class="comment">// wished here as well.</span>
+<a name="l00333"></a>00333 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;GeometryOut&gt;::type</a> ring_type;
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335 container_type ips; <span class="comment">// intersection points</span>
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <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>(geometry1, geometry2, ips);
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="comment">// If there are no IP-s, check if one point is in other geometry</span>
+<a name="l00340"></a>00340 <span class="comment">// (both geometries have points, see check above)</span>
+<a name="l00341"></a>00341 <span class="comment">// If yes, take the correct one</span>
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="comment">// (which depends on intersection/union)</span>
+<a name="l00344"></a>00344 <span class="comment">// If both are unrelated, take none (intersection) or both (union)</span>
+<a name="l00345"></a>00345
+<a name="l00346"></a>00346 <span class="comment">// If there are disjoint or containing holes:</span>
+<a name="l00347"></a>00347 <span class="comment">// - Hole of A can be within hole of B</span>
+<a name="l00348"></a>00348 <span class="comment">// - for union: take hole of A</span>
+<a name="l00349"></a>00349 <span class="comment">// - for intersection: take hole of B</span>
+<a name="l00350"></a>00350 <span class="comment">// - Hole of A can be disjoint from B</span>
+<a name="l00351"></a>00351 <span class="comment">// - for union: remove those holes</span>
+<a name="l00352"></a>00352 <span class="comment">// - for intersection: take all those holes</span>
+<a name="l00353"></a>00353 <span class="comment">// -&gt; generic procedure</span>
+<a name="l00354"></a>00354 <span class="comment">// - Collect all holes in one vector</span>
+<a name="l00355"></a>00355 <span class="comment">// - Sort them on decreasing area</span>
+<a name="l00356"></a>00356 <span class="comment">// - Check if one is within a larger one,</span>
+<a name="l00357"></a>00357 <span class="comment">// - if yes, take one of them</span>
+<a name="l00358"></a>00358 <span class="comment">// - if no, take all, or none of them</span>
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 <span class="comment">// Gather non-intersecting holes</span>
+<a name="l00361"></a>00361 <span class="keyword">typedef</span> std::vector&lt;ring_type&gt; hole_vector_type;
+<a name="l00362"></a>00362 hole_vector_type ni_holes;
+<a name="l00363"></a>00363 get_not_intersecting_holes&lt;tag1&gt;::apply(geometry1, 0, ips, ni_holes);
+<a name="l00364"></a>00364 get_not_intersecting_holes&lt;tag2&gt;::apply(geometry2, 1, ips, ni_holes);
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
+<a name="l00367"></a>00367 {
+<a name="l00368"></a>00368 GeometryOut result;
+<a name="l00369"></a>00369 <span class="keywordflow">if</span> (take_one&lt;Direction&gt;(geometry1, geometry2, result))
+<a name="l00370"></a>00370 {
+<a name="l00371"></a>00371 add_holes
+<a name="l00372"></a>00372 &lt;
+<a name="l00373"></a>00373 tag_out, Geometry1, GeometryOut, hole_vector_type,
+<a name="l00374"></a>00374 Direction
+<a name="l00375"></a>00375 &gt;::apply(geometry1, result, ni_holes);
+<a name="l00376"></a>00376 *out = result;
+<a name="l00377"></a>00377 out++;
+<a name="l00378"></a>00378 }
+<a name="l00379"></a>00379 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (take_one&lt;Direction&gt;(geometry2, geometry1, result))
+<a name="l00380"></a>00380 {
+<a name="l00381"></a>00381 add_holes
+<a name="l00382"></a>00382 &lt;
+<a name="l00383"></a>00383 tag_out,
+<a name="l00384"></a>00384 Geometry2, GeometryOut, hole_vector_type,
+<a name="l00385"></a>00385 Direction
+<a name="l00386"></a>00386 &gt;::apply(geometry2, result, ni_holes);
+<a name="l00387"></a>00387 *out = result;
+<a name="l00388"></a>00388 out++;
+<a name="l00389"></a>00389 }
+<a name="l00390"></a>00390 <span class="keywordflow">else</span>
+<a name="l00391"></a>00391 {
+<a name="l00392"></a>00392 take_none_or_both
+<a name="l00393"></a>00393 &lt;
+<a name="l00394"></a>00394 Geometry1, Geometry2,
+<a name="l00395"></a>00395 OutputIterator, GeometryOut,
+<a name="l00396"></a>00396 Direction
+<a name="l00397"></a>00397 &gt;::apply(geometry1, geometry2, out);
+<a name="l00398"></a>00398 }
+<a name="l00399"></a>00399 }
+<a name="l00400"></a>00400 <span class="keywordflow">else</span>
+<a name="l00401"></a>00401 {
+<a name="l00402"></a>00402 <span class="keywordflow">if</span> (! trivial)
+<a name="l00403"></a>00403 {
+<a name="l00404"></a>00404 <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="l00405"></a>00405
+<a name="l00406"></a>00406 <span class="comment">// If all IP's are removed, they are all collinear or forming</span>
+<a name="l00407"></a>00407 <span class="comment">// an angle which each other.</span>
+<a name="l00408"></a>00408 <span class="comment">// In that case, the inputs are EQUAL.</span>
+<a name="l00409"></a>00409 <span class="comment">// For both intersection and union, just output one.</span>
+<a name="l00410"></a>00410 <span class="keywordflow">if</span> (ips.size() == 0)
+<a name="l00411"></a>00411 {
+<a name="l00412"></a>00412 convert_and_output&lt;GeometryOut&gt;(geometry1, out);
+<a name="l00413"></a>00413 <span class="keywordflow">return</span> out;
+<a name="l00414"></a>00414 }
+<a name="l00415"></a>00415
+<a name="l00416"></a>00416 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
+<a name="l00417"></a>00417 }
+<a name="l00418"></a>00418
+<a name="l00419"></a>00419 <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="l00420"></a>00420
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 std::vector&lt;ring_type&gt; v;
+<a name="l00423"></a>00423 ggl::traverse&lt;ring_type&gt;
+<a name="l00424"></a>00424 (
+<a name="l00425"></a>00425 geometry1,
+<a name="l00426"></a>00426 geometry2,
+<a name="l00427"></a>00427 Direction,
+<a name="l00428"></a>00428 ips,
+<a name="l00429"></a>00429 trivial,
+<a name="l00430"></a>00430 std::back_inserter(v)
+<a name="l00431"></a>00431 );
+<a name="l00432"></a>00432
+<a name="l00433"></a>00433 <span class="keywordflow">switch</span> (boost::size(v))
+<a name="l00434"></a>00434 {
+<a name="l00435"></a>00435 <span class="keywordflow">case</span> 0 : <span class="keywordflow">break</span>;
+<a name="l00436"></a>00436 <span class="keywordflow">case</span> 1 :
+<a name="l00437"></a>00437 <span class="comment">//convert_and_output&lt;GeometryOut&gt;(v.front(), out);</span>
+<a name="l00438"></a>00438 {
+<a name="l00439"></a>00439 GeometryOut result;
+<a name="l00440"></a>00440 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(v.front(), result);
+<a name="l00441"></a>00441 add_holes
+<a name="l00442"></a>00442 &lt;
+<a name="l00443"></a>00443 tag_out,
+<a name="l00444"></a>00444 ring_type, GeometryOut, hole_vector_type,
+<a name="l00445"></a>00445 Direction
+<a name="l00446"></a>00446 &gt;::apply(v.front(), result, ni_holes);
+<a name="l00447"></a>00447 *out = result;
+<a name="l00448"></a>00448 out++;
+<a name="l00449"></a>00449 }
+<a name="l00450"></a>00450 <span class="keywordflow">break</span>;
+<a name="l00451"></a>00451 <span class="keywordflow">default</span> :
+<a name="l00452"></a>00452 assemble_rings
+<a name="l00453"></a>00453 &lt;
+<a name="l00454"></a>00454 tag_out, GeometryOut,
+<a name="l00455"></a>00455 hole_vector_type, Direction
+<a name="l00456"></a>00456 &gt;::apply(v, ni_holes, out);
+<a name="l00457"></a>00457 }
+<a name="l00458"></a>00458 }
+<a name="l00459"></a>00459
+<a name="l00460"></a>00460 <span class="keywordflow">return</span> out;
+<a name="l00461"></a>00461 }
+<a name="l00462"></a>00462 };
+<a name="l00463"></a>00463
+<a name="l00464"></a>00464
+<a name="l00465"></a>00465 }} <span class="comment">// namespace detail::overlay</span>
+<a name="l00466"></a>00466 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00467"></a>00467 <span class="preprocessor"></span>
+<a name="l00468"></a>00468
+<a name="l00469"></a>00469 } <span class="comment">// ggl</span>
+<a name="l00470"></a>00470
+<a name="l00471"></a>00471 <span class="preprocessor">#endif //GGL_ALGORITHMS_OVERLAY_ASSEMBLE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , 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="group__access.html#g01c6d019dc45f5ce8879dd80f782164a">ggl::assign</a> (Geometry &amp;geometry, Range 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 Geometry , typename Type &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#g20da5a3c93b6acef4960d64403058684">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type const &amp;c3, Type const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Type &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#g0cad7f19a3953827f4e0103a4d8c5de7">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type 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 Geometry , typename Type &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#g8048129c97cd540dc75d9040d8d95c0e">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type 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 Box , 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__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">ggl::assign_box_corners</a> (Box const &amp;box, Point &amp;lower_left, Point &amp;lower_right, Point &amp;upper_left, Point &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 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__access.html#g490821bd25a63cc584be1319375794f0">ggl::assign_inverse</a> (Geometry &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;std::size_t Index, typename Point , 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__access.html#ge488e5481766be6f054c615743e7cc8e">ggl::assign_point_from_index</a> (Geometry const &amp;geometry, Point &amp;point)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Index, typename Geometry , 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__access.html#gfebbca0a1f8d9668e0622efa07f731f4">ggl::assign_point_to_index</a> (Point const &amp;point, Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;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__access.html#g3b95c5faaa108785681e58099b48dc35">ggl::assign_zero</a> (Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <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="l00030"></a>00030
+<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><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a> {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>assign_operation
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">inline</span> assign_operation(CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00042"></a>00042 : m_value(value)
+<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> P, std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00046"></a>00046 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; point)<span class="keyword"> const</span>
+<a name="l00047"></a>00047 <span class="keyword"> </span>{
+<a name="l00048"></a>00048 set&lt;I&gt;(point, m_value);
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">private</span>:
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 CoordinateType m_value;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00065"></a>00065 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_value(Point&amp; p,
+<a name="l00066"></a>00066 <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type <span class="keyword">const</span>&amp; value)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p,
+<a name="l00069"></a>00069 assign_operation&lt;<span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type&gt;(value));
+<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>
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 <span class="keyword">typename</span> Box, std::size_t Index,
+<a name="l00077"></a>00077 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00078"></a>00078 &gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>initialize
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 set&lt;Index, Dimension&gt;(box, value);
+<a name="l00086"></a>00086 initialize&lt;Box, Index, Dimension + 1, DimensionCount&gt;::apply(box, value);
+<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> Box, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00092"></a>00092 <span class="keyword">struct </span>initialize&lt;Box, Index, DimensionCount, DimensionCount&gt;
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp;, coordinate_type <span class="keyword">const</span>&amp; )
+<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> Po<span class="keywordtype">int</span>&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>assign_zero_point
+<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(Point&amp; point)
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00107"></a>00107 assign_value(point, 0);
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span>assign_inverse_box
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;point_type&gt;::type coordinate_type;
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 initialize
+<a name="l00122"></a>00122 &lt;
+<a name="l00123"></a>00123 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="l00124"></a>00124 &gt;::apply(
+<a name="l00125"></a>00125 box, boost::numeric::bounds&lt;coordinate_type&gt;::highest());
+<a name="l00126"></a>00126 initialize
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 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="l00129"></a>00129 &gt;::apply(
+<a name="l00130"></a>00130 box, boost::numeric::bounds&lt;coordinate_type&gt;::lowest());
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00136"></a>00136 <span class="keyword">struct </span>assign_zero_box
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 initialize
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 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="l00145"></a>00145 &gt;::apply(box, coordinate_type());
+<a name="l00146"></a>00146 initialize
+<a name="l00147"></a>00147 &lt;
+<a name="l00148"></a>00148 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="l00149"></a>00149 &gt;::apply(box, coordinate_type());
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 };
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keyword">template</span>
+<a name="l00155"></a>00155 &lt;
+<a name="l00156"></a>00156 std::size_t Corner1, std::size_t Corner2,
+<a name="l00157"></a>00157 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point
+<a name="l00158"></a>00158 &gt;
+<a name="l00159"></a>00159 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_box_2d_corner(Box <span class="keyword">const</span>&amp; box, Point&amp; point)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="comment">// Be sure both are 2-Dimensional</span>
+<a name="l00162"></a>00162 assert_dimension&lt;Box, 2&gt;();
+<a name="l00163"></a>00163 assert_dimension&lt;Point, 2&gt;();
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="comment">// Copy coordinates</span>
+<a name="l00166"></a>00166 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 set&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;Corner1, 0&gt;(box)));
+<a name="l00169"></a>00169 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;Corner2, 1&gt;(box)));
+<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 <span class="keyword">template</span>
+<a name="l00175"></a>00175 &lt;
+<a name="l00176"></a>00176 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Point,
+<a name="l00177"></a>00177 std::size_t Index,
+<a name="l00178"></a>00178 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00179"></a>00179 &gt;
+<a name="l00180"></a>00180 <span class="keyword">struct </span><a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4" title="Assign a box or segment with the value of a point.">assign_point_to_index</a>
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; point, Geometry&amp; geometry)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 ggl::set&lt;Index, Dimension&gt;(geometry, boost::numeric_cast
+<a name="l00186"></a>00186 &lt;
+<a name="l00187"></a>00187 <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type
+<a name="l00188"></a>00188 &gt;(ggl::get&lt;Dimension&gt;(point)));
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4" title="Assign a box or segment with the value of a point.">assign_point_to_index</a>
+<a name="l00191"></a>00191 &lt;
+<a name="l00192"></a>00192 Geometry, Point, Index, Dimension + 1, DimensionCount
+<a name="l00193"></a>00193 &gt;::apply(point, geometry);
+<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>
+<a name="l00198"></a>00198 &lt;
+<a name="l00199"></a>00199 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Point,
+<a name="l00200"></a>00200 std::size_t Index,
+<a name="l00201"></a>00201 std::size_t DimensionCount
+<a name="l00202"></a>00202 &gt;
+<a name="l00203"></a>00203 <span class="keyword">struct </span><a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4" title="Assign a box or segment with the value of a point.">assign_point_to_index</a>
+<a name="l00204"></a>00204 &lt;
+<a name="l00205"></a>00205 Geometry, Point,
+<a name="l00206"></a>00206 Index,
+<a name="l00207"></a>00207 DimensionCount, DimensionCount
+<a name="l00208"></a>00208 &gt;
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; , Geometry&amp; )
+<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
+<a name="l00216"></a>00216 <span class="keyword">template</span>
+<a name="l00217"></a>00217 &lt;
+<a name="l00218"></a>00218 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Point,
+<a name="l00219"></a>00219 std::size_t Index,
+<a name="l00220"></a>00220 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00221"></a>00221 &gt;
+<a name="l00222"></a>00222 <span class="keyword">struct </span><a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e" title="Assign a point with a point of a box or segment.">assign_point_from_index</a>
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; geometry, Point&amp; point)
+<a name="l00226"></a>00226 {
+<a name="l00227"></a>00227 ggl::set&lt;Dimension&gt;( point, boost::numeric_cast
+<a name="l00228"></a>00228 &lt;
+<a name="l00229"></a>00229 <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type
+<a name="l00230"></a>00230 &gt;(ggl::get&lt;Index, Dimension&gt;(geometry)));
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e" title="Assign a point with a point of a box or segment.">assign_point_from_index</a>
+<a name="l00233"></a>00233 &lt;
+<a name="l00234"></a>00234 Geometry, Point, Index, Dimension + 1, DimensionCount
+<a name="l00235"></a>00235 &gt;::apply(geometry, point);
+<a name="l00236"></a>00236 }
+<a name="l00237"></a>00237 };
+<a name="l00238"></a>00238
+<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> Geometry, <span class="keyword">typename</span> Point,
+<a name="l00242"></a>00242 std::size_t Index,
+<a name="l00243"></a>00243 std::size_t DimensionCount
+<a name="l00244"></a>00244 &gt;
+<a name="l00245"></a>00245 <span class="keyword">struct </span><a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e" title="Assign a point with a point of a box or segment.">assign_point_from_index</a>
+<a name="l00246"></a>00246 &lt;
+<a name="l00247"></a>00247 Geometry, Point,
+<a name="l00248"></a>00248 Index,
+<a name="l00249"></a>00249 DimensionCount, DimensionCount
+<a name="l00250"></a>00250 &gt;
+<a name="l00251"></a>00251 {
+<a name="l00252"></a>00252 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp;, Point&amp;)
+<a name="l00253"></a>00253 {
+<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
+<a name="l00259"></a>00259 }} <span class="comment">// namespace detail::assign</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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00263"></a>00263 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00264"></a>00264 {
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 <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="l00267"></a>00267 <span class="keyword">struct </span><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a> {};
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00270"></a>00270 <span class="keyword">struct </span><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>&lt;point_tag, Point, 2&gt;
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point&amp; point, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2)
+<a name="l00276"></a>00276 {
+<a name="l00277"></a>00277 set&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00278"></a>00278 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280 };
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00283"></a>00283 <span class="keyword">struct </span><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>&lt;point_tag, Point, 3&gt;
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00288"></a>00288 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point&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="l00289"></a>00289 {
+<a name="l00290"></a>00290 set&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00291"></a>00291 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00292"></a>00292 set&lt;2&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c3));
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294 };
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00297"></a>00297 <span class="keyword">struct </span><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>&lt;box_tag, Box, 2&gt;
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="comment">// Here we assign 4 coordinates to a box.</span>
+<a name="l00302"></a>00302 <span class="comment">// -&gt; Most logical is: x1,y1,x2,y2</span>
+<a name="l00303"></a>00303 <span class="comment">// In case the user reverses x1/x2 or y1/y2, we could reverse them (THAT IS NOT IMPLEMENTED)</span>
+<a name="l00304"></a>00304
+<a name="l00305"></a>00305 <span class="comment">// Note also comment in util/assign_box_corner -&gt;</span>
+<a name="l00306"></a>00306 <span class="comment">// ("Most logical is LOWER, UPPER and sub-order LEFT, RIGHT")</span>
+<a name="l00307"></a>00307 <span class="comment">// (That is assigning 4 points from a box. So lower-left, lower-right, upper-left, upper-right)</span>
+<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00309"></a>00309 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box,
+<a name="l00310"></a>00310 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="l00311"></a>00311 {
+<a name="l00312"></a>00312 set&lt;min_corner, 0&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(x1));
+<a name="l00313"></a>00313 set&lt;min_corner, 1&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(y1));
+<a name="l00314"></a>00314 set&lt;max_corner, 0&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(x2));
+<a name="l00315"></a>00315 set&lt;max_corner, 1&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(y2));
+<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
+<a name="l00321"></a>00321 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00322"></a>00322 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a> {};
+<a name="l00323"></a>00323
+<a name="l00324"></a>00324
+<a name="l00325"></a>00325 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00326"></a>00326 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a>&lt;point_tag, Point&gt;
+<a name="l00327"></a>00327 : detail::<a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>::assign_zero_point&lt;Point&gt;
+<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> Box&gt;
+<a name="l00331"></a>00331 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a>&lt;box_tag, Box&gt;
+<a name="l00332"></a>00332 : detail::<a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>::assign_zero_box&lt;Box&gt;
+<a name="l00333"></a>00333 {};
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335
+<a name="l00336"></a>00336 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00337"></a>00337 <span class="keyword">struct </span><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a> {};
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00340"></a>00340 <span class="keyword">struct </span><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>&lt;box_tag, Box&gt;
+<a name="l00341"></a>00341 : detail::<a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>::assign_inverse_box&lt;Box&gt;
+<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="l00353"></a>00353 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Type&gt;
+<a name="l00354"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e">00354</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(Geometry&amp; geometry, Type <span class="keyword">const</span>&amp; c1, Type <span class="keyword">const</span>&amp; c2)
+<a name="l00355"></a>00355 {
+<a name="l00356"></a>00356 concept::check&lt;Geometry&gt;();
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00359"></a>00359 &lt;
+<a name="l00360"></a>00360 <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="l00361"></a>00361 Geometry,
+<a name="l00362"></a>00362 <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;Geometry&gt;::type::value</a>
+<a name="l00363"></a>00363 &gt;::apply(geometry, c1, c2);
+<a name="l00364"></a>00364 }
+<a name="l00365"></a>00365
+<a name="l00370"></a>00370 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Type&gt;
+<a name="l00371"></a><a class="code" href="group__access.html#g0cad7f19a3953827f4e0103a4d8c5de7">00371</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(Geometry&amp; geometry,
+<a name="l00372"></a>00372 Type <span class="keyword">const</span>&amp; c1, Type <span class="keyword">const</span>&amp; c2, Type <span class="keyword">const</span>&amp; c3)
+<a name="l00373"></a>00373 {
+<a name="l00374"></a>00374 concept::check&lt;Geometry&gt;();
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00377"></a>00377 &lt;
+<a name="l00378"></a>00378 <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="l00379"></a>00379 Geometry,
+<a name="l00380"></a>00380 <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;Geometry&gt;::type::value</a>
+<a name="l00381"></a>00381 &gt;::apply(geometry, c1, c2, c3);
+<a name="l00382"></a>00382 }
+<a name="l00383"></a>00383
+<a name="l00388"></a>00388 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Type&gt;
+<a name="l00389"></a><a class="code" href="group__access.html#g20da5a3c93b6acef4960d64403058684">00389</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(Geometry&amp; geometry,
+<a name="l00390"></a>00390 Type <span class="keyword">const</span>&amp; c1, Type <span class="keyword">const</span>&amp; c2, Type <span class="keyword">const</span>&amp; c3, Type <span class="keyword">const</span>&amp; c4)
+<a name="l00391"></a>00391 {
+<a name="l00392"></a>00392 concept::check&lt;Geometry&gt;();
+<a name="l00393"></a>00393
+<a name="l00394"></a>00394 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00395"></a>00395 &lt;
+<a name="l00396"></a>00396 <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="l00397"></a>00397 Geometry,
+<a name="l00398"></a>00398 <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;Geometry&gt;::type::value</a>
+<a name="l00399"></a>00399 &gt;::apply(geometry, c1, c2, c3, c4);
+<a name="l00400"></a>00400 }
+<a name="l00401"></a>00401
+<a name="l00402"></a>00402
+<a name="l00408"></a>00408 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range&gt;
+<a name="l00409"></a><a class="code" href="group__access.html#g01c6d019dc45f5ce8879dd80f782164a">00409</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">assign</a>(Geometry&amp; geometry, Range <span class="keyword">const</span>&amp; range)
+<a name="l00410"></a>00410 {
+<a name="l00411"></a>00411 concept::check&lt;Geometry&gt;();
+<a name="l00412"></a>00412
+<a name="l00413"></a>00413 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(geometry);
+<a name="l00414"></a>00414 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(geometry, range, -1, 0);
+<a name="l00415"></a>00415 }
+<a name="l00416"></a>00416
+<a name="l00417"></a>00417
+<a name="l00425"></a>00425 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00426"></a><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0">00426</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(Geometry&amp; geometry)
+<a name="l00427"></a>00427 {
+<a name="l00428"></a>00428 concept::check&lt;Geometry&gt;();
+<a name="l00429"></a>00429
+<a name="l00430"></a>00430 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
+<a name="l00431"></a>00431 &lt;
+<a name="l00432"></a>00432 <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="l00433"></a>00433 Geometry
+<a name="l00434"></a>00434 &gt;::apply(geometry);
+<a name="l00435"></a>00435 }
+<a name="l00436"></a>00436
+<a name="l00443"></a>00443 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00444"></a><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">00444</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a>(Geometry&amp; geometry)
+<a name="l00445"></a>00445 {
+<a name="l00446"></a>00446 concept::check&lt;Geometry&gt;();
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448 <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">dispatch::assign_zero</a>
+<a name="l00449"></a>00449 &lt;
+<a name="l00450"></a>00450 <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="l00451"></a>00451 Geometry
+<a name="l00452"></a>00452 &gt;::apply(geometry);
+<a name="l00453"></a>00453 }
+<a name="l00454"></a>00454
+<a name="l00455"></a>00455
+<a name="l00462"></a>00462 <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="l00463"></a><a class="code" href="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">00463</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(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>,
+<a name="l00464"></a>00464 Point&amp; lower_left, Point&amp; lower_right,
+<a name="l00465"></a>00465 Point&amp; upper_left, Point&amp; upper_right)
+<a name="l00466"></a>00466 {
+<a name="l00467"></a>00467 concept::check&lt;const Box&gt;();
+<a name="l00468"></a>00468 concept::check&lt;Point&gt;();
+<a name="l00469"></a>00469
+<a name="l00470"></a>00470 detail::assign::assign_box_2d_corner
+<a name="l00471"></a>00471 &lt;<a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, min_corner&gt;(box, lower_left);
+<a name="l00472"></a>00472 detail::assign::assign_box_2d_corner
+<a name="l00473"></a>00473 &lt;<a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, min_corner&gt;(box, lower_right);
+<a name="l00474"></a>00474 detail::assign::assign_box_2d_corner
+<a name="l00475"></a>00475 &lt;min_corner, max_corner&gt;(box, upper_left);
+<a name="l00476"></a>00476 detail::assign::assign_box_2d_corner
+<a name="l00477"></a>00477 &lt;max_corner, max_corner&gt;(box, upper_right);
+<a name="l00478"></a>00478 }
+<a name="l00479"></a>00479
+<a name="l00480"></a>00480
+<a name="l00481"></a>00481
+<a name="l00488"></a>00488 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Index, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00489"></a><a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4">00489</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4" title="Assign a box or segment with the value of a point.">assign_point_to_index</a>(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, Geometry&amp; geometry)
+<a name="l00490"></a>00490 {
+<a name="l00491"></a>00491 concept::check&lt;const Point&gt;();
+<a name="l00492"></a>00492 concept::check&lt;Geometry&gt;();
+<a name="l00493"></a>00493
+<a name="l00494"></a>00494 <a class="code" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4" title="Assign a box or segment with the value of a point.">detail::assign::assign_point_to_index</a>
+<a name="l00495"></a>00495 &lt;
+<a name="l00496"></a>00496 Geometry, Point, Index, 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;Geometry&gt;::type::value</a>
+<a name="l00497"></a>00497 &gt;::apply(point, geometry);
+<a name="l00498"></a>00498 }
+<a name="l00499"></a>00499
+<a name="l00500"></a>00500
+<a name="l00507"></a>00507 <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>, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00508"></a><a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e">00508</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e" title="Assign a point with a point of a box or segment.">assign_point_from_index</a>(Geometry <span class="keyword">const</span>&amp; geometry, Point&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
+<a name="l00509"></a>00509 {
+<a name="l00510"></a>00510 concept::check&lt;const Geometry&gt;();
+<a name="l00511"></a>00511 concept::check&lt;Point&gt;();
+<a name="l00512"></a>00512
+<a name="l00513"></a>00513 <a class="code" href="group__access.html#ge488e5481766be6f054c615743e7cc8e" title="Assign a point with a point of a box or segment.">detail::assign::assign_point_from_index</a>
+<a name="l00514"></a>00514 &lt;
+<a name="l00515"></a>00515 Geometry, Point, Index, 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;Geometry&gt;::type::value</a>
+<a name="l00516"></a>00516 &gt;::apply(geometry, point);
+<a name="l00517"></a>00517 }
+<a name="l00518"></a>00518
+<a name="l00519"></a>00519
+<a name="l00520"></a>00520 } <span class="comment">// namespace ggl</span>
+<a name="l00521"></a>00521
+<a name="l00522"></a>00522 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<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>ggl { <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>iterators {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00021"></a>00021 <span class="keyword">struct </span>iterator_base :
+<a name="l00022"></a>00022 <span class="keyword">public</span> boost::iterator_adaptor
+<a name="l00023"></a>00023 &lt;
+<a name="l00024"></a>00024 T,
+<a name="l00025"></a>00025 Iterator,
+<a name="l00026"></a>00026 boost::use_default,
+<a name="l00027"></a>00027 typename boost::mpl::if_
+<a name="l00028"></a>00028 &lt;
+<a name="l00029"></a>00029 boost::is_convertible
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 typename boost::iterator_traversal&lt;Iterator&gt;::type,
+<a name="l00032"></a>00032 boost::random_access_traversal_tag
+<a name="l00033"></a>00033 &gt;,
+<a name="l00034"></a>00034 boost::bidirectional_traversal_tag,
+<a name="l00035"></a>00035 boost::use_default
+<a name="l00036"></a>00036 &gt;::type
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="comment">// Define operator cast to Iterator to be able to write things like Iterator it = myit++</span>
+<a name="l00040"></a>00040 <span class="keyword">inline</span> operator Iterator()<span class="keyword"> const</span>
+<a name="l00041"></a>00041 <span class="keyword"> </span>{
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> this-&gt;base();
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">/*inline bool operator==(const Iterator&amp; other) const</span>
+<a name="l00046"></a>00046 <span class="comment"> {</span>
+<a name="l00047"></a>00047 <span class="comment"> return this-&gt;base() == other;</span>
+<a name="l00048"></a>00048 <span class="comment"> }</span>
+<a name="l00049"></a>00049 <span class="comment"> inline bool operator!=(const Iterator&amp; other) const</span>
+<a name="l00050"></a>00050 <span class="comment"> {</span>
+<a name="l00051"></a>00051 <span class="comment"> return ! operator==(other);</span>
+<a name="l00052"></a>00052 <span class="comment"> }*/</span>
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 }}} <span class="comment">// namespace ggl::detail::iterators</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_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 GGL_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>00018 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_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 GGL_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>00018 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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; Point &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;boost/concept/assert.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/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.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="l00036"></a>00036 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00037"></a><a class="code" href="classggl_1_1box.html">00037</a> <span class="keyword">class </span><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00042"></a>00042
+<a name="l00043"></a><a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">00043</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>() {}
+<a name="l00044"></a>00044
+<a name="l00048"></a><a class="code" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">00048</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>, Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(min_corner, m_min_corner);
+<a name="l00051"></a>00051 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(max_corner, m_max_corner);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">00054</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00055"></a><a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">00055</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">00057</a> <span class="keyword">inline</span> Point&amp; <a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00058"></a><a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">00058</a> <span class="keyword">inline</span> Point&amp; <a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">private</span>:
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 Point m_min_corner;
+<a name="l00063"></a>00063 Point m_max_corner;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// Traits specializations for box above</span>
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>tag&lt;box&lt;Point&gt; &gt;
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> box_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>point_type&lt;box&lt;Point&gt; &gt;
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> Point type;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00085"></a>00085 <span class="keyword">struct </span>indexed_access&lt;box&lt;Point&gt;, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, Dimension&gt;
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Point&gt;::type</a> coordinate_type;
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box&lt;Point&gt; <span class="keyword">const</span>&amp; b)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(b.min_corner());
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box&lt;Point&gt;&amp; b, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 ggl::set&lt;Dimension&gt;(b.min_corner(), value);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>indexed_access&lt;box&lt;Point&gt;, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, Dimension&gt;
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Point&gt;::type</a> coordinate_type;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box&lt;Point&gt; <span class="keyword">const</span>&amp; b)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(b.max_corner());
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box&lt;Point&gt;&amp; b, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 ggl::set&lt;Dimension&gt;(b.max_corner(), value);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 } <span class="comment">// namespace traits</span>
+<a name="l00117"></a>00117 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+<a name="l00119"></a>00119 } <span class="comment">// namespace ggl</span>
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/box_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00015"></a>00015
+<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
+<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="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><a class="code" href="namespaceggl_1_1concept.html">00025</a> <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00043"></a><a class="code" href="classggl_1_1concept_1_1_box.html">00043</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a>
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span> <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="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">template</span>
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 std::size_t Index,
+<a name="l00052"></a>00052 std::size_t Dimension,
+<a name="l00053"></a>00053 std::size_t DimensionCount
+<a name="l00054"></a>00054 &gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>dimension_checker
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 Geometry* b;
+<a name="l00060"></a>00060 ggl::set&lt;Index, Dimension&gt;(*b, ggl::get&lt;Index, Dimension&gt;(*b));
+<a name="l00061"></a>00061 dimension_checker&lt;Index, Dimension + 1, DimensionCount&gt;::apply();
+<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;std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>dimension_checker&lt;Index, DimensionCount, DimensionCount&gt;
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">public</span> :
+<a name="l00072"></a>00072 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a>)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;Geometry&gt;::type::value</a>;
+<a name="l00075"></a>00075 dimension_checker&lt;min_corner, 0, n&gt;::apply();
+<a name="l00076"></a>00076 dimension_checker&lt;max_corner, 0, n&gt;::apply();
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 <span class="preprocessor">#endif</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>};
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00089"></a><a class="code" href="classggl_1_1concept_1_1_const_box.html">00089</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_box.html" title="Box concept (const version).">ConstBox</a>
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span> <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="l00093"></a>00093 <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;Geometry&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="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span>
+<a name="l00096"></a>00096 &lt;
+<a name="l00097"></a>00097 std::size_t Index,
+<a name="l00098"></a>00098 std::size_t Dimension,
+<a name="l00099"></a>00099 std::size_t DimensionCount
+<a name="l00100"></a>00100 &gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>dimension_checker
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">const</span> Geometry* b = 0;
+<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...">coordinate_type</a> coord(ggl::get&lt;Index, Dimension&gt;(*b));
+<a name="l00107"></a>00107 boost::ignore_unused_variable_warning(coord);
+<a name="l00108"></a>00108 dimension_checker&lt;Index, Dimension + 1, DimensionCount&gt;::apply();
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span>dimension_checker&lt;Index, DimensionCount, DimensionCount&gt;
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">public</span> :
+<a name="l00119"></a>00119 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_box.html" title="Box concept (const version).">ConstBox</a>)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;Geometry&gt;::type::value</a>;
+<a name="l00122"></a>00122 dimension_checker&lt;min_corner, 0, n&gt;::apply();
+<a name="l00123"></a>00123 dimension_checker&lt;max_corner, 0, n&gt;::apply();
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 <span class="preprocessor">#endif</span>
+<a name="l00126"></a>00126 <span class="preprocessor"></span>};
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="strategies_8hpp.html">ggl/strategies/strategies.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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(c1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(a1, 1, 2, 3);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(a1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(cro1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(crw1, 1, 2);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(cgs1, 1, 2);
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="strategies_8hpp.html">ggl/strategies/strategies.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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(p, b)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(b1)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(p, b1)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(b4)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(p, b4)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(bt)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c03__custom__linestring__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c03__custom__linestring__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>c03_custom_linestring_example.cpp</h1>GPS tracks are shown in this example: a custom linestring with GPS points<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 Linestring Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+<span class="preprocessor">#include &lt;vector&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="register_2linestring_8hpp.html">ggl/geometries/register/linestring.hpp</a>&gt;</span>
+
+<span class="comment">// To register the 'geographic' distance function to calculate distance over the earth:</span>
+<span class="preprocessor">#include &lt;ggl/extensions/gis/geographic/strategies/andoyer.hpp&gt;</span>
+<span class="preprocessor">#include &lt;ggl/algorithms/parse.hpp&gt;</span>
+
+<span class="comment">// Define a GPS point with coordinates in latitude/longitude and some additional values</span>
+<span class="keyword">struct </span>gps_point
+{
+ <span class="keywordtype">double</span> latitude, longitude, height;
+ <span class="keywordtype">double</span> speed;
+ <span class="comment">// Date/time, heading, etc could be added</span>
+
+ <span class="comment">// The default constructor is required if being used in a vector</span>
+ gps_point() {}
+
+ <span class="comment">// Define a constructor to create the point in one line. Order of latitude/longitude</span>
+ <span class="comment">// does not matter as long as "E", "N", etc are included</span>
+ gps_point(std::string <span class="keyword">const</span>&amp; c1, std::string <span class="keyword">const</span>&amp; c2, <span class="keywordtype">double</span> h, <span class="keywordtype">double</span> s)
+ : height(h)
+ , speed(s)
+ {
+ ggl::parse(*<span class="keyword">this</span>, c1, c2);
+ }
+};
+
+<span class="comment">// Declare a custom linestring which will have the GPS points</span>
+<span class="keyword">struct </span>gps_track : std::vector&lt;gps_point&gt;
+{
+ std::string owner;
+ <span class="keywordtype">int</span> route_identifier;
+ <span class="comment">// etc</span>
+
+ gps_track(<span class="keywordtype">int</span> i, std::string <span class="keyword">const</span>&amp; o)
+ : owner(o)
+ , route_identifier(i)
+ {}
+};
+
+
+<span class="comment">// Register this point as being a recognizable point by the GGL</span>
+<a name="a0"></a><a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(gps_point, <span class="keywordtype">double</span>, cs::geographic&lt;degree&gt;, longitude, latitude)
+
+
+<span class="comment">// Register the track as well, as being a "linestring"</span>
+<a name="a1"></a><a class="code" href="register_2linestring_8hpp.html#9517765f50e3552d0029efb2fdd11c5c">GEOMETRY_REGISTER_LINESTRING</a>(gps_track)
+
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="comment">// Declare a "GPS Track" and add some GPS points</span>
+ gps_track track(23, <span class="stringliteral">"Mister G"</span>);
+ track.push_back(gps_point(<span class="stringliteral">"52 22 23 N"</span>, <span class="stringliteral">"4 53 32 E"</span>, 50, 180));
+ track.push_back(gps_point(<span class="stringliteral">"52 10 00 N"</span>, <span class="stringliteral">"4 59 59 E"</span>, 110, 170));
+ track.push_back(gps_point(<span class="stringliteral">"52 5 20 N"</span>, <span class="stringliteral">"5 6 56 E"</span>, 0, 90));
+
+ std::cout
+ &lt;&lt; <span class="stringliteral">"track: "</span> &lt;&lt; track.route_identifier &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"from: "</span> &lt;&lt; track.owner &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"as wkt: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(track) &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a name="a3"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">ggl::length</a>(track)/1000.0 &lt;&lt; <span class="stringliteral">" km"</span> &lt;&lt; std::endl;
+
+ <span class="comment">// Above gives the idea, shows that custom linestrings can be useful.</span>
+ <span class="comment">// We could of course do anything with this track which the library can handle, e.g.:</span>
+ <span class="comment">// - simplify it</span>
+ <span class="comment">// - calculate distance of point-to-line</span>
+ <span class="comment">// - project it to UTM, then transform it to a GIF image (see p03_example)</span>
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div> </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="strategies_8hpp.html">ggl/strategies/strategies.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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#gaffb471f2ef6dd4842563e533094fa0d" 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#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(t, c);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="ring_8hpp.html">ggl/geometries/register/ring.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.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">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#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;ring_tag, triangle&lt;P&gt;, <a name="a2"></a><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, 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="a3"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#gaffb471f2ef6dd4842563e533094fa0d" 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="a4"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(t, c);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="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="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+
+<span class="comment">// Sample point, having x/y</span>
+<span class="keyword">struct </span>my_point
+{
+ <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;&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*, 0&gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(my_point <span class="keyword">const</span>* p)
+ {
+ <span class="keywordflow">return</span> p-&gt;x;
+ }
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
+ {
+ p-&gt;x = value;
+ }
+};
+
+<span class="keyword">template</span>&lt;&gt;
+<span class="keyword">struct </span>access&lt;my_point*, 1&gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(my_point <span class="keyword">const</span>* p)
+ {
+ <span class="keywordflow">return</span> p-&gt;y;
+ }
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
+ {
+ 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#g3ff05ea6b83363ce847770d3abe156bf" 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#g3ff05ea6b83363ce847770d3abe156bf" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>tag&lt;CoordinateType[DimensionCount]&gt;
+<a name="l00053"></a>00053 : detail::c_array_tag&lt;boost::is_arithmetic&lt;CoordinateType&gt;::value&gt; {};
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>coordinate_type&lt;CoordinateType[DimensionCount]&gt;
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> CoordinateType type;
+<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> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;CoordinateType[DimensionCount]&gt;: boost::mpl::int_&lt;DimensionCount&gt; {};
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>access&lt;CoordinateType[DimensionCount], Dimension&gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(<span class="keyword">const</span> CoordinateType p[DimensionCount])
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> p[Dimension];
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(CoordinateType p[DimensionCount],
+<a name="l00073"></a>00073 CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 p[Dimension] = 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_C_ARRAY_CARTESIAN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_ADAPTED_C_ARRAY_CARTESIAN_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#ifdef GGL_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>00017 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> ReturnType, <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> ReturnType 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> ReturnType();
+<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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/calculate_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/calculate_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="keyword">namespace </span>ggl
+<a name="l00012"></a>00012 {
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">template</span>
+<a name="l00020"></a>00020 &lt;
+<a name="l00021"></a>00021 <span class="keyword">typename</span> ReturnType,
+<a name="l00022"></a>00022 <span class="keyword">typename</span> Polygon,
+<a name="l00023"></a>00023 <span class="keyword">typename</span> Strategy,
+<a name="l00024"></a>00024 <span class="keyword">typename</span> Policy
+<a name="l00025"></a>00025 &gt;
+<a name="l00026"></a>00026 <span class="keyword">struct </span>calculate_polygon_sum
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">static</span> <span class="keyword">inline</span> ReturnType apply(Polygon <span class="keyword">const</span>&amp; poly, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 ReturnType sum = Policy::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy);
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00035"></a>00035 &gt;::type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00036"></a>00036 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00037"></a>00037 ++it)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 sum += Policy::apply(*it, strategy);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> sum;
+<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 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="comment">// namespace ggl</span>
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment_2d</a>;
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 } <span class="comment">// namespace ggl</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#endif // GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>00024 }
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#endif // GGL_CARTESIAN3D_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/centroid_bashein_detmer.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &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; Point, PointOfSegment, 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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/centroid_bashein_detmer.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &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="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="strategies_2centroid_8hpp.html">ggl/strategies/centroid.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <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="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.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="comment">// Note: when calling the namespace "centroid", it sometimes,</span>
+<a name="l00028"></a>00028 <span class="comment">// somehow, in gcc, gives compilation problems (confusion with function centroid).</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="namespaceggl_1_1strategy_1_1centroid__.html">00030</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span>centroid_ {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033
+<a name="l00097"></a>00097 <span class="keyword">template</span>
+<a name="l00098"></a>00098 &lt;
+<a name="l00099"></a>00099 <span class="keyword">typename</span> Point,
+<a name="l00100"></a>00100 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00101"></a>00101 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00102"></a>00102 &gt;
+<a name="l00103"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">00103</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="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">private</span> :
+<a name="l00106"></a>00106 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00107"></a>00107 <span class="comment">// whatever it is and whatever the point-type(s) are.</span>
+<a name="l00108"></a>00108 <span class="comment">// Else, use the most appropriate coordinate type</span>
+<a name="l00109"></a>00109 <span class="comment">// of the two points, but at least double</span>
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00111"></a>00111 boost::mpl::if_c
+<a name="l00112"></a>00112 &lt;
+<a name="l00113"></a>00113 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00114"></a>00114 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00115"></a>00115 &lt;
+<a name="l00116"></a>00116 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00117"></a>00117 &lt;
+<a name="l00118"></a>00118 Point,
+<a name="l00119"></a>00119 PointOfSegment
+<a name="l00120"></a>00120 &gt;::type,
+<a name="l00121"></a>00121 <span class="keywordtype">double</span>
+<a name="l00122"></a>00122 &gt;::type,
+<a name="l00123"></a>00123 CalculationType
+<a name="l00124"></a>00124 &gt;::type calculation_type;
+<a name="l00125"></a>00125
+<a name="l00127"></a>00127 <span class="keyword">class </span>sums
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html" title="Centroid calculation using algorith Bashein / Detmer.">bashein_detmer</a>;
+<a name="l00130"></a>00130 <span class="keywordtype">int</span> count;
+<a name="l00131"></a>00131 calculation_type sum_a2;
+<a name="l00132"></a>00132 calculation_type sum_x;
+<a name="l00133"></a>00133 calculation_type sum_y;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">public</span> :
+<a name="l00136"></a>00136 <span class="keyword">inline</span> sums()
+<a name="l00137"></a>00137 : count(0)
+<a name="l00138"></a>00138 , sum_a2(calculation_type())
+<a name="l00139"></a>00139 , sum_x(calculation_type())
+<a name="l00140"></a>00140 , sum_y(calculation_type())
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keyword">typedef</span> calculation_type ct;
+<a name="l00143"></a>00143 <span class="comment">//std::cout &lt;&lt; "-&gt; calctype: " &lt;&lt; typeid(ct).name()</span>
+<a name="l00144"></a>00144 <span class="comment">// &lt;&lt; " size: " &lt;&lt; sizeof(ct)</span>
+<a name="l00145"></a>00145 <span class="comment">// &lt;&lt; " init: " &lt;&lt; sum_a2</span>
+<a name="l00146"></a>00146 <span class="comment">// &lt;&lt; std::endl;</span>
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148 };
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">public</span> :
+<a name="l00151"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">00151</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">state_type</a>;
+<a name="l00152"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#1a7d7a75398ca46a5de9d5d7e05b1088">00152</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="l00153"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">00153</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">segment_point_type</a>;
+<a name="l00154"></a>00154
+<a name="l00155"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#f088a5f3f1237c8cfb7ff719c7c546ba">00155</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#f088a5f3f1237c8cfb7ff719c7c546ba">apply</a>(PointOfSegment <span class="keyword">const</span>&amp; p1,
+<a name="l00156"></a>00156 PointOfSegment <span class="keyword">const</span>&amp; p2, sums&amp; state)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="comment">/* Algorithm:</span>
+<a name="l00159"></a>00159 <span class="comment"> For each segment:</span>
+<a name="l00160"></a>00160 <span class="comment"> begin</span>
+<a name="l00161"></a>00161 <span class="comment"> ai = x1 * y2 - x2 * y1;</span>
+<a name="l00162"></a>00162 <span class="comment"> sum_a2 += ai;</span>
+<a name="l00163"></a>00163 <span class="comment"> sum_x += ai * (x1 + x2);</span>
+<a name="l00164"></a>00164 <span class="comment"> sum_y += ai * (y1 + y2);</span>
+<a name="l00165"></a>00165 <span class="comment"> end</span>
+<a name="l00166"></a>00166 <span class="comment"> return POINT(sum_x / (3 * sum_a2), sum_y / (3 * sum_a2) )</span>
+<a name="l00167"></a>00167 <span class="comment"> */</span>
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="comment">// Get coordinates and promote them to calculation_type</span>
+<a name="l00170"></a>00170 calculation_type <span class="keyword">const</span> x1 = boost::numeric_cast&lt;calculation_type&gt;(get&lt;0&gt;(p1));
+<a name="l00171"></a>00171 calculation_type <span class="keyword">const</span> y1 = boost::numeric_cast&lt;calculation_type&gt;(get&lt;1&gt;(p1));
+<a name="l00172"></a>00172 calculation_type <span class="keyword">const</span> x2 = boost::numeric_cast&lt;calculation_type&gt;(get&lt;0&gt;(p2));
+<a name="l00173"></a>00173 calculation_type <span class="keyword">const</span> y2 = boost::numeric_cast&lt;calculation_type&gt;(get&lt;1&gt;(p2));
+<a name="l00174"></a>00174 calculation_type <span class="keyword">const</span> ai = x1 * y2 - x2 * y1;
+<a name="l00175"></a>00175 state.count++;
+<a name="l00176"></a>00176 state.sum_a2 += ai;
+<a name="l00177"></a>00177 state.sum_x += ai * (x1 + x2);
+<a name="l00178"></a>00178 state.sum_y += ai * (y1 + y2);
+<a name="l00179"></a>00179 }
+<a name="l00180"></a>00180
+<a name="l00181"></a><a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">00181</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">result</a>(sums <span class="keyword">const</span>&amp; state, Point&amp; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>)
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183 <span class="keywordflow">if</span> (state.count &gt; 0 &amp;&amp; state.sum_a2 != 0)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 calculation_type <span class="keyword">const</span> v3 = 3;
+<a name="l00186"></a>00186 calculation_type <span class="keyword">const</span> a3 = v3 * state.sum_a2;
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <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="l00189"></a>00189 &lt;
+<a name="l00190"></a>00190 Point
+<a name="l00191"></a>00191 &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="l00192"></a>00192
+<a name="l00193"></a>00193 set&lt;0&gt;(centroid,
+<a name="l00194"></a>00194 boost::numeric_cast&lt;coordinate_type&gt;(state.sum_x / a3));
+<a name="l00195"></a>00195 set&lt;1&gt;(centroid,
+<a name="l00196"></a>00196 boost::numeric_cast&lt;coordinate_type&gt;(state.sum_y / a3));
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00198"></a>00198 }
+<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 };
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 }} <span class="comment">// namespace strategy::centroid</span>
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span>
+<a name="l00211"></a>00211 <span class="comment">// Register this strategy for rings and polygons, in two dimensions</span>
+<a name="l00212"></a>00212 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00213"></a>00213 <span class="keyword">struct </span>strategy_centroid&lt;cartesian_tag, ring_tag, 2, Point, Geometry&gt;
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <span class="keyword">typedef</span> strategy::centroid_::bashein_detmer
+<a name="l00216"></a>00216 &lt;
+<a name="l00217"></a>00217 Point,
+<a name="l00218"></a>00218 <span class="keyword">typename</span> point_type&lt;Geometry&gt;::type
+<a name="l00219"></a>00219 &gt; <a class="code" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">type</a>;
+<a name="l00220"></a>00220 };
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00223"></a>00223 <span class="keyword">struct </span>strategy_centroid&lt;cartesian_tag, polygon_tag, 2, Point, Geometry&gt;
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225 <span class="keyword">typedef</span> strategy::centroid_::bashein_detmer
+<a name="l00226"></a>00226 &lt;
+<a name="l00227"></a>00227 Point,
+<a name="l00228"></a>00228 <span class="keyword">typename</span> point_type&lt;Geometry&gt;::type
+<a name="l00229"></a>00229 &gt; <a class="code" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">type</a>;
+<a name="l00230"></a>00230 };
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="preprocessor">#endif</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span>
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 } <span class="comment">// namespace ggl</span>
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/centroid_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/centroid_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for centroid.">CentroidStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="comment">// 1) must define state_type,</span>
+<a name="l00029"></a>00029 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// 2) must define point_type,</span>
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">struct </span>check_methods
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 Strategy *str;
+<a name="l00042"></a>00042 state_type *st;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// 4) must implement a static method apply,</span>
+<a name="l00045"></a>00045 <span class="comment">// getting two segment-points</span>
+<a name="l00046"></a>00046 spoint_type <span class="keyword">const</span>* sp;
+<a name="l00047"></a>00047 str-&gt;apply(*sp, *sp, *st);
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// 5) must implement a static method result</span>
+<a name="l00050"></a>00050 <span class="comment">// getting the centroid</span>
+<a name="l00051"></a>00051 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> *c;
+<a name="l00052"></a>00052 <span class="keywordtype">bool</span> r = str-&gt;result(*st, *c);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 boost::ignore_unused_variable_warning(str);
+<a name="l00055"></a>00055 boost::ignore_unused_variable_warning(r);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">public</span> :
+<a name="l00060"></a>00060 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for centroid.">CentroidStrategy</a>)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 check_methods::apply();
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 <span class="preprocessor">#endif</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>};
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/check_append.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/check_append.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &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="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> UseStd&gt;
+<a name="l00026"></a>00026 <span class="keyword">struct </span>check_append
+<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> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>check_append&lt;Geometry, Point, true&gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry, Point <span class="keyword">const</span>&amp; p)
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 geometry.push_back(p);
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 };
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>check_append&lt;Geometry, Point, false&gt;
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry, Point <span class="keyword">const</span>&amp; p)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <a class="code" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">ggl::traits::append_point</a>
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type,
+<a name="l00047"></a>00047 Point
+<a name="l00048"></a>00048 &gt;::apply(geometry, p, -1, -1);
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/check_clear.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/check_clear.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &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="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="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
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> UseStd&gt;
+<a name="l00027"></a>00027 <span class="keyword">struct </span>check_clear
+<a name="l00028"></a>00028 {};
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00031"></a>00031 <span class="keyword">struct </span>check_clear&lt;Geometry, true&gt;
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 geometry.clear();
+<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> Geometry&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>check_clear&lt;Geometry, false&gt;
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <a class="code" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">ggl::traits::clear</a>
+<a name="l00046"></a>00046 &lt;
+<a name="l00047"></a>00047 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type
+<a name="l00048"></a>00048 &gt;::apply(geometry);
+<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="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/class_point_list.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/class_point_list.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classes.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classes.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_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="classggl_1_1concept_1_1_ring.html">Ring</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_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_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_1ring__tag.html">ring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="str
uctggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</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_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_1traits_1_1ring__type.html">ring_type</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_1add__const__if__c.html">add_const_if_c</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><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_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_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_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_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_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_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</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="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</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 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="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; 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="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_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" h
ref="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_box.html">Box</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">graham_andrew</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_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1greater.html">greater</a> (<a class="el" href="namespaceggl.html">ggl</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;&nbs
p;</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_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="classggl_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_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="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="classggl_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 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="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</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_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="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 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__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="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_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__iterator.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</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_1traits_1_1interior__rings.html">interior_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__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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_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="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</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;&nbs
p;</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="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">circular_comparator</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_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__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 cla
ss="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_1select__calculation__type.html">select_calculation_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="el" href="namespaceggl_1_1traits.html">ggl::traits</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_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="classggl_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="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__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="classggl_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 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_1strategy_1_1compare_1_1detail_1_1shift.html">shift</a> (<a class="el" href="namespaceggl_1_1strategy_1_1compare_1_1detail.html">ggl::strategy::compare::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ConstMultiLinestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1length__result.html">length_result</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">shift&lt; degree &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1compare_1_1detail.html">ggl::strategy::compare::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_multi_point.html">ConstMultiPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</t
d><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_1compare_1_1detail_1_1shift_3_01radian_01_4.html">shift&lt; radian &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1compare_1_1detail.html">ggl::strategy::compare::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_multi_polygon.html">ConstMultiPolygon</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 class="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_1side_1_1side__by__triangle.html">side_by_triangle</a> (<a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr
><td><a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&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_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&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_1single__tag.html">single_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_c
onst_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_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_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="classggl_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 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_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="classggl_1_1concept_1_1_convex_hull_strategy.html">ConvexHullSt
rategy</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__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__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__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_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a> (
<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">MultiLinestring</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.html">strategy_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1concept_1_1_multi_point.html">MultiPoint</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_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html">strategy_tag&lt; strategy::distance::pythagoras&lt; Point1
, Point2 &gt; &gt;</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">MultiPolygon</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_point44a0bc328e7ec9bd6c5d771967a8f024.html">strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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_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 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__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_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl.html">ggl</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__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 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 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__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_1de9im.html">de9im</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__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_1de9im__segment.html">de9im_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&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_1strategy_1_1compare_1_1default__strategy.html">default_strategy</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_1traits_1_1point__order.html">point_order</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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="classggl_1_1degree.html">degree</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1point__order.html">point_order</a> (<a class="el" href="namespaceggl.html">ggl</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="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_1point__tag.html">point_tag</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_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_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 class="el" href="structggl_1_1tag.html">tag</a> (<a class="el" href="namesp
aceggl.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__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_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_1dimension.html">dimension</a> (<a class="el" href="namespaceggl.html">ggl</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_1topological__dimension.html">topological_dimensio
n</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</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__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="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="class_point_list.html">PointList</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_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 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="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</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__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></t
r><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 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="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="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 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="classggl_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="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_1equal__to.html">equal_to</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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_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 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 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 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_1exception.html">exception</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="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_1strategy_1_1area_1_1huiller_1_1excess__sum.html">huiller::excess_sum</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>)&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 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_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_1range__iterator__const__if__c.html">range_iterator_const_if_c</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 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_1range__type.html">range_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">franklin</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>)&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_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__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_1reverse__dispatch.html">reverse_dispatch</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></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" hre
f="#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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">box</a>(Point const &amp;min_corner, Point const &amp;max_corner)</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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#33c77af2d104a1faec5e98603d5ded17">box</a> (Point const &amp;min_corner, Point 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#27556d65c45886911a450e707b8cd633">box</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a> () const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point&gt;<br>
+ class ggl::box&lt; Point &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#9d91801e6fc859f6e4258800fd9e3c94">min_corner()</a> and a <a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">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>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> 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 poin
t class, 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#_a5">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#_a9">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#l00037">37</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="27556d65c45886911a450e707b8cd633"></a><!-- doxytag: member="ggl::box::box" ref="27556d65c45886911a450e707b8cd633" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &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#l00043">43</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="33c77af2d104a1faec5e98603d5ded17"></a><!-- doxytag: member="ggl::box::box" ref="33c77af2d104a1faec5e98603d5ded17" args="(Point const &amp;min_corner, Point const &amp;max_corner)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>min_corner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point 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#l00048">48</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="ebc2dece8cd77a23f73ffae3a957f093"></a><!-- doxytag: member="ggl::box::min_corner" ref="ebc2dece8cd77a23f73ffae3a957f093" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &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#l00054">54</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="63a9905a364d6b5bef828cc04b9970f7"></a><!-- doxytag: member="ggl::box::max_corner" ref="63a9905a364d6b5bef828cc04b9970f7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &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#l00055">55</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9d91801e6fc859f6e4258800fd9e3c94"></a><!-- doxytag: member="ggl::box::min_corner" ref="9d91801e6fc859f6e4258800fd9e3c94" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &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#l00057">57</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="dc5baf1c27a841e04907d274fd9b6c39"></a><!-- doxytag: member="ggl::box::max_corner" ref="dc5baf1c27a841e04907d274fd9b6c39" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &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#l00058">58</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00071">71</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#l00075">75</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#l00077">77</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::AreaStrategy&lt; Strategy &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__area.html">area: calculate area of a geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::AreaStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+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 Strategy&gt;<br>
+ class ggl::concept::AreaStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+<p>Definition at line <a class="el" href="area__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="area__concept_8hpp_source.html">area_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_box.html">Box</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Box&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Box" --><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::Box&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+<dl class="user" compact><dt><b>Formal definition:</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> <a class="el" href="namespaceggl_1_1concept.html">concept</a> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1box__tag.html" title="Convenience 2D or 3D box (mbr) identifying tag.">box_tag</a> as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1point__type.html" title="Traits class indicating the type of contained points.">traits::point_type</a> to define the underlying <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type (even if it does not consist of points, it should define this type, to indicate the points it can work with)</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &quot;get&quot; and &quot;set&quot; to get and set point coordinate...">traits::indexed_access</a>, per index (min_corner, max_corner) and pe
r <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>, with two functions:<ul>
+<li>get to get a coordinate value</li><li>set to set a coordinate value (this one is not checked for <a class="el" href="classggl_1_1concept_1_1_const_box.html" title="Box concept (const version).">ConstBox</a>) </li></ul>
+</li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00043">43</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::CentroidStrategy&lt; Strategy &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__centroid.html">centroid: calculate centroid (center of gravity) of a geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::CentroidStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid.
+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 Strategy&gt;<br>
+ class ggl::concept::CentroidStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid.
+<p>Definition at line <a class="el" href="centroid__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="centroid__concept_8hpp_source.html">centroid_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstBox&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstBox" --><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+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>
+ class ggl::concept::ConstBox&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_box.html" title="Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> apply the same as the <a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not apply write access.
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00089">89</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstLinestring&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstLinestring" --><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+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>
+ class ggl::concept::ConstLinestring&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_linestring.html" title="Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00110">110</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ConstMultiLinestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstMultiLinestring&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstMultiLinestring" --><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-linestring (const version)
+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>
+ class ggl::concept::ConstMultiLinestring&lt; Geometry &gt;</h3>
+
+<a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-linestring (const version)
+<p>Definition at line <a class="el" href="multi__linestring__concept_8hpp_source.html#l00060">60</a> of file <a class="el" href="multi__linestring__concept_8hpp_source.html">multi_linestring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_multi_point.html">ConstMultiPoint</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstMultiPoint&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstMultiPoint" --><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-point (const version)
+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>
+ class ggl::concept::ConstMultiPoint&lt; Geometry &gt;</h3>
+
+<a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-point (const version)
+<p>Definition at line <a class="el" href="multi__point__concept_8hpp_source.html#l00059">59</a> of file <a class="el" href="multi__point__concept_8hpp_source.html">multi_point_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_multi_polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_multi_polygon.html">ConstMultiPolygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstMultiPolygon&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstMultiPolygon" --><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-polygon (const version)
+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>
+ class ggl::concept::ConstMultiPolygon&lt; Geometry &gt;</h3>
+
+<a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-polygon (const version)
+<p>Definition at line <a class="el" href="multi__polygon__concept_8hpp_source.html#l00060">60</a> of file <a class="el" href="multi__polygon__concept_8hpp_source.html">multi_polygon_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPoint&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstPoint" --><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>
+<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>
+ class ggl::concept::ConstPoint&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version)
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> apply the same as the <a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not apply write access.
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00126">126</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPolygon&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstPolygon" --><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+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>
+ class ggl::concept::ConstPolygon&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_polygon.html" title="Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00106">106</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstRing&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstRing" -->(linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version)
+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>
+ class ggl::concept::ConstRing&lt; Geometry &gt;</h3>
+
+(linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version)
+<p>
+The ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the Geometry <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00083">83</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstSegment&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::concept::ConstSegment" --><a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+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>
+ class ggl::concept::ConstSegment&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_segment.html" title="Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> verifies the same as the <a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not verify write access.
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00091">91</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_convex_hull_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_convex_hull_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_convex_hull_strategy.html">ConvexHullStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConvexHullStrategy&lt; Strategy &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__convex__hull.html">convex hull: calculate the convex hull of a geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConvexHullStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull.
+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 Strategy&gt;<br>
+ class ggl::concept::ConvexHullStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull.
+<p>Definition at line <a class="el" href="convex__hull__concept_8hpp_source.html#l00025">25</a> of file <a class="el" href="convex__hull__concept_8hpp_source.html">convex_hull_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Linestring&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Linestring" --><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::Linestring&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The <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> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1linestring__tag.html" title="OGC Linestring identifying tag.">linestring_tag</a> as type</li><li>it must behave like a Boost.Range</li><li>either it can behave like the std library, having push_back and clear</li><li>or it can implement a mechanism for clearing and adding points:<ul>
+<li>there can be a specialization of <a class="el" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a> class indicating that it does not use the standard library (for modifications)</li><li>there should then be a specialization of <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">traits::clear</a> to make 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> empty</li><li>there should then be a specialization of <a class="el" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">traits::append_point</a> to add 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="classggl_1_1linest
ring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a></li></ul>
+</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>to fulfil the concepts, no <a class="el" href="namespaceggl_1_1traits.html">traits</a> class has to be specialized to define the <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_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type is taken using boost::range_value&lt;X&gt;::type</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd></dd></dl>
+A custom <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>, defining the necessary specializations to fulfil to the <a class="el" href="namespaceggl_1_1concept.html">concept</a>.<p>
+Suppose that the following <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> is defined: <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>custom_linestring1 : std::deque&lt;P&gt;
+{
+ <span class="keywordtype">int</span> id;
+};
+</pre></div><p>
+It can then be adapted to the <a class="el" href="namespaceggl_1_1concept.html">concept</a> as following: <div class="fragment"><pre class="fragment"><span class="comment">// adapt custom_linestring1</span>
+<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; custom_linestring1&lt;P&gt; &gt; { <span class="keyword">typedef</span> linestring_tag type; };
+}} <span class="comment">// end adaptation</span>
+</pre></div><p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd><ul>
+<li>There is also the registration macro GEOMETRY_REGISTER_LINESTRING</li><li>For registration of std::vector&lt;P&gt; (and deque, and list) it is enough to include the header-file <a class="el" href="std__as__linestring_8hpp.html">geometries/adapted/std_as_linestring.hpp</a>. That registers a vector as 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> (so it cannot be registered as a linear ring then, in the same source code). </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00074">74</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">MultiLinestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::MultiLinestring&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::MultiLinestring" -->multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::MultiLinestring&lt; Geometry &gt;</h3>
+
+multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</a>
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The 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> <a class="el" href="namespaceggl_1_1concept.html">concept</a> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1multi__linestring__tag.html" title="OGC Multi linestring identifying tag.">multi_linestring_tag</a> as type</li><li>it must behave like a Boost.Range</li><li>its range value must fulfil the <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="multi__linestring__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="multi__linestring__concept_8hpp_source.html">multi_linestring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_multi_point.html">MultiPoint</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::MultiPoint&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::MultiPoint" --><a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::MultiPoint&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The multi <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> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a> as type</li><li>it must behave like a Boost.Range</li><li>its range value must fulfil the <a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="multi__point__concept_8hpp_source.html#l00036">36</a> of file <a class="el" href="multi__point__concept_8hpp_source.html">multi_point_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_multi_polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">MultiPolygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::MultiPolygon&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::MultiPolygon" -->multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::MultiPolygon&lt; Geometry &gt;</h3>
+
+multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</a>
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The multi <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> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1multi__polygon__tag.html" title="OGC Multi polygon identifying tag.">multi_polygon_tag</a> as type</li><li>it must behave like a Boost.Range</li><li>its range value must fulfil the <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="multi__polygon__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="multi__polygon__concept_8hpp_source.html">multi_polygon_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Point&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Point" --><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::Point&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The <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> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">point_tag</a> as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1coordinate__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">traits::coordinate_type</a> defining the type of its coordinates</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1coordinate__system.html" title="Traits class defining the coordinate system of a point, important for strategy selection...">traits::coordinate_system</a> defining its coordinate system (cartesian, spherical, etc)</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1dimension.html" title="Traits class indicating the number of dimensions of a point.">traits::dimension<
/a> defining its number of dimensions (2, 3, ...) (derive it conveniently from boost::mpl::int_&lt;X&gt; for X-D)</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">traits::access</a>, 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>, with two functions:<ul>
+<li><b>get</b> to get a coordinate value</li><li><b>set</b> to set a coordinate value (this one is not checked for <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">ConstPoint</a>)</li></ul>
+</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd></dd></dl>
+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 specializations to fulfil to the <a class="el" href="namespaceggl_1_1concept.html">concept</a>.<p>
+Suppose that the following <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is defined: <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>legacy_point1
+{
+ <span class="keywordtype">double</span> x, y;
+};
+</pre></div><p>
+It can then be adapted to the <a class="el" href="namespaceggl_1_1concept.html">concept</a> as following: <div class="fragment"><pre class="fragment"><span class="comment">// adapt legacy_point1</span>
+<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;legacy_point1&gt; { <span class="keyword">typedef</span> point_tag type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>coordinate_type&lt;legacy_point1&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;legacy_point1&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;legacy_point1&gt;: boost::mpl::int_&lt;2&gt; {};
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>access&lt;legacy_point1, 0&gt;
+ {
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(legacy_point1 <span class="keyword">const</span>&amp; p) { <span class="keywordflow">return</span> p.x; }
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(legacy_point1&amp; p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value) { p.x = value; }
+ };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>access&lt;legacy_point1, 1&gt;
+ {
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(legacy_point1 <span class="keyword">const</span>&amp; p) { <span class="keywordflow">return</span> p.y; }
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(legacy_point1&amp; p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value) { p.y = value; }
+ };
+}} <span class="comment">// end adaptation</span>
+</pre></div><p>
+Note that it is done like above to show the system. Users will normally use the registration macro.<p>
+<dl class="user" compact><dt><b>Example:</b></dt><dd></dd></dl>
+A read-only legacy <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, using a macro to fulfil to the <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. It cannot be modified by the library but can be used in all algorithms where points are not modified.<p>
+The <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> looks like the following:<p>
+ <div class="fragment"><pre class="fragment"><span class="keyword">class </span>legacy_point2
+{
+<span class="keyword">public</span> :
+ <span class="keywordtype">double</span> x() <span class="keyword">const</span>;
+ <span class="keywordtype">double</span> y() <span class="keyword">const</span>;
+};
+</pre></div><p>
+It uses the macro as following: <div class="fragment"><pre class="fragment"><span class="comment">// adapt legacy_point2</span>
+<a class="code" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">GEOMETRY_REGISTER_POINT_2D_CONST</a>(legacy_point2, <span class="keywordtype">double</span>, <a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">ggl::cs::cartesian</a>, x(), y() )
+<span class="comment">// end adaptation</span>
+</pre></div>
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00080">80</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Polygon&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Polygon" --><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::Polygon&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The <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> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1polygon__tag.html" title="OGC Polygon identifying tag.">polygon_tag</a> as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1ring__type.html" title="Traits class to indicate ring-type of a polygon&#39;s exterior ring/interior rings...">traits::ring_type</a> defining the type of its exterior ring and interior rings as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1interior__type.html" title="Traits class indicating interior container type of a polygon.">traits::interior_type</a> defining the type of the collection of its interior rings as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">traits::exterio
r_ring</a> with two functions named "get", returning the exterior ring, a const version and a mutable version</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1interior__rings.html" title="Traits class defining access to interior_rings of a polygon.">traits::interior_rings</a> with two functions named "get", returning the interior rings, a const version and a mutable version</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>to fulfil the concepts, no <a class="el" href="namespaceggl_1_1traits.html">traits</a> class has to be specialized to define the <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_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type is automatically defined as typename range_value&lt;typename <a class="el" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">ring_type&lt;P&gt;::type</a>&gt;type </dd></dl>
+
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00049">49</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Ring&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Ring" -->ring <a class="el" href="namespaceggl_1_1concept.html">concept</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 Geometry&gt;<br>
+ class ggl::concept::Ring&lt; Geometry &gt;</h3>
+
+ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1ring__tag.html" title="Convenience (linear) ring identifying tag.">ring_tag</a> as type</li><li>it must behave like a Boost.Range</li><li>there can optionally be a specialization of <a class="el" href="structggl_1_1traits_1_1point__order.html" title="Traits class indicating the order of contained points within a ring or (multi)polygon...">traits::point_order</a> defining the order or orientation of its points, clockwise or counterclockwise.</li><li>either it can behave like the std library, having pushback</li><li>or it can implement a mechanism for clearing and adding points. This is the same as the for the <a class="el" href="namespaceggl_1_1concept.html">concept</a> <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a>, and described there.</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>to fulfil the concepts, no <a class="el" href="namespaceggl_1_1traits.html">traits</a> class has to be specialized to define the <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_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type is taken using boost::range_value&lt;X&gt;::type </dd></dl>
+
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00047">47</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Segment&lt; Geometry &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Segment" --><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>
+More...
+<p>
+<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>
+ class ggl::concept::Segment&lt; Geometry &gt;</h3>
+
+<a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>
+<p>
+<dl class="user" compact><dt><b>Formal definition:</b></dt><dd>The <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> is defined as following:<ul>
+<li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a> defining <a class="el" href="structggl_1_1segment__tag.html" title="Convenience segment (2-points) identifying tag.">segment_tag</a> as type</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1point__type.html" title="Traits class indicating the type of contained points.">traits::point_type</a> to define the underlying <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type (even if it does not consist of points, it should define this type, to indicate the points it can work with)</li><li>there must be a specialization of <a class="el" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &quot;get&quot; and &quot;set&quot; to get and set point coordinate...">traits::indexed_access</a>, per index and per <a class="el" h
ref="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a>, with two functions:<ul>
+<li>get to get a coordinate value</li><li>set to set a coordinate value (this one is not checked for <a class="el" href="classggl_1_1concept_1_1_const_segment.html" title="Segment concept (const version).">ConstSegment</a>)</li></ul>
+</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> is similar to the <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>, defining another <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. However, the <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> assumes the index as min_corner, max_corner, while for the <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">conce
pt</a> there is no assumption. </dd></dl>
+
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00047">47</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::WithinStrategy&lt; Strategy &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__within.html">within: detect if a geometry is inside another geometry, a.o. point-in-polygon</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::WithinStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon).
+More...
+<p>
+<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 Strategy&gt;<br>
+ class ggl::concept::WithinStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon).
+<p>Definition at line <a class="el" href="within__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="within__concept_8hpp_source.html">within_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 plane angle: 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 plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, ClockWise, 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, ClockWise, A &gt;</a>, including all inherited members.<p><table>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, ClockWise, A &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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, bool ClockWise = true, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ class ggl::linear_ring&lt; P, V, ClockWise, 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>, and <a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#_a2">x02_numeric_adaptor_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="linear__ring_8hpp_source.html#l00041">41</a> of file <a class="el" href="linear__ring_8hpp_source.html">linear_ring.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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#_a0">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#_a8">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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="01__point__example_8cpp-example.html#_a0">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#_a17">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a7">07_graph_route_example.cpp</a>, <a class="el" href="x03__b__soci__example_8cpp-example.html#_a0">x03_b_soci_example.cpp</a>, and <a class="el" href="x03__c__soci__example_8cpp-example.html#_a0">x03_c_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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">&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#_a1">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#_a1">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#_a11">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>, <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a3">c05_custom_point_pointer_example.cpp</a>, and <a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#_a0">x02_numeric_adaptor_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#a4">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#a5">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>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, ClockWise, 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, ClockWise, PointAlloc, RingAlloc &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">clear</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">point_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ring_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, ClockWise, PointAlloc, RingAlloc &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</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#745719d755446c294264911892d97182">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#662c4458e3099e30097a3fc909d54941">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>&lt; Point, <br class="typebreak">
+<a class="el" href="class_point_list.html">PointList</a>, ClockWise, <br class="typebreak">
+PointAlloc &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ring_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">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#745719d755446c294264911892d97182">inner_container_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a> () const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, bool ClockWise = true, 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, ClockWise, 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>ClockWise</em>&nbsp;</td><td>optional parameter, true for clockwise direction, false for CounterClockWise direction </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointAlloc</em>&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>, <a class="el" href="06__transformation__example_8cpp-example.html#_a4">06_transformation_example.cpp</a>, and <a class="el" href="x03__d__soci__example_8cpp-example.html#_a0">x03_d_soci_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00051">51</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="662c4458e3099e30097a3fc909d54941"></a><!-- doxytag: member="ggl::polygon::point_type" ref="662c4458e3099e30097a3fc909d54941" 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, bool ClockWise = true, 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, ClockWise, 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#l00058">58</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6d7c8304fda2d2f1850cf2eb994c441a"></a><!-- doxytag: member="ggl::polygon::ring_type" ref="6d7c8304fda2d2f1850cf2eb994c441a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, bool ClockWise = true, 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>, ClockWise, 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, ClockWise, 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#l00059">59</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="745719d755446c294264911892d97182"></a><!-- doxytag: member="ggl::polygon::inner_container_type" ref="745719d755446c294264911892d97182" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, bool ClockWise = true, 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, ClockWise, PointAlloc, RingAlloc &gt;::<a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> </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>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="5faae375ec2c4b4547da615fa8864e74"></a><!-- doxytag: member="ggl::polygon::outer" ref="5faae375ec2c4b4547da615fa8864e74" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, bool ClockWise = true, 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, ClockWise, 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="03__polygon__example_8cpp-example.html#a9">03_polygon_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00062">62</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5a8564eeeaa4f244e6f70ab10395a63f"></a><!-- doxytag: member="ggl::polygon::inners" ref="5a8564eeeaa4f244e6f70ab10395a63f" 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, bool ClockWise = true, 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#745719d755446c294264911892d97182">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, ClockWise, 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#l00063">63</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="41e0bbcd9d466a41d8eecd6041f3c22c"></a><!-- doxytag: member="ggl::polygon::outer" ref="41e0bbcd9d466a41d8eecd6041f3c22c" 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, bool ClockWise = true, 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, ClockWise, 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#l00065">65</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c750a19a332ddfe4958ad62c78de8109"></a><!-- doxytag: member="ggl::polygon::inners" ref="c750a19a332ddfe4958ad62c78de8109" 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, bool ClockWise = true, 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#745719d755446c294264911892d97182">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, ClockWise, 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#l00066">66</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="45859e712d67f58e5813e87759892bdf"></a><!-- doxytag: member="ggl::polygon::clear" ref="45859e712d67f58e5813e87759892bdf" 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, bool ClockWise = true, 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, ClockWise, 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#l00069">69</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 plane angle: 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 plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; ConstOrNonConstPoint &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a></td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a></td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">segment</a>(point_type &amp;p1, point_type &amp;p2)</td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1segment.html">segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment&lt; ConstOrNonConstPoint &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</h1><!-- doxytag: class="ggl::segment" -->Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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 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_1segment.html#186525605856fad4270057e760d6c020">segment</a> (<a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;p1, <a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;p2)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename ConstOrNonConstPoint&gt;<br>
+ class ggl::segment&lt; ConstOrNonConstPoint &gt;</h3>
+
+Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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="classggl_1_1segment.html" title="Class segment: small class 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. Difference is that it refers to points, does not have points. <p>
+Like std::pair, points are public available. <p>
+type is const or non const, so ggl::segment&lt;P&gt; or ggl::segment&lt;const P&gt; <p>
+We cannot derive from std::pair&lt;P&amp;, P&amp;&gt; because of reference assignments. </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>ConstOrNonConstPoint</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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, maybe a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or a const <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 compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a10">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00037">37</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="186525605856fad4270057e760d6c020"></a><!-- doxytag: member="ggl::segment::segment" ref="186525605856fad4270057e760d6c020" args="(point_type &amp;p1, point_type &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html">segment</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1point__type.html">point_type</a> &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#l00055">55</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="76c7f18dd19699ccb7353137b8981c65"></a><!-- doxytag: member="ggl::segment::first" ref="76c7f18dd19699ccb7353137b8981c65" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1point__type.html">point_type</a>&amp; <a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</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>
+<a class="anchor" name="543b3806df8d74067157587323917a71"></a><!-- doxytag: member="ggl::segment::second" ref="543b3806df8d74067157587323917a71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1point__type.html">point_type</a>&amp; <a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00053">53</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; PointOfSegment, 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; PointOfSegment, 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#3496f8b166a11dd3096d5ed210a220d0">apply</a>(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, summation &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a>(summation const &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; PointOfSegment, 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">class &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><br class="typebreak">
+&lt; PointOfSegment &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#9e2a9c4543b03696554ffd7389326c83">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef summation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">apply</a> (PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, summation &amp;state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a> (summation const &amp;state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename PointOfSegment, typename CalculationType = void&gt;<br>
+ class ggl::strategy::area::by_triangles&lt; PointOfSegment, 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>PointOfSegment</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 compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#_a5">x02_numeric_adaptor_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00034">34</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9e2a9c4543b03696554ffd7389326c83"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::return_type" ref="9e2a9c4543b03696554ffd7389326c83" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , 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;PointOfSegment&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; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00050">50</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="174de254696923b84060d14b2fdc9dab"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::state_type" ref="174de254696923b84060d14b2fdc9dab" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , 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; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00076">76</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="42e99ae092f8ee5ef36b9ed01d92bfec"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::segment_point_type" ref="42e99ae092f8ee5ef36b9ed01d92bfec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00077">77</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="3496f8b166a11dd3096d5ed210a220d0"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::apply" ref="3496f8b166a11dd3096d5ed210a220d0" args="(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, summation &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">summation &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="area__by__triangles_8hpp_source.html#l00079">79</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="48ff852a738315b93d5ef5c66215c378"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::result" ref="48ff852a738315b93d5ef5c66215c378" args="(summation const &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">summation const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="area__by__triangles_8hpp_source.html#l00087">87</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d6b0e071855188b9869dadc94507df12">apply</a>(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, excess_sum &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a>(double radius=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">result</a>(excess_sum const &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::huiller" -->Area calculation by spherical excess / Huiller's formula.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d6b0e071855188b9869dadc94507df12">apply</a> (PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> &amp;state) 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_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a> (double radius=1.0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">result</a> (<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> const &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename PointOfSegment, typename CalculationType = void&gt;<br>
+ class ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</h3>
+
+Area calculation by spherical excess / Huiller's formula.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&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="area__huiller_8hpp_source.html#l00047">47</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c5f08a5725174c6b864b71cf92825d80"></a><!-- doxytag: member="ggl::strategy::area::huiller::return_type" ref="c5f08a5725174c6b864b71cf92825d80" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00070">70</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d56eacf0dfcb3398349db73ccefd5d4f"></a><!-- doxytag: member="ggl::strategy::area::huiller::segment_point_type" ref="d56eacf0dfcb3398349db73ccefd5d4f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00071">71</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c9e2f27901d3523ef53982a8eb4fecc8"></a><!-- doxytag: member="ggl::strategy::area::huiller::state_type" ref="c9e2f27901d3523ef53982a8eb4fecc8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00072">72</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="6267ff5bf8c05e6721f9ae1586fca455"></a><!-- doxytag: member="ggl::strategy::area::huiller::huiller" ref="6267ff5bf8c05e6721f9ae1586fca455" args="(double radius=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</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="area__huiller_8hpp_source.html#l00074">74</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d6b0e071855188b9869dadc94507df12"></a><!-- doxytag: member="ggl::strategy::area::huiller::apply" ref="d6b0e071855188b9869dadc94507df12" args="(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, excess_sum &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> &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="area__huiller_8hpp_source.html#l00078">78</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="050f2baca993260ec351230338c10b5a"></a><!-- doxytag: member="ggl::strategy::area::huiller::result" ref="050f2baca993260ec351230338c10b5a" args="(excess_sum const &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00125">125</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, 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; Point, PointOfSegment, 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#f088a5f3f1237c8cfb7ff719c7c546ba">apply</a>(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, sums &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#1a7d7a75398ca46a5de9d5d7e05b1088">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">result</a>(sums const &amp;state, Point &amp;centroid)</td><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">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; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, 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">class &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 Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#1a7d7a75398ca46a5de9d5d7e05b1088">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">segment_point_type</a></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#e176de39cf62f931a0c7f52fedef1119">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#f088a5f3f1237c8cfb7ff719c7c546ba">apply</a> (PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, sums &amp;state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">result</a> (sums const &amp;state, Point &amp;centroid)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment = Point, typename CalculationType = void&gt;<br>
+ class ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</h3>
+
+Centroid calculation using algorith Bashein / Detmer.
+<p>
+Calculates centroid 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>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> type of centroid to calculate </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</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 Point </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts for Point and PointOfSegment:</b></dt><dd><ul>
+<li>specialized point_traits class </li></ul>
+</dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Adapted from "Centroid of a Polygon" by Gerard Bashein and Paul R. Detmer<em>, in "Graphics Gems IV", Academic Press, 1994</em> </dd></dl>
+<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="centroid__bashein__detmer_8hpp_source.html#l00103">103</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="e176de39cf62f931a0c7f52fedef1119"></a><!-- doxytag: member="ggl::strategy::centroid_::bashein_detmer::state_type" ref="e176de39cf62f931a0c7f52fedef1119" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, 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; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00151">151</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1a7d7a75398ca46a5de9d5d7e05b1088"></a><!-- doxytag: member="ggl::strategy::centroid_::bashein_detmer::point_type" ref="1a7d7a75398ca46a5de9d5d7e05b1088" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer</a>&lt; Point, PointOfSegment, CalculationType &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="centroid__bashein__detmer_8hpp_source.html#l00152">152</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8c0b42b911228d04957dbf23cc39ee13"></a><!-- doxytag: member="ggl::strategy::centroid_::bashein_detmer::segment_point_type" ref="8c0b42b911228d04957dbf23cc39ee13" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00153">153</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="f088a5f3f1237c8cfb7ff719c7c546ba"></a><!-- doxytag: member="ggl::strategy::centroid_::bashein_detmer::apply" ref="f088a5f3f1237c8cfb7ff719c7c546ba" args="(PointOfSegment const &amp;p1, PointOfSegment const &amp;p2, sums &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer</a>&lt; Point, PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sums &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="centroid__bashein__detmer_8hpp_source.html#l00155">155</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d8b6fb25735eb9f617b6fc5377f828bd"></a><!-- doxytag: member="ggl::strategy::centroid_::bashein_detmer::result" ref="d8b6fb25735eb9f617b6fc5377f828bd" args="(sums const &amp;state, Point &amp;centroid)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer</a>&lt; Point, PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">sums const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>centroid</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="centroid__bashein__detmer_8hpp_source.html#l00181">181</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_andrew&lt; InputGeometry, OutputPoint &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">apply</a>(InputGeometry const &amp;geometry, partitions &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">geometry_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d91eb30ec4c2012f1cedffec4fc09f8a">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d303984e62fedbbd91ba93ca16ad9225">result</a>(partitions const &amp;state, OutputIterator out, bool clockwise) const </td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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__andrew.html">graham_andrew</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__convex__hull.html">convex hull: calculate the convex hull of a geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::convex_hull::graham_andrew" -->Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>partitions</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef InputGeometry&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">geometry_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef OutputPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d91eb30ec4c2012f1cedffec4fc09f8a">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef partitions&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">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="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">apply</a> (InputGeometry const &amp;geometry, partitions &amp;state) const </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__andrew.html#d303984e62fedbbd91ba93ca16ad9225">result</a> (partitions const &amp;state, OutputIterator out, bool clockwise) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename InputGeometry, typename OutputPoint&gt;<br>
+ class ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</h3>
+
+Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Completely reworked version inspired on the sources listed below </dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.ddj.com/architect/201806315 <p>
+http://marknelson.us/2007/08/22/convex </dd></dl>
+
+<p>Definition at line <a class="el" href="hull__graham__andrew_8hpp_source.html#l00203">203</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="d91eb30ec4c2012f1cedffec4fc09f8a"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham_andrew::point_type" ref="d91eb30ec4c2012f1cedffec4fc09f8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename InputGeometry , typename OutputPoint &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef OutputPoint <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew</a>&lt; InputGeometry, OutputPoint &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="hull__graham__andrew_8hpp_source.html#l00206">206</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1aa4e394a18e9e429f97f88e4e0e04b2"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham_andrew::geometry_type" ref="1aa4e394a18e9e429f97f88e4e0e04b2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename InputGeometry , typename OutputPoint &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef InputGeometry <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew</a>&lt; InputGeometry, OutputPoint &gt;::<a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">geometry_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="hull__graham__andrew_8hpp_source.html#l00207">207</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="40b15bcd45028656c608c90126255512"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham_andrew::state_type" ref="40b15bcd45028656c608c90126255512" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename InputGeometry , typename OutputPoint &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef partitions <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew</a>&lt; InputGeometry, OutputPoint &gt;::<a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="hull__graham__andrew_8hpp_source.html#l00229">229</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="84ba0fcdbfc02db99e98b3d932b00679"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham_andrew::apply" ref="84ba0fcdbfc02db99e98b3d932b00679" args="(InputGeometry const &amp;geometry, partitions &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename InputGeometry , typename OutputPoint &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew</a>&lt; InputGeometry, OutputPoint &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">InputGeometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">partitions &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="hull__graham__andrew_8hpp_source.html#l00232">232</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d303984e62fedbbd91ba93ca16ad9225"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham_andrew::result" ref="d303984e62fedbbd91ba93ca16ad9225" args="(partitions const &amp;state, OutputIterator out, bool clockwise) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename InputGeometry , typename OutputPoint &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__andrew.html">ggl::strategy::convex_hull::graham_andrew</a>&lt; InputGeometry, OutputPoint &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">partitions const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>clockwise</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="hull__graham__andrew_8hpp_source.html#l00282">282</a> of file <a class="el" href="hull__graham__andrew_8hpp_source.html">hull_graham_andrew.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">apply</a>(Point const &amp;p, PointOfSegment const &amp;sp1, PointOfSegment const &amp;sp2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#029ee4f05257f06b27f43ef65612365f">BOOST_CONCEPT_ASSERT</a>((ggl::concept::PointDistanceStrategy&lt; point_strategy_type &gt;))</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#9d109c60d8908e73347339b91a599362">cross_track</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#7e4991ac16609bd7a55f8ab07b8fa84f">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a>::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::cross_track" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a><br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a>&lt; Point &gt;<br class="typebreak">
+::type, typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a><br class="typebreak">
+&lt; Point &gt;::type, Point, Point &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_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_1strategy_1_1distance_1_1cross__track.html#7e4991ac16609bd7a55f8ab07b8fa84f">point_type</a></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_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">segment_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"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">apply</a> (Point const &amp;p, PointOfSegment const &amp;sp1, PointOfSegment const &amp;sp2) 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_1distance_1_1cross__track.html#029ee4f05257f06b27f43ef65612365f">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy</a>&lt; <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a> &gt;))</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_1cross__track.html#9d109c60d8908e73347339b91a599362">cross_track</a> (double r=1.0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment&gt;<br>
+ class ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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="classggl_1_1segment.html" title="Class segment: small class 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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, using latlong points <dl class="see" compact><dt><b>See also:</b></dt><dd>http://williams.best.vwh.net/avform.htm </dd></dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00042">42</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="e55265a025b56813ac29ad3cb040fc7a"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::return_type" ref="e55265a025b56813ac29ad3cb040fc7a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00045">45</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7e4991ac16609bd7a55f8ab07b8fa84f"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::point_type" ref="7e4991ac16609bd7a55f8ab07b8fa84f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &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="distance__cross__track_8hpp_source.html#l00046">46</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5ea7f36a449e7d6971004b709507d947"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::segment_point_type" ref="5ea7f36a449e7d6971004b709507d947" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00047">47</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ee860bb20c67ab9ccde312f9bc4bbc74"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::point_strategy_type" ref="ee860bb20c67ab9ccde312f9bc4bbc74" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &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">ggl::cs_tag</a>&lt;Point&gt;::type, typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a>&lt;Point&gt;::type, Point, Point &gt;::type <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00054">54</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="9d109c60d8908e73347339b91a599362"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::cross_track" ref="9d109c60d8908e73347339b91a599362" args="(double r=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</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="distance__cross__track_8hpp_source.html#l00063">63</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="029ee4f05257f06b27f43ef65612365f"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::BOOST_CONCEPT_ASSERT" ref="029ee4f05257f06b27f43ef65612365f" args="((ggl::concept::PointDistanceStrategy&lt; point_strategy_type &gt;))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::BOOST_CONCEPT_ASSERT </td>
+ <td>(</td>
+ <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy</a>&lt; <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a> &gt;)&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="df7852cdc9e0b59c9794a3a261425775"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::apply" ref="df7852cdc9e0b59c9794a3a261425775" args="(Point const &amp;p, PointOfSegment const &amp;sp1, PointOfSegment const &amp;sp2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>&lt; Point, PointOfSegment &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>sp1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>sp2</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="distance__cross__track_8hpp_source.html#l00074">74</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point1, Point2 &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; Point1, Point2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">apply</a>(Point1 const &amp;p1, Point2 const &amp;p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">first_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">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; Point1, Point2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">second_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point1, Point2 &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</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 Point1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">first_point_type</a></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#5cb40cefbe440772773298ae8e93c8c1">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">second_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"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">apply</a> (Point1 const &amp;p1, Point2 const &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_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">haversine</a> (double r=1.0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point1, typename Point2 = Point1&gt;<br>
+ class ggl::strategy::distance::haversine&lt; Point1, Point2 &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 functor, to sort points in ascending order.">less</a> subject to rounding error for short distances is: d=2*asin(sqrt((sin((lat1-lat2)/2))^2 + cos(lat1)*cos(lat2)*(sin((lon1-lon2)/2))^2)) </em> </dd></dl>
+
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00046">46</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="68f55117d278c0bd7d2724a5663e81c2"></a><!-- doxytag: member="ggl::strategy::distance::haversine::first_point_type" ref="68f55117d278c0bd7d2724a5663e81c2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2 = Point1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point1 <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; Point1, Point2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">first_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00049">49</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="98dc5f8fccee222843c20eb8589a0d9f"></a><!-- doxytag: member="ggl::strategy::distance::haversine::second_point_type" ref="98dc5f8fccee222843c20eb8589a0d9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2 = Point1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point2 <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; Point1, Point2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">second_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00050">50</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5cb40cefbe440772773298ae8e93c8c1"></a><!-- doxytag: member="ggl::strategy::distance::haversine::return_type" ref="5cb40cefbe440772773298ae8e93c8c1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2 = Point1&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; Point1, Point2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00051">51</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="03a6614e4565a2f091637681a994c8a2"></a><!-- doxytag: member="ggl::strategy::distance::haversine::haversine" ref="03a6614e4565a2f091637681a994c8a2" args="(double r=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2 = Point1&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; Point1, Point2 &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="distance__haversine_8hpp_source.html#l00053">53</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="cc17222e2bcfa3ac8b812fa9a68467a8"></a><!-- doxytag: member="ggl::strategy::distance::haversine::apply" ref="cc17222e2bcfa3ac8b812fa9a68467a8" args="(Point1 const &amp;p1, Point2 const &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2 = Point1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; Point1, Point2 &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point1 const &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> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00057">57</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Box, Point &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; Box, Point &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#c4177ae29e56e68dd5ab9cbfd729cd11">apply</a>(Linestring &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; Box, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#50588b777d1eac2d6b1e6363b002c423">clip_segment</a>(Box 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; Box, Point &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Box, Point &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__overlay.html">overlay helper operations (getting intersection points, etc)</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 Linestring , 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#c4177ae29e56e68dd5ab9cbfd729cd11">apply</a> (Linestring &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#50588b777d1eac2d6b1e6363b002c423">clip_segment</a> (Box const &amp;b, <a class="el" href="classggl_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 Box, typename Point&gt;<br>
+ class ggl::strategy::intersection::liang_barsky&lt; Box, Point &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 <p>
+Though it is implemented in namespace <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, and theoretically another <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> could be used, it is not (yet) updated to the general <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> concepts, and not (yet) splitted into a file in folder strategies </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="clip__linestring_8hpp_source.html#l00042">42</a> of file <a class="el" href="clip__linestring_8hpp_source.html">clip_linestring.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="50588b777d1eac2d6b1e6363b002c423"></a><!-- doxytag: member="ggl::strategy::intersection::liang_barsky::clip_segment" ref="50588b777d1eac2d6b1e6363b002c423" args="(Box 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 Box, typename Point&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; Box, Point &gt;::clip_segment </td>
+ <td>(</td>
+ <td class="paramtype">Box 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="classggl_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="clip__linestring_8hpp_source.html#l00078">78</a> of file <a class="el" href="clip__linestring_8hpp_source.html">clip_linestring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c4177ae29e56e68dd5ab9cbfd729cd11"></a><!-- doxytag: member="ggl::strategy::intersection::liang_barsky::apply" ref="c4177ae29e56e68dd5ab9cbfd729cd11" args="(Linestring &amp;line_out, OutputIterator out) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box, typename Point&gt; </div>
+<div class="memtemplate">
+template&lt;typename Linestring , 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; Box, Point &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Linestring &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="clip__linestring_8hpp_source.html#l00125">125</a> of file <a class="el" href="clip__linestring_8hpp_source.html">clip_linestring.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointDistanceStrategy &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; Point, PointDistanceStrategy &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#8ec9dbc06a92fb822cddba949e067ae2">apply</a>(Range const &amp;range, OutputIterator out, double max_distance)</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">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; Point, PointDistanceStrategy &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointDistanceStrategy &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__simplify.html">simplify: remove points from a geometry, keeping shape (simplification or 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 PointDistanceStrategy&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Range , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">apply</a> (Range const &amp;range, OutputIterator out, double max_distance)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointDistanceStrategy&gt;<br>
+ class ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &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>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> type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointDistanceStrategy</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="simplify__douglas__peucker_8hpp_source.html#l00085">85</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c1a18c53b124af6e3f49e61589eef15d"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="c1a18c53b124af6e3f49e61589eef15d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointDistanceStrategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointDistanceStrategy <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; Point, PointDistanceStrategy &gt;::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="simplify__douglas__peucker_8hpp_source.html#l00165">165</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8ec9dbc06a92fb822cddba949e067ae2"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::apply" ref="8ec9dbc06a92fb822cddba949e067ae2" args="(Range const &amp;range, OutputIterator out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointDistanceStrategy &gt; </div>
+<div class="memtemplate">
+template&lt;typename Range , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static OutputIterator <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; Point, PointDistanceStrategy &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Range const &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&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><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="simplify__douglas__peucker_8hpp_source.html#l00169">169</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#l00049">49</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00054">54</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ffa7fb0b1ff1d5fd75be30486c0d46a8"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&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#l00057">57</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#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="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#l00059">59</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#l00063">63</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#l00074">74</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#l00080">80</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#l00098">98</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#l00060">60</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00126">126</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="f18e27122021194c07a471589ba9307d"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&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#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="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#l00130">130</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#l00131">131</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#l00134">134</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#l00148">148</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#l00156">156</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#l00174">174</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#l00132">132</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a>(Point const &amp;point, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, flags &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a>(flags const &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::crossings_multiply" -->Within detection using cross counting,.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef flags&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a> (Point const &amp;<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, flags &amp;state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a> (flags const &amp;state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment = Point, typename CalculationType = void&gt;<br>
+ class ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</h3>
+
+Within detection using cross counting,.
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://tog.acm.org/resources/GraphicsGems/gemsiv/ptpoly_haines/ptinpoly.c </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Does NOT work correctly for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> ON border </dd></dl>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00033">33</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6482df62b2e25a93ca704fd04c8b811f"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::point_type" ref="6482df62b2e25a93ca704fd04c8b811f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>&lt; Point, PointOfSegment, CalculationType &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="point__in__poly__crossings__multiply_8hpp_source.html#l00061">61</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="504d328948460685cb7cdaeadb36a4e2"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::segment_point_type" ref="504d328948460685cb7cdaeadb36a4e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00062">62</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7c676d88046afd8fd3507e12a80e038c"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::state_type" ref="7c676d88046afd8fd3507e12a80e038c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef flags <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00063">63</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="80f199c6a3034df498d70d331362953f"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::apply" ref="80f199c6a3034df498d70d331362953f" args="(Point const &amp;point, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, flags &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>&lt; Point, PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>seg1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>seg2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flags &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__crossings__multiply_8hpp_source.html#l00065">65</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f24bc7f772e47cf8d0b0dee182152b96"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::result" ref="f24bc7f772e47cf8d0b0dee182152b96" args="(flags const &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>&lt; Point, PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">flags const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__crossings__multiply_8hpp_source.html#l00095">95</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a>(Point const &amp;point, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, crossings &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a>(crossings const &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">franklin</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::franklin" -->Within detection using cross counting.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &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 Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef crossings&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a> (Point const &amp;<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, crossings &amp;state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a> (crossings const &amp;state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment = Point, typename CalculationType = void&gt;<br>
+ class ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &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="point__in__poly__franklin_8hpp_source.html#l00038">38</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="cc0727d9dab9cc7dc5f53c1503ecbc30"></a><!-- doxytag: member="ggl::strategy::within::franklin::point_type" ref="cc0727d9dab9cc7dc5f53c1503ecbc30" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; Point, PointOfSegment, CalculationType &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="point__in__poly__franklin_8hpp_source.html#l00062">62</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="603efd6a0b874edba04ffe851eab4d1c"></a><!-- doxytag: member="ggl::strategy::within::franklin::segment_point_type" ref="603efd6a0b874edba04ffe851eab4d1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00063">63</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="aaf6013cc8941519815cb2c95e80a00c"></a><!-- doxytag: member="ggl::strategy::within::franklin::state_type" ref="aaf6013cc8941519815cb2c95e80a00c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef crossings <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00064">64</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="4b1eb62bc13831e4670bf2ab4daa9745"></a><!-- doxytag: member="ggl::strategy::within::franklin::apply" ref="4b1eb62bc13831e4670bf2ab4daa9745" args="(Point const &amp;point, PointOfSegment const &amp;seg1, PointOfSegment const &amp;seg2, crossings &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; Point, PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>seg1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>seg2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">crossings &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__franklin_8hpp_source.html#l00066">66</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="12841ed2bf091c12e34ed2acd5185bd4"></a><!-- doxytag: member="ggl::strategy::within::franklin::result" ref="12841ed2bf091c12e34ed2acd5185bd4" args="(crossings const &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; Point, PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">crossings const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__franklin_8hpp_source.html#l00087">87</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, CalculationType &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; Point, PointOfSegment, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a>(Point const &amp;point, PointOfSegment const &amp;s1, PointOfSegment const &amp;s2, counter &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a>(counter const &amp;state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, CalculationType &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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>counter</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef counter&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a> (Point const &amp;<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &amp;s1, PointOfSegment const &amp;s2, counter &amp;state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a> (counter const &amp;state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment = Point, typename CalculationType = void&gt;<br>
+ class ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &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>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> type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to examine </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</em>&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 Point </td></tr>
+ </table>
+</dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The implementation is inspired by terralib http://www.terralib.org (LGPL) <p>
+but totally revised afterwards, especially for cases on segments <p>
+Only dependant on "side", -&gt; agnostic, suitable for spherical/latlong </dd></dl>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00040">40</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="496cb869cb747a80d470ebac9c892eaf"></a><!-- doxytag: member="ggl::strategy::within::winding::point_type" ref="496cb869cb747a80d470ebac9c892eaf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; Point, PointOfSegment, CalculationType &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="point__in__poly__winding_8hpp_source.html#l00127">127</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2e557a6a08f8f5b3c27a1d63ff6f6b9b"></a><!-- doxytag: member="ggl::strategy::within::winding::segment_point_type" ref="2e557a6a08f8f5b3c27a1d63ff6f6b9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00128">128</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fd7b5eac646626cf446823a10bb5ba95"></a><!-- doxytag: member="ggl::strategy::within::winding::state_type" ref="fd7b5eac646626cf446823a10bb5ba95" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef counter <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; Point, PointOfSegment, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00129">129</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ec33313d619c08e25278a2eb22f20354"></a><!-- doxytag: member="ggl::strategy::within::winding::apply" ref="ec33313d619c08e25278a2eb22f20354" args="(Point const &amp;point, PointOfSegment const &amp;s1, PointOfSegment const &amp;s2, counter &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; Point, PointOfSegment, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">counter &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__winding_8hpp_source.html#l00131">131</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2164ea81b8578fb39f9a79090fcedbc4"></a><!-- doxytag: member="ggl::strategy::within::winding::result" ref="2164ea81b8578fb39f9a79090fcedbc4" args="(counter const &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment = Point, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; Point, PointOfSegment, CalculationType &gt;::result </td>
+ <td>(</td>
+ <td class="paramtype">counter const &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</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="point__in__poly__winding_8hpp_source.html#l00160">160</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00206">206</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#l00210">210</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#l00217">217</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl::clear</a> (Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;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="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.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#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a> {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>use_std_clear
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 geometry.clear();
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>use_traits_clear
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 traits::clear&lt;Geometry&gt;::apply(geometry);
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 };
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00046"></a>00046 <span class="keyword">struct </span>polygon_clear
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon&amp; polygon)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon).clear();
+<a name="l00051"></a>00051 <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon).clear();
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>no_action
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry&amp; geometry)
+<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::clear</span>
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> UseStd, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>
+<a name="l00072"></a>00072 {};
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="comment">// True (default for all geometry types, unless otherwise implemented in traits)</span>
+<a name="l00075"></a>00075 <span class="comment">// uses std::clear</span>
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;Tag, true, Geometry&gt;
+<a name="l00078"></a>00078 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_std_clear&lt;Geometry&gt;
+<a name="l00079"></a>00079 {};
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">// If any geometry specializes use_std&lt;Geometry&gt; to false, specialize to use the traits clear.</span>
+<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00083"></a>00083 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;Tag, false, Geometry&gt;
+<a name="l00084"></a>00084 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_traits_clear&lt;Geometry&gt;
+<a name="l00085"></a>00085 {};
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// Point/box/segment do not have clear. So specialize to do nothing.</span>
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;point_tag, true, Geometry&gt;
+<a name="l00090"></a>00090 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;Geometry&gt;
+<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#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;box_tag, true, Geometry&gt;
+<a name="l00095"></a>00095 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;Geometry&gt;
+<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> Geometry&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;segment_tag, true, Geometry&gt;
+<a name="l00100"></a>00100 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;Geometry&gt;
+<a name="l00101"></a>00101 {};
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="comment">// Polygon can (indirectly) use std for clear</span>
+<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;polygon_tag, true, Polygon&gt;
+<a name="l00109"></a>00109 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::polygon_clear&lt;Polygon&gt;
+<a name="l00110"></a>00110 {};
+<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 // DOXYGEN_NO_DISPATCH</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span>
+<a name="l00116"></a>00116
+<a name="l00123"></a>00123 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00124"></a><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">00124</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(Geometry&amp; geometry)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 concept::check&lt;Geometry&gt;();
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">dispatch::clear</a>
+<a name="l00129"></a>00129 &lt;
+<a name="l00130"></a>00130 <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="l00131"></a>00131 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00132"></a>00132 &lt;
+<a name="l00133"></a>00133 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type
+<a name="l00134"></a>00134 &gt;::value,
+<a name="l00135"></a>00135 Geometry
+<a name="l00136"></a>00136 &gt;::apply(geometry);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace ggl</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="preprocessor">#endif // GGL_ALGORITHMS_CLEAR_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/clip_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; Box, Point &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/clip__linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/clip_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_OVERLAY_CLIP_LINESTRING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_CLIP_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>intersection {
+<a name="l00025"></a>00025
+<a name="l00041"></a>00041 <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="l00042"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">00042</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="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">private</span>:
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html">ggl::segment&lt;Point&gt;</a> <a class="code" href="classggl_1_1segment.html">segment_type</a>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <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="l00048"></a>00048 <span class="keyword"> </span>{
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> visible = <span class="keyword">true</span>;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordflow">if</span>(p &lt; 0)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keywordtype">double</span> <span class="keyword">const</span> r = q / p;
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (r &gt; t2)
+<a name="l00055"></a>00055 visible = <span class="keyword">false</span>;
+<a name="l00056"></a>00056 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (r &gt; t1)
+<a name="l00057"></a>00057 t1 = r;
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(p &gt; 0)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keywordtype">double</span> <span class="keyword">const</span> r = q / p;
+<a name="l00062"></a>00062 <span class="keywordflow">if</span> (r &lt; t1)
+<a name="l00063"></a>00063 visible = <span class="keyword">false</span>;
+<a name="l00064"></a>00064 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (r &lt; t2)
+<a name="l00065"></a>00065 t2 = r;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 <span class="keywordflow">else</span>
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (q &lt; 0)
+<a name="l00070"></a>00070 visible = <span class="keyword">false</span>;
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> visible;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">public</span>:
+<a name="l00077"></a>00077
+<a name="l00078"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#50588b777d1eac2d6b1e6363b002c423">00078</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#50588b777d1eac2d6b1e6363b002c423">clip_segment</a>(Box <span class="keyword">const</span>&amp; b, <a class="code" href="classggl_1_1segment.html">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="l00079"></a>00079 <span class="keyword"> </span>{
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;Box, Point&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="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keywordtype">double</span> t1 = 0;
+<a name="l00083"></a>00083 <span class="keywordtype">double</span> t2 = 1;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 coordinate_type <span class="keyword">const</span> dx = get&lt;1, 0&gt;(s) - get&lt;0, 0&gt;(s);
+<a name="l00086"></a>00086 coordinate_type <span class="keyword">const</span> dy = get&lt;1, 1&gt;(s) - get&lt;0, 1&gt;(s);
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 coordinate_type <span class="keyword">const</span> p1 = -dx;
+<a name="l00089"></a>00089 coordinate_type <span class="keyword">const</span> p2 = dx;
+<a name="l00090"></a>00090 coordinate_type <span class="keyword">const</span> p3 = -dy;
+<a name="l00091"></a>00091 coordinate_type <span class="keyword">const</span> p4 = dy;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 coordinate_type <span class="keyword">const</span> q1 = get&lt;0, 0&gt;(s) - get&lt;min_corner, 0&gt;(b);
+<a name="l00094"></a>00094 coordinate_type <span class="keyword">const</span> q2 = get&lt;max_corner, 0&gt;(b) - get&lt;0, 0&gt;(s);
+<a name="l00095"></a>00095 coordinate_type <span class="keyword">const</span> q3 = get&lt;0, 1&gt;(s) - get&lt;min_corner, 1&gt;(b);
+<a name="l00096"></a>00096 coordinate_type <span class="keyword">const</span> q4 = get&lt;max_corner, 1&gt;(b) - get&lt;0, 1&gt;(s);
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordflow">if</span> (check_edge(p1, q1, t1, t2) <span class="comment">// left</span>
+<a name="l00099"></a>00099 &amp;&amp; check_edge(p2, q2, t1, t2) <span class="comment">// right</span>
+<a name="l00100"></a>00100 &amp;&amp; check_edge(p3, q3, t1, t2) <span class="comment">// bottom</span>
+<a name="l00101"></a>00101 &amp;&amp; check_edge(p4, q4, t1, t2)) <span class="comment">// top</span>
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 sp1_clipped = t1 &gt; 0;
+<a name="l00104"></a>00104 sp2_clipped = t2 &lt; 1;
+<a name="l00105"></a>00105
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00125"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#c4177ae29e56e68dd5ab9cbfd729cd11">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#c4177ae29e56e68dd5ab9cbfd729cd11">apply</a>(Linestring&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#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(line_out);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 };
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 }} <span class="comment">// namespace strategy::intersection</span>
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>intersection {
+<a name="l00142"></a>00142
+<a name="l00154"></a>00154 <span class="keyword">template</span>
+<a name="l00155"></a>00155 &lt;
+<a name="l00156"></a>00156 <span class="keyword">typename</span> OutputLinestring,
+<a name="l00157"></a>00157 <span class="keyword">typename</span> OutputIterator,
+<a name="l00158"></a>00158 <span class="keyword">typename</span> Linestring,
+<a name="l00159"></a>00159 <span class="keyword">typename</span> Box,
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Strategy
+<a name="l00161"></a>00161 &gt;
+<a name="l00162"></a>00162 OutputIterator clip_linestring_with_box(Box <span class="keyword">const</span>&amp; b, Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00163"></a>00163 OutputIterator out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00164"></a>00164 {
+<a name="l00165"></a>00165 <span class="keywordflow">if</span> (boost::begin(linestring) == boost::end(linestring))
+<a name="l00166"></a>00166 {
+<a name="l00167"></a>00167 <span class="keywordflow">return</span> out;
+<a name="l00168"></a>00168 }
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;OutputLinestring&gt;::type point_type;
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 OutputLinestring line_out;
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Linestring&gt;::type iterator_type;
+<a name="l00175"></a>00175 iterator_type vertex = boost::begin(linestring);
+<a name="l00176"></a>00176 <span class="keywordflow">for</span>(iterator_type previous = vertex++;
+<a name="l00177"></a>00177 vertex != boost::end(linestring);
+<a name="l00178"></a>00178 previous = vertex++)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 point_type p1, p2;
+<a name="l00181"></a>00181 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*previous, p1);
+<a name="l00182"></a>00182 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*vertex, p2);
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="comment">// Clip the segment. Five situations:</span>
+<a name="l00185"></a>00185 <span class="comment">// 1. Segment is invisible, finish line if any (shouldn't occur)</span>
+<a name="l00186"></a>00186 <span class="comment">// 2. Segment is completely visible. Add (p1)-p2 to line</span>
+<a name="l00187"></a>00187 <span class="comment">// 3. Point 1 is invisible (clipped), point 2 is visible. Start new line from p1-p2...</span>
+<a name="l00188"></a>00188 <span class="comment">// 4. Point 1 is visible, point 2 is invisible (clipped). End the line with ...p2</span>
+<a name="l00189"></a>00189 <span class="comment">// 5. Point 1 and point 2 are both invisible (clipped). Start/finish an independant line p1-p2</span>
+<a name="l00190"></a>00190 <span class="comment">//</span>
+<a name="l00191"></a>00191 <span class="comment">// This results in:</span>
+<a name="l00192"></a>00192 <span class="comment">// a. if p1 is clipped, start new line</span>
+<a name="l00193"></a>00193 <span class="comment">// b. if segment is partly or completely visible, add the segment</span>
+<a name="l00194"></a>00194 <span class="comment">// c. if p2 is clipped, end the line</span>
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keywordtype">bool</span> c1 = <span class="keyword">false</span>;
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span> c2 = <span class="keyword">false</span>;
+<a name="l00198"></a>00198 segment&lt;point_type&gt; s(p1, p2);
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="keywordflow">if</span> (!strategy.clip_segment(b, s, c1, c2))
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 strategy.apply(line_out, out);
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204 <span class="keywordflow">else</span>
+<a name="l00205"></a>00205 {
+<a name="l00206"></a>00206 <span class="comment">// a. If necessary, finish the line and add a start a new one</span>
+<a name="l00207"></a>00207 <span class="keywordflow">if</span> (c1)
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 strategy.apply(line_out, out);
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="comment">// b. Add p1 only if it is the first point, then add p2</span>
+<a name="l00213"></a>00213 <span class="keywordflow">if</span> (boost::empty(line_out))
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(line_out, p1);
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(line_out, p2);
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="comment">// c. If c2 is clipped, finish the line</span>
+<a name="l00220"></a>00220 <span class="keywordflow">if</span> (c2)
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222 strategy.apply(line_out, out);
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="comment">// Add last part</span>
+<a name="l00229"></a>00229 strategy.apply(line_out, out);
+<a name="l00230"></a>00230 <span class="keywordflow">return</span> out;
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00234"></a>00234 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00235"></a>00235 <span class="preprocessor"></span>
+<a name="l00236"></a>00236 } <span class="comment">// namespace ggl</span>
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_CLIP_LINESTRING_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <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="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2compare_8hpp.html">ggl/strategies/compare.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="policies_2compare_8hpp.html">ggl/policies/compare.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>ggl
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a> {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater,
+<a name="l00046"></a>00046 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00047"></a>00047 &gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>point_loop
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy::compare::detail::select_strategy
+<a name="l00051"></a>00051 &lt;
+<a name="l00052"></a>00052 StrategyLess, 1, Point, Dimension
+<a name="l00053"></a>00053 &gt;::type less_type;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy::compare::detail::select_strategy
+<a name="l00056"></a>00056 &lt;
+<a name="l00057"></a>00057 StrategyGreater, -1, Point, Dimension
+<a name="l00058"></a>00058 &gt;::type greater_type;
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;Point, Box&gt;::type coordinate_type;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <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="l00063"></a>00063 {
+<a name="l00064"></a>00064 less_type less;
+<a name="l00065"></a>00065 greater_type greater;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 coordinate_type <span class="keyword">const</span> coord = get&lt;Dimension&gt;(source);
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (less(coord, get&lt;min_corner, Dimension&gt;(box)))
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 set&lt;min_corner, Dimension&gt;(box, coord);
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (greater(coord, get&lt;max_corner, Dimension&gt;(box)))
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 set&lt;max_corner, Dimension&gt;(box, coord);
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 point_loop
+<a name="l00080"></a>00080 &lt;
+<a name="l00081"></a>00081 Box, Point,
+<a name="l00082"></a>00082 StrategyLess, StrategyGreater,
+<a name="l00083"></a>00083 Dimension + 1, DimensionCount
+<a name="l00084"></a>00084 &gt;::apply(box, source);
+<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>
+<a name="l00090"></a>00090 &lt;
+<a name="l00091"></a>00091 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater,
+<a name="l00093"></a>00093 std::size_t DimensionCount
+<a name="l00094"></a>00094 &gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span>point_loop
+<a name="l00096"></a>00096 &lt;
+<a name="l00097"></a>00097 Box, Point,
+<a name="l00098"></a>00098 StrategyLess, StrategyGreater,
+<a name="l00099"></a>00099 DimensionCount, DimensionCount
+<a name="l00100"></a>00100 &gt;
+<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(Box&amp;, Point <span class="keyword">const</span>&amp;) {}
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keyword">template</span>
+<a name="l00107"></a>00107 &lt;
+<a name="l00108"></a>00108 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry,
+<a name="l00109"></a>00109 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater,
+<a name="l00110"></a>00110 std::size_t Index,
+<a name="l00111"></a>00111 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00112"></a>00112 &gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span>indexed_loop
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy::compare::detail::select_strategy
+<a name="l00116"></a>00116 &lt;
+<a name="l00117"></a>00117 StrategyLess, 1, Box, Dimension
+<a name="l00118"></a>00118 &gt;::type less_type;
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy::compare::detail::select_strategy
+<a name="l00121"></a>00121 &lt;
+<a name="l00122"></a>00122 StrategyGreater, -1, Box, Dimension
+<a name="l00123"></a>00123 &gt;::type greater_type;
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type
+<a name="l00126"></a>00126 &lt;
+<a name="l00127"></a>00127 Box,
+<a name="l00128"></a>00128 Geometry
+<a name="l00129"></a>00129 &gt;::type coordinate_type;
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box, Geometry <span class="keyword">const</span>&amp; source)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 less_type less;
+<a name="l00135"></a>00135 greater_type greater;
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 coordinate_type <span class="keyword">const</span> coord = get&lt;Index, Dimension&gt;(source);
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keywordflow">if</span> (less(coord, get&lt;min_corner, Dimension&gt;(box)))
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 set&lt;min_corner, Dimension&gt;(box, coord);
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keywordflow">if</span> (greater(coord, get&lt;max_corner, Dimension&gt;(box)))
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 set&lt;max_corner, Dimension&gt;(box, coord);
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 indexed_loop
+<a name="l00150"></a>00150 &lt;
+<a name="l00151"></a>00151 Box, Geometry,
+<a name="l00152"></a>00152 StrategyLess, StrategyGreater,
+<a name="l00153"></a>00153 Index, Dimension + 1, DimensionCount
+<a name="l00154"></a>00154 &gt;::apply(box, source);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">template</span>
+<a name="l00160"></a>00160 &lt;
+<a name="l00161"></a>00161 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry,
+<a name="l00162"></a>00162 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater,
+<a name="l00163"></a>00163 std::size_t Index, std::size_t DimensionCount
+<a name="l00164"></a>00164 &gt;
+<a name="l00165"></a>00165 <span class="keyword">struct </span>indexed_loop
+<a name="l00166"></a>00166 &lt;
+<a name="l00167"></a>00167 Box, Geometry,
+<a name="l00168"></a>00168 StrategyLess, StrategyGreater,
+<a name="l00169"></a>00169 Index, DimensionCount, DimensionCount
+<a name="l00170"></a>00170 &gt;
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp;, Geometry <span class="keyword">const</span>&amp;) {}
+<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">// Changes a box such that the other box is also contained by the box</span>
+<a name="l00178"></a>00178 <span class="keyword">template</span>
+<a name="l00179"></a>00179 &lt;
+<a name="l00180"></a>00180 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry,
+<a name="l00181"></a>00181 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00182"></a>00182 &gt;
+<a name="l00183"></a>00183 <span class="keyword">struct </span>combine_indexed
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box, Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 indexed_loop
+<a name="l00188"></a>00188 &lt;
+<a name="l00189"></a>00189 Box, Geometry,
+<a name="l00190"></a>00190 StrategyLess, StrategyGreater,
+<a name="l00191"></a>00191 0, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Geometry&gt;::type::value</a>
+<a name="l00192"></a>00192 &gt;::apply(box, geometry);
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 indexed_loop
+<a name="l00195"></a>00195 &lt;
+<a name="l00196"></a>00196 Box, Geometry,
+<a name="l00197"></a>00197 StrategyLess, StrategyGreater,
+<a name="l00198"></a>00198 1, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Geometry&gt;::type::value</a>
+<a name="l00199"></a>00199 &gt;::apply(box, geometry);
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 };
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 }} <span class="comment">// namespace detail::combine</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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="keyword">template</span>
+<a name="l00211"></a>00211 &lt;
+<a name="l00212"></a>00212 <span class="keyword">typename</span> Tag,
+<a name="l00213"></a>00213 <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Geometry,
+<a name="l00214"></a>00214 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00215"></a>00215 &gt;
+<a name="l00216"></a>00216 <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="l00217"></a>00217 {};
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="comment">// Box + point -&gt; new box containing also point</span>
+<a name="l00221"></a>00221 <span class="keyword">template</span>
+<a name="l00222"></a>00222 &lt;
+<a name="l00223"></a>00223 <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Point,
+<a name="l00224"></a>00224 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00225"></a>00225 &gt;
+<a name="l00226"></a>00226 <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, StrategyLess, StrategyGreater&gt;
+<a name="l00227"></a>00227 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::point_loop
+<a name="l00228"></a>00228 &lt;
+<a name="l00229"></a>00229 BoxOut, Point,
+<a name="l00230"></a>00230 StrategyLess, StrategyGreater,
+<a name="l00231"></a>00231 0, dimension&lt;Point&gt;::type::value
+<a name="l00232"></a>00232 &gt;
+<a name="l00233"></a>00233 {};
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="comment">// Box + box -&gt; new box containing two input boxes</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> BoxOut, <span class="keyword">typename</span> BoxIn,
+<a name="l00240"></a>00240 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00241"></a>00241 &gt;
+<a name="l00242"></a>00242 <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, StrategyLess, StrategyGreater&gt;
+<a name="l00243"></a>00243 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_indexed
+<a name="l00244"></a>00244 &lt;BoxOut, BoxIn, StrategyLess, StrategyGreater&gt;
+<a name="l00245"></a>00245 {};
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="keyword">template</span>
+<a name="l00248"></a>00248 &lt;
+<a name="l00249"></a>00249 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Segment,
+<a name="l00250"></a>00250 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00251"></a>00251 &gt;
+<a name="l00252"></a>00252 <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;segment_tag, Box, Segment, StrategyLess, StrategyGreater&gt;
+<a name="l00253"></a>00253 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_indexed
+<a name="l00254"></a>00254 &lt;Box, Segment, StrategyLess, StrategyGreater&gt;
+<a name="l00255"></a>00255 {};
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 } <span class="comment">// namespace dispatch</span>
+<a name="l00259"></a>00259 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00260"></a>00260 <span class="preprocessor"></span>
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="comment">/***</span>
+<a name="l00263"></a>00263 <span class="comment">*!</span>
+<a name="l00264"></a>00264 <span class="comment"> \brief Combines a box with another geometry (box, point)</span>
+<a name="l00265"></a>00265 <span class="comment"> \ingroup combine</span>
+<a name="l00266"></a>00266 <span class="comment"> \tparam Box type of the box</span>
+<a name="l00267"></a>00267 <span class="comment"> \tparam Geometry of second geometry, to be combined with the box</span>
+<a name="l00268"></a>00268 <span class="comment"> \param box box to combine another geometry with, might be changed</span>
+<a name="l00269"></a>00269 <span class="comment"> \param geometry other geometry</span>
+<a name="l00270"></a>00270 <span class="comment"> \param strategy_less</span>
+<a name="l00271"></a>00271 <span class="comment"> \param strategy_greater</span>
+<a name="l00272"></a>00272 <span class="comment"> \note Strategy is currently ignored</span>
+<a name="l00273"></a>00273 <span class="comment"> \todo Handle strategy</span>
+<a name="l00274"></a>00274 <span class="comment"> *</span>
+<a name="l00275"></a>00275 <span class="comment">template</span>
+<a name="l00276"></a>00276 <span class="comment">&lt;</span>
+<a name="l00277"></a>00277 <span class="comment"> typename Box, typename Geometry,</span>
+<a name="l00278"></a>00278 <span class="comment"> typename StrategyLess, typename StrategyGreater</span>
+<a name="l00279"></a>00279 <span class="comment">&gt;</span>
+<a name="l00280"></a>00280 <span class="comment">inline void combine(Box&amp; box, Geometry const&amp; geometry,</span>
+<a name="l00281"></a>00281 <span class="comment"> StrategyLess const&amp; strategy_less,</span>
+<a name="l00282"></a>00282 <span class="comment"> StrategyGreater const&amp; strategy_greater)</span>
+<a name="l00283"></a>00283 <span class="comment">{</span>
+<a name="l00284"></a>00284 <span class="comment"> concept::check_concepts_and_equal_dimensions&lt;Box, const Geometry&gt;();</span>
+<a name="l00285"></a>00285 <span class="comment"></span>
+<a name="l00286"></a>00286 <span class="comment"> dispatch::combine</span>
+<a name="l00287"></a>00287 <span class="comment"> &lt;</span>
+<a name="l00288"></a>00288 <span class="comment"> typename tag&lt;Geometry&gt;::type,</span>
+<a name="l00289"></a>00289 <span class="comment"> Box,</span>
+<a name="l00290"></a>00290 <span class="comment"> Geometry,</span>
+<a name="l00291"></a>00291 <span class="comment"> StrategyLess, StrategyGreater</span>
+<a name="l00292"></a>00292 <span class="comment"> &gt;::apply(box, geometry);</span>
+<a name="l00293"></a>00293 <span class="comment">}</span>
+<a name="l00294"></a>00294 <span class="comment">***/</span>
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296
+<a name="l00305"></a>00305 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00306"></a><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">00306</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="l00307"></a>00307 {
+<a name="l00308"></a>00308 concept::check_concepts_and_equal_dimensions&lt;Box, const Geometry&gt;();
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">dispatch::combine</a>
+<a name="l00311"></a>00311 &lt;
+<a name="l00312"></a>00312 <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="l00313"></a>00313 Box, Geometry,
+<a name="l00314"></a>00314 <a class="code" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html" title="Default strategy, indicates the default strategy for comparisons.">strategy::compare::default_strategy</a>,
+<a name="l00315"></a>00315 strategy::compare::default_strategy
+<a name="l00316"></a>00316 &gt;::apply(box, geometry);
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319 } <span class="comment">// namespace ggl</span>
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321 <span class="preprocessor">#endif // GGL_ALGORITHMS_COMBINE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/compare_circular.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_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &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 spherical coordinates. 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_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift&lt; Units &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_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&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_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&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_1compare.html">ggl::strategy::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_1compare_1_1detail.html">ggl::strategy::compare::detail</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compare__circular_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/compare_circular.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_COMPARE_SPHERICAL_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_COMPARE_SPHERICAL_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2compare_8hpp.html">ggl/strategies/compare.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span>compare {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a><a class="code" href="namespaceggl_1_1strategy_1_1compare_1_1detail.html">00025</a> <span class="keyword">namespace </span>detail {
+<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> Units&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">shift</a>
+<a name="l00030"></a>00030 {
+<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_1compare_1_1detail_1_1shift_3_01degree_01_4.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">shift</a>&lt;<a class="code" href="classggl_1_1degree.html" title="Unit of plane angle: Degrees.">degree</a>&gt;
+<a name="l00036"></a>00036 {
+<a name="l00037"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">00037</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">full</a>() { <span class="keywordflow">return</span> 360.0; }
+<a name="l00038"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">00038</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">half</a>() { <span class="keywordflow">return</span> 180.0; }
+<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><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">00042</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">shift</a>&lt;<a class="code" href="classggl_1_1radian.html" title="Unit of plane angle: Radians.">radian</a>&gt;
+<a name="l00043"></a>00043 {
+<a name="l00044"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">00044</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">full</a>() { <span class="keywordflow">return</span> <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">ggl::math::two_pi</a>; }
+<a name="l00045"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">00045</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">half</a>() { <span class="keywordflow">return</span> <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>; }
+<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
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, <span class="keyword">typename</span> Units, <span class="keyword">typename</span> Compare&gt;
+<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html" title="Compare (in one direction) strategy for spherical coordinates.">circular_comparator</a>
+<a name="l00058"></a>00058 {
+<a name="l00059"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">00059</a> <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(CoordinateType <span class="keyword">const</span>&amp; c,
+<a name="l00060"></a>00060 <span class="keywordtype">double</span> min_border, <span class="keywordtype">double</span> max_border)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 CoordinateType value = c;
+<a name="l00063"></a>00063 <span class="keywordflow">while</span> (value &lt; min_border)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 value += <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">detail::shift&lt;Units&gt;::full</a>();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 <span class="keywordflow">while</span> (value &gt; max_border)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 value -= <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">detail::shift&lt;Units&gt;::full</a>();
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> value;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">00074</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">operator()</a>(CoordinateType <span class="keyword">const</span>&amp; c1, CoordinateType <span class="keyword">const</span>&amp; c2)<span class="keyword"> const</span>
+<a name="l00075"></a>00075 <span class="keyword"> </span>{
+<a name="l00076"></a>00076 Compare compare;
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="comment">// Check situation that one of them is e.g. std::numeric_limits.</span>
+<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> full = <a class="code" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">detail::shift&lt;Units&gt;::full</a>();
+<a name="l00080"></a>00080 <span class="keywordtype">double</span> mx = 10.0 * full;
+<a name="l00081"></a>00081 <span class="keywordflow">if</span> (c1 &lt; -mx || c1 &gt; mx || c2 &lt; -mx || c2 &gt; mx)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="comment">// do normal comparison, using circular is not useful</span>
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> compare(c1, c2);
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> half = full / 2.0;
+<a name="l00088"></a>00088 CoordinateType v1 = <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(c1, -half, half);
+<a name="l00089"></a>00089 CoordinateType v2 = <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(c2, -half, half);
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="comment">// Two coordinates on a circle are</span>
+<a name="l00092"></a>00092 <span class="comment">// at max &lt;= half a circle away from each other.</span>
+<a name="l00093"></a>00093 <span class="comment">// So if it is more, shift origin.</span>
+<a name="l00094"></a>00094 CoordinateType diff = std::abs(v1 - v2);
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (diff &gt; half)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 v1 = <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(v1, 0, full);
+<a name="l00098"></a>00098 v2 = <a class="code" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(v2, 0, full);
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keywordflow">return</span> compare(v1, v2);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 }} <span class="comment">// namespace strategy::compare</span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00111"></a>00111 <span class="comment">// Specialize for the longitude (dim 0)</span>
+<a name="l00112"></a>00112 <span class="keyword">template</span>
+<a name="l00113"></a>00113 &lt;
+<a name="l00114"></a>00114 <span class="keyword">typename</span> Point,
+<a name="l00115"></a>00115 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordinateSystem,
+<a name="l00116"></a>00116 <span class="keyword">typename</span> Units
+<a name="l00117"></a>00117 &gt;
+<a name="l00118"></a>00118 <span class="keyword">struct </span>strategy_compare&lt;spherical_tag, 1, Point, CoordinateSystem&lt;Units&gt;, 0&gt;
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00121"></a>00121 <span class="keyword">typedef</span> strategy::compare::circular_comparator
+<a name="l00122"></a>00122 &lt;
+<a name="l00123"></a>00123 coordinate_type,
+<a name="l00124"></a>00124 Units,
+<a name="l00125"></a>00125 std::less&lt;coordinate_type&gt;
+<a name="l00126"></a>00126 &gt; <a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a>;
+<a name="l00127"></a>00127 };
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">template</span>
+<a name="l00130"></a>00130 &lt;
+<a name="l00131"></a>00131 <span class="keyword">typename</span> Point,
+<a name="l00132"></a>00132 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordinateSystem,
+<a name="l00133"></a>00133 <span class="keyword">typename</span> Units
+<a name="l00134"></a>00134 &gt;
+<a name="l00135"></a>00135 <span class="keyword">struct </span>strategy_compare&lt;spherical_tag, -1, Point, CoordinateSystem&lt;Units&gt;, 0&gt;
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00138"></a>00138 <span class="keyword">typedef</span> strategy::compare::circular_comparator
+<a name="l00139"></a>00139 &lt;
+<a name="l00140"></a>00140 coordinate_type,
+<a name="l00141"></a>00141 Units,
+<a name="l00142"></a>00142 std::greater&lt;coordinate_type&gt;
+<a name="l00143"></a>00143 &gt; <a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a>;
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span>
+<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
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_COMPARE_SPHERICAL_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compiling.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/compiling.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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>
+<p>
+For Visual Studio, the examples contains some project files (for 2005). However, because the library is header only, it will be no problem to integrate it in your own project files.<p>
+The test and example folders contain also Jam-files for bjam / boost-build<p>
+For gcc, the flag -Wno-long-long can be used (surpressing warnings originating from Boost)<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 ggl.hpp:<ul>
+<li>#include &lt;ggl/ggl.hpp&gt; It is recommended to include this file. Alternatively, it is possible to include GGL headerfiles separately. However, this is inconvenient as files might be renamed or moved occasionaly.</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. It is not included in the "ggl.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>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>
+<h2><a class="anchor" name="intellisense">
+Intellisense issues</a></h2>
+Microsoft Visual Studio (Express) 2005 and 2008 can hang typing in a bracket or angle bracket. This is not directly related to GGL, but caused by heavy templated libraries such as Boost and GGL. If this is inconvenient, intellisense can easily be turned off:<p>
+<em>(...) disabling Intellisense in VC++. There is a file called feacp.dll in &lt;VS8INSTALL&gt;/VC/vcpackages folder. Renaming this file will disable Intellisense feature.</em><p>
+Source: http://blogs.msdn.com/yash/archive/2007/09/19/intellisense-issues-in-visual-c-2005.aspx </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry1 , typename Geometry2 &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#gbfc62905cd1defe17d9547c4d60e1347">ggl::convert</a> (Geometry1 const &amp;geometry1, Geometry2 &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>ggl
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a> {
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">template</span>
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> Point,
+<a name="l00047"></a>00047 <span class="keyword">typename</span> Box,
+<a name="l00048"></a>00048 std::size_t Index,
+<a name="l00049"></a>00049 std::size_t Dimension,
+<a name="l00050"></a>00050 std::size_t DimensionCount
+<a name="l00051"></a>00051 &gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>point_to_box
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; point, Box&amp; box)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 set&lt;Index, Dimension&gt;(box,
+<a name="l00059"></a>00059 boost::numeric_cast&lt;coordinate_type&gt;(get&lt;Dimension&gt;(point)));
+<a name="l00060"></a>00060 point_to_box
+<a name="l00061"></a>00061 &lt;
+<a name="l00062"></a>00062 Point, Box,
+<a name="l00063"></a>00063 Index, Dimension + 1, DimensionCount
+<a name="l00064"></a>00064 &gt;::apply(point, box);
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">template</span>
+<a name="l00070"></a>00070 &lt;
+<a name="l00071"></a>00071 <span class="keyword">typename</span> Point,
+<a name="l00072"></a>00072 <span class="keyword">typename</span> Box,
+<a name="l00073"></a>00073 std::size_t Index,
+<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>point_to_box&lt;Point, Box, Index, DimensionCount, DimensionCount&gt;
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; point, Box&amp; box)
+<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="comment">// namespace detail::convert</span>
+<a name="l00084"></a>00084 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span>
+<a name="l00092"></a>00092 &lt;
+<a name="l00093"></a>00093 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
+<a name="l00094"></a>00094 std::size_t Dimensions,
+<a name="l00095"></a>00095 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2
+<a name="l00096"></a>00096 &gt;
+<a name="l00097"></a>00097 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span>
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 <span class="keyword">typename</span> Tag,
+<a name="l00105"></a>00105 std::size_t Dimensions,
+<a name="l00106"></a>00106 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2
+<a name="l00107"></a>00107 &gt;
+<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;Tag, Tag, Dimensions, Geometry1, Geometry2&gt;
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Same geometry type -&gt; copy coordinates from G1 to G2</span>
+<a name="l00111"></a>00111 <span class="comment">// Actually: we try now to just copy it</span>
+<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry1 <span class="keyword">const</span>&amp; source, Geometry2&amp; destination)
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 destination = source;
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00120"></a>00120 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;Tag, Tag, Dimensions, Geometry, Geometry&gt;
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="comment">// Same geometry -&gt; can be copied (if copyable)</span>
+<a name="l00123"></a>00123 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; source, Geometry&amp; destination)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 destination = source;
+<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="comment">// Partial specializations</span>
+<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Ring&gt;
+<a name="l00132"></a>00132 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;box_tag, ring_tag, 2, Box, Ring&gt;
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>&amp; box, Ring&amp; ring)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="comment">// go from box to ring -&gt; add coordinates in correct order</span>
+<a name="l00137"></a>00137 ring.clear();
+<a name="l00138"></a>00138 <span class="keyword">typename</span> point_type&lt;Box&gt;::type point;
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="l00141"></a>00141 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="l00144"></a>00144 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="l00147"></a>00147 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="l00150"></a>00150 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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="l00153"></a>00153 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">ggl::append</a>(ring, 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> Box, <span class="keyword">typename</span> Polygon&gt;
+<a name="l00159"></a>00159 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;box_tag, polygon_tag, 2, Box, Polygon&gt;
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>&amp; box, Polygon&amp; polygon)
+<a name="l00162"></a>00162 {
+<a name="l00163"></a>00163 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>
+<a name="l00166"></a>00166 &lt;
+<a name="l00167"></a>00167 box_tag, ring_tag,
+<a name="l00168"></a>00168 2, Box, ring_type
+<a name="l00169"></a>00169 &gt;::apply(box, <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon));
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> Box&gt;
+<a name="l00175"></a>00175 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;point_tag, box_tag, Dimensions, Point, Box&gt;
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>&amp; point, Box&amp; box)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 detail::convert::point_to_box
+<a name="l00180"></a>00180 &lt;
+<a name="l00181"></a>00181 Point, Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, Dimensions
+<a name="l00182"></a>00182 &gt;::apply(point, box);
+<a name="l00183"></a>00183 detail::convert::point_to_box
+<a name="l00184"></a>00184 &lt;
+<a name="l00185"></a>00185 Point, Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, Dimensions
+<a name="l00186"></a>00186 &gt;::apply(point, box);
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Polygon&gt;
+<a name="l00192"></a>00192 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;ring_tag, polygon_tag, 2, Ring, Polygon&gt;
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>&amp; ring, Polygon&amp; polygon)
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00197"></a>00197 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>
+<a name="l00198"></a>00198 &lt;
+<a name="l00199"></a>00199 ring_tag, ring_tag, 2,
+<a name="l00200"></a>00200 Ring, ring_type
+<a name="l00201"></a>00201 &gt;::apply(ring, <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon));
+<a name="l00202"></a>00202 }
+<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> Polygon, <span class="keyword">typename</span> Ring&gt;
+<a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>&lt;polygon_tag, ring_tag, 2, Polygon, Ring&gt;
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; polygon, Ring&amp; ring)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>
+<a name="l00214"></a>00214 &lt;
+<a name="l00215"></a>00215 ring_tag, ring_tag, 2,
+<a name="l00216"></a>00216 ring_type, Ring
+<a name="l00217"></a>00217 &gt;::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), ring);
+<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="comment">// namespace dispatch</span>
+<a name="l00223"></a>00223 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00224"></a>00224 <span class="preprocessor"></span>
+<a name="l00235"></a>00235 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00236"></a><a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347">00236</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">convert</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2&amp; geometry2)
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 concept::check_concepts_and_equal_dimensions&lt;const Geometry1, Geometry2&gt;();
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">dispatch::convert</a>
+<a name="l00241"></a>00241 &lt;
+<a name="l00242"></a>00242 <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="l00243"></a>00243 <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="l00244"></a>00244 <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;Geometry1&gt;::type::value</a>,
+<a name="l00245"></a>00245 Geometry1,
+<a name="l00246"></a>00246 Geometry2
+<a name="l00247"></a>00247 &gt;::apply(geometry1, geometry2);
+<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_CONVERT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/convex_hull_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_convex_hull_strategy.html">ggl::concept::ConvexHullStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/convex__hull__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/convex_hull_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_CONVEX_HULL_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_CONVEX_HULL_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&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
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00024"></a>00024 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00025"></a><a class="code" href="classggl_1_1concept_1_1_convex_hull_strategy.html">00025</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_convex_hull_strategy.html" title="Checks strategy for convex_hull.">ConvexHullStrategy</a>
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 <span class="comment">// 1) must define state_type</span>
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// 2) must define point_type</span>
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="comment">// 3) must define geometry_type</span>
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::geometry_type geometry_type;
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">struct </span>check_methods
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Strategy <span class="keyword">const</span>* str;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 state_type* st;
+<a name="l00045"></a>00045 geometry_type* sp;
+<a name="l00046"></a>00046 std::vector&lt;point_type&gt; *v;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// 4) must implement a method apply, iterating over a range</span>
+<a name="l00049"></a>00049 str-&gt;apply(*sp, *st);
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="comment">// 5) must implement a method result, with an output iterator</span>
+<a name="l00052"></a>00052 str-&gt;result(*st, std::back_inserter(*v), <span class="keyword">true</span>);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">public</span> :
+<a name="l00057"></a>00057 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_convex_hull_strategy.html" title="Checks strategy for convex_hull.">ConvexHullStrategy</a>)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 check_methods::apply();
+<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
+<a name="l00066"></a>00066 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_CONVEX_HULL_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#f8cee6dd577bebfd1dbbe4cc503304d4">ggl::copy_coordinates</a> (Src const &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/concept_check.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/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&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>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#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> copy(Src <span class="keyword">const</span>&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#f8cee6dd577bebfd1dbbe4cc503304d4" 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(Src <span class="keyword">const</span>&amp; , Dst&amp; )
+<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::copy</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a>00051
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst&gt;
+<a name="l00062"></a><a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">00062</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(Src <span class="keyword">const</span>&amp; source, Dst&amp; dest)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;Src&gt;</a>) );
+<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Dst&gt;</a>) );
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="comment">//assert_dimension_equal&lt;Dst, Src&gt;();</span>
+<a name="l00069"></a>00069 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">detail::copy::copy_coordinates</a>
+<a name="l00070"></a>00070 &lt;
+<a name="l00071"></a>00071 Src,
+<a name="l00072"></a>00072 Dst,
+<a name="l00073"></a>00073 0,
+<a name="l00074"></a>00074 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;Src&gt;::type::value</a>
+<a name="l00075"></a>00075 &gt;::copy(source, dest);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 } <span class="comment">// namespace ggl</span>
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_UTIL_COPY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <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="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.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
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a> {
+<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> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>copy_segments_ring
+<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(Ring <span class="keyword">const</span>&amp; ring,
+<a name="l00038"></a>00038 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00039"></a>00039 RangeOut&amp; current_output)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Ring&gt;::type iterator;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <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="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// The problem: sometimes we want to from "3" to "2" -&gt; end = "3" -&gt; end == begin</span>
+<a name="l00046"></a>00046 <span class="comment">// This is not convenient with iterators.</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// So we use the ever-circling iterator and determine when to step out</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordtype">int</span> from_index = seg_id.segment_index + 1;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// Sanity check</span>
+<a name="l00053"></a>00053 BOOST_ASSERT(from_index &lt; boost::size(ring));
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 ec_iterator it(boost::begin(ring), boost::end(ring),
+<a name="l00056"></a>00056 boost::begin(ring) + from_index);
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// [2..4] -&gt; 4 - 2 + 1 = 3 -&gt; {2,3,4} -&gt; OK</span>
+<a name="l00059"></a>00059 <span class="comment">// [4..2],size=6 -&gt; 6 - 4 + 2 + 1 = 5 -&gt; {4,5,0,1,2} -&gt; OK</span>
+<a name="l00060"></a>00060 <span class="comment">// [1..1], travel the whole ring round</span>
+<a name="l00061"></a>00061 <span class="keywordtype">int</span> count = from_index &lt;= to_index
+<a name="l00062"></a>00062 ? to_index - from_index + 1
+<a name="l00063"></a>00063 : boost::size(ring) - from_index + to_index + 1;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; count; ++i, ++it)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="comment">// TODO: use 'copy coordinates' to handle different point types</span>
+<a name="l00068"></a>00068 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">" add: ("</span>
+<a name="l00070"></a>00070 &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="l00071"></a>00071 &lt;&lt; std::endl;
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span> current_output.push_back(*it);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>copy_segments_polygon
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; polygon,
+<a name="l00083"></a>00083 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00084"></a>00084 RangeOut&amp; current_output)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="comment">// Call ring-version with the right ring</span>
+<a name="l00087"></a>00087 copy_segments_ring
+<a name="l00088"></a>00088 &lt;
+<a name="l00089"></a>00089 <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="l00090"></a>00090 SegmentIdentifier,
+<a name="l00091"></a>00091 RangeOut
+<a name="l00092"></a>00092 &gt;::apply
+<a name="l00093"></a>00093 (
+<a name="l00094"></a>00094 seg_id.ring_index &lt; 0
+<a name="l00095"></a>00095 ? <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00096"></a>00096 : ggl::<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[seg_id.ring_index],
+<a name="l00097"></a>00097 seg_id, to_index,
+<a name="l00098"></a>00098 current_output
+<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 <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="l00105"></a>00105 <span class="keyword">struct </span>copy_segments_box
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>&amp; box,
+<a name="l00108"></a>00108 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00109"></a>00109 RangeOut&amp; current_output)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="comment">// Convert again...</span>
+<a name="l00112"></a>00112 <span class="comment">// TODO: avoid that...</span>
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 point_type ll, lr, ul, ur;
+<a name="l00117"></a>00117 <a class="code" href="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 std::vector&lt;point_type&gt; points;
+<a name="l00120"></a>00120 points.push_back(ll);
+<a name="l00121"></a>00121 points.push_back(ul);
+<a name="l00122"></a>00122 points.push_back(ur);
+<a name="l00123"></a>00123 points.push_back(lr);
+<a name="l00124"></a>00124 points.push_back(ll);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 copy_segments_ring
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 std::vector&lt;point_type&gt;,
+<a name="l00129"></a>00129 SegmentIdentifier,
+<a name="l00130"></a>00130 RangeOut
+<a name="l00131"></a>00131 &gt;
+<a name="l00132"></a>00132 ::apply(points, seg_id, to_index, current_output);
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 };
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 }} <span class="comment">// namespace detail::copy_segments</span>
+<a name="l00140"></a>00140 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<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> Tag,
+<a name="l00150"></a>00150 <span class="keyword">typename</span> GeometryIn,
+<a name="l00151"></a>00151 <span class="keyword">typename</span> SegmentIdentifier,
+<a name="l00152"></a>00152 <span class="keyword">typename</span> RangeOut
+<a name="l00153"></a>00153 &gt;
+<a name="l00154"></a>00154 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <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="l00160"></a>00160 <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="l00161"></a>00161 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_ring
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 Ring, SegmentIdentifier, RangeOut
+<a name="l00164"></a>00164 &gt;
+<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> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00168"></a>00168 <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="l00169"></a>00169 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_polygon
+<a name="l00170"></a>00170 &lt;
+<a name="l00171"></a>00171 Polygon, SegmentIdentifier, RangeOut
+<a name="l00172"></a>00172 &gt;
+<a name="l00173"></a>00173 {};
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00177"></a>00177 <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="l00178"></a>00178 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_box
+<a name="l00179"></a>00179 &lt;
+<a name="l00180"></a>00180 Box, SegmentIdentifier, RangeOut
+<a name="l00181"></a>00181 &gt;
+<a name="l00182"></a>00182 {};
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 } <span class="comment">// namespace dispatch</span>
+<a name="l00187"></a>00187 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00188"></a>00188 <span class="preprocessor"></span>
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192
+<a name="l00197"></a>00197 <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="l00198"></a><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">00198</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="l00199"></a>00199 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00200"></a>00200 RangeOut&amp; range_out)
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 concept::check&lt;const Geometry&gt;();
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">dispatch::copy_segments</a>
+<a name="l00205"></a>00205 &lt;
+<a name="l00206"></a>00206 <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="l00207"></a>00207 Geometry,
+<a name="l00208"></a>00208 SegmentIdentifier,
+<a name="l00209"></a>00209 RangeOut
+<a name="l00210"></a>00210 &gt;::apply(geometry, seg_id, to_index, range_out);
+<a name="l00211"></a>00211 }
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 } <span class="comment">// namespace ggl</span>
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;segment_tag&gt; : boost::mpl::int_&lt;92&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;ring_tag&gt; : boost::mpl::int_&lt;93&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;box_tag&gt; : boost::mpl::int_&lt;94&gt; {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00069"></a><a class="code" href="structggl_1_1geometry__id.html">00069</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a> : core_dispatch::<a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a>&lt;typename tag&lt;Geometry&gt;::type&gt;
+<a name="l00070"></a>00070 {};
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 } <span class="comment">// namespace ggl</span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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" title="multi_point, a collection of points">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 rings</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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; Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> Geometry&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 } <span class="comment">// namespace traits</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00054"></a>00054 <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="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> Polygon&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>ring_type&lt;polygon_tag, Polygon&gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::ring_type
+<a name="l00062"></a>00062 &lt;
+<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::remove_const&lt;Polygon&gt;::type
+<a name="l00064"></a>00064 &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 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<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_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>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::ring_type
+<a name="l00085"></a>00085 &lt;
+<a name="l00086"></a>00086 <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="l00087"></a>00087 Geometry
+<a name="l00088"></a><a class="code" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">00088</a> &gt;<a class="code" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">::type</a> <a class="code" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">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 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_1segment__tag.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__tag.html" title="Convenience segment (2-points) identifying tag.">segment_tag</a> {};
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 } <span class="comment">// namespace ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // GGL_CORE_TAGS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00059"></a>00059 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00075"></a><a class="code" href="structggl_1_1topological__dimension.html">00075</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension</a>
+<a name="l00076"></a>00076 : core_dispatch::top_dim&lt;typename tag&lt;Geometry&gt;::type&gt; {};
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace ggl</span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // GGL_CORE_TOPOLOGICAL_DIMENSION_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: 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 plane angle: 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 plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 plane angle: 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 plane angle: 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="l00054"></a><a class="code" href="structggl_1_1cs_1_1cartesian.html">00054</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">cartesian</a> {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00069"></a><a class="code" href="structggl_1_1cs_1_1geographic.html">00069</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="l00070"></a>00070 {
+<a name="l00071"></a><a class="code" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">00071</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">units</a>;
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00094"></a>00094 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00095"></a><a class="code" href="structggl_1_1cs_1_1spherical.html">00095</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="l00096"></a>00096 {
+<a name="l00097"></a><a class="code" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">00097</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">units</a>;
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00107"></a>00107 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00108"></a><a class="code" href="structggl_1_1cs_1_1polar.html">00108</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1polar.html" title="Polar coordinate system.">polar</a>
+<a name="l00109"></a>00109 {
+<a name="l00110"></a><a class="code" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">00110</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">units</a>;
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace cs</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keyword">namespace </span>traits
+<a name="l00117"></a>00117 {
+<a name="l00123"></a>00123 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00124"></a><a class="code" href="structggl_1_1traits_1_1cs__tag.html">00124</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="l00125"></a>00125 {
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span>
+<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_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="l00132"></a>00132 {
+<a name="l00133"></a>00133 <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="l00134"></a>00134 };
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00137"></a>00137 <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="l00138"></a>00138 {
+<a name="l00139"></a>00139 <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="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span>&lt;&gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span>cs_tag&lt;cs::cartesian&gt;
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> cartesian_tag type;
+<a name="l00146"></a>00146 };
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span>} <span class="comment">// namespace traits</span>
+<a name="l00151"></a>00151
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00157"></a><a class="code" href="structggl_1_1cs__tag.html">00157</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="l00158"></a>00158 {
+<a name="l00159"></a>00159 <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="l00160"></a>00160 &lt;
+<a name="l00161"></a>00161 <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="l00162"></a><a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">00162</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="l00163"></a>00163 };
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165
+<a name="l00170"></a>00170 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00171"></a><a class="code" href="structggl_1_1is__radian.html">00171</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="l00172"></a>00172
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="preprocessor">#ifndef DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00175"></a>00175 <span class="preprocessor"></span>
+<a name="l00176"></a>00176 <span class="comment">// Specialization for any degree coordinate systems</span>
+<a name="l00177"></a>00177 <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="l00178"></a>00178 <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 plane angle: Degrees.">degree</a>&gt; &gt; : boost::false_type
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 };
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span>
+<a name="l00184"></a>00184 } <span class="comment">// namespace ggl</span>
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/design.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/design.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,601 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">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().<p>
+Alternatively we could implement, 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.<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</li></ul>
+<p>
+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><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 <b>strategy</b>. 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.<p>
+Per coordinate system, one strategy is defined as the default strategy. To be able to use any strategy, we modify our design again and add an overload for the distance algorithm, taking a strategy. That enables us to call distance with another strategy.<p>
+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). It is not required that it is a static method. A strategy might define a constructor, where a configuration value is passed and stored as a member variable. In those cases a static method would be inconvenient. It can be implemented as a normal method (with the const qualifier).<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:<ul>
+<li>a specialization for traits::tag</li><li>a specialization for traits::coordinate_system</li><li>a specialization for traits::coordinate_type</li><li>a specialization for traits::dimension</li><li>a specialization for traits::access</li></ul>
+<p>
+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 double. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/detail_2disjoint_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/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_DETAIL_DISJOINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_DISJOINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="comment">// Note: contrary to most files, the ggl::detail::disjoint namespace</span>
+<a name="l00013"></a>00013 <span class="comment">// is partly implemented in a separate file, to avoid circular references</span>
+<a name="l00014"></a>00014 <span class="comment">// disjoint -&gt; get_intersection_points -&gt; disjoint</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="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
+<a name="l00022"></a>00022
+<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="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<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__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a> {
+<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> Point1, <span class="keyword">typename</span> Point2,
+<a name="l00038"></a>00038 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00039"></a>00039 &gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>point_point
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point1 <span class="keyword">const</span>&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (! <a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get&lt;Dimension&gt;(p1), get&lt;Dimension&gt;(p2)))
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> point_point
+<a name="l00049"></a>00049 &lt;
+<a name="l00050"></a>00050 Point1, Point2,
+<a name="l00051"></a>00051 Dimension + 1, DimensionCount
+<a name="l00052"></a>00052 &gt;::apply(p1, p2);
+<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> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>point_point&lt;Point1, Point2, DimensionCount, DimensionCount&gt;
+<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(Point1 <span class="keyword">const</span>&amp; , Point2 <span class="keyword">const</span>&amp; )
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span>
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 <span class="keyword">typename</span> Point, <span class="keyword">typename</span> Box,
+<a name="l00070"></a>00070 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00071"></a>00071 &gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>point_box
+<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(Point <span class="keyword">const</span>&amp; point, Box <span class="keyword">const</span>&amp; box)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (get&lt;Dimension&gt;(point) &lt; get&lt;min_corner, Dimension&gt;(box)
+<a name="l00077"></a>00077 || get&lt;Dimension&gt;(point) &gt; get&lt;max_corner, Dimension&gt;(box))
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> point_box
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 Point, Box,
+<a name="l00084"></a>00084 Dimension + 1, DimensionCount
+<a name="l00085"></a>00085 &gt;::apply(point, box);
+<a name="l00086"></a>00086 }
+<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="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span>point_box&lt;Point, Box, DimensionCount, DimensionCount&gt;
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp; , Box <span class="keyword">const</span>&amp; )
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span>
+<a name="l00101"></a>00101 &lt;
+<a name="l00102"></a>00102 <span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2,
+<a name="l00103"></a>00103 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00104"></a>00104 &gt;
+<a name="l00105"></a>00105 <span class="keyword">struct </span>box_box
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; box1, Box2 <span class="keyword">const</span>&amp; box2)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (get&lt;max_corner, Dimension&gt;(box1) &lt; get&lt;min_corner, Dimension&gt;(box2))
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (get&lt;min_corner, Dimension&gt;(box1) &gt; get&lt;max_corner, Dimension&gt;(box2))
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> box_box
+<a name="l00118"></a>00118 &lt;
+<a name="l00119"></a>00119 Box1, Box2,
+<a name="l00120"></a>00120 Dimension + 1, DimensionCount
+<a name="l00121"></a>00121 &gt;::apply(box1, box2);
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 };
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00127"></a>00127 <span class="keyword">struct </span>box_box&lt;Box1, Box2, DimensionCount, DimensionCount&gt;
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; , Box2 <span class="keyword">const</span>&amp; )
+<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
+<a name="l00136"></a>00136
+<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2&gt;
+<a name="l00143"></a>00143 <span class="keyword">inline</span> <span class="keywordtype">bool</span> disjoint_box_box(Box1 <span class="keyword">const</span>&amp; box1, Box2 <span class="keyword">const</span>&amp; box2)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> box_box
+<a name="l00146"></a>00146 &lt;
+<a name="l00147"></a>00147 Box1, Box2,
+<a name="l00148"></a>00148 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box1&gt;::type::value</a>
+<a name="l00149"></a>00149 &gt;::apply(box1, box2);
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00158"></a>00158 <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="l00159"></a>00159 <span class="keyword">inline</span> <span class="keywordtype">bool</span> disjoint_point_point(Point1 <span class="keyword">const</span>&amp; point1, Point2 <span class="keyword">const</span>&amp; point2)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> point_point
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 Point1, Point2,
+<a name="l00164"></a>00164 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Point1&gt;::type::value</a>
+<a name="l00165"></a>00165 &gt;::apply(point1, point2);
+<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::disjoint</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
+<a name="l00175"></a>00175 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a> {
+<a name="l00177"></a>00177
+<a name="l00182"></a>00182 <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="l00183"></a>00183 <span class="keyword">inline</span> <span class="keywordtype">bool</span> equals_point_point(Point1 <span class="keyword">const</span>&amp; point1, Point2 <span class="keyword">const</span>&amp; point2)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 <span class="keywordflow">return</span> ! detail::disjoint::disjoint_point_point(point1, point2);
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 }} <span class="comment">// namespace detail::equals</span>
+<a name="l00190"></a>00190 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00191"></a>00191 <span class="preprocessor"></span>
+<a name="l00192"></a>00192 } <span class="comment">// namespace ggl</span>
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_DISJOINT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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><a class="code" href="namespaceggl_1_1policies_1_1relate.html">00022</a> <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="Meta-function 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__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">math::equals</a>(ra, 0.0);
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> ra1 = <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">math::equals</a>(ra, 1.0);
+<a name="l00107"></a>00107 <span class="keywordtype">bool</span> rb0 = <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">math::equals</a>(rb, 0.0);
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> rb1 = <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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__disjoint.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="detail_2disjoint_8hpp.html">ggl/algorithms/detail/disjoint.hpp</a>&gt;</span>
+<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;<a class="code" href="point__on__border_8hpp.html">ggl/algorithms/detail/point_on_border.hpp</a>&gt;</span>
+<a name="l00044"></a>00044 <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="l00045"></a>00045 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">namespace </span>ggl
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a> {
+<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> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span>general
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <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="l00065"></a>00065 {
+<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_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Geometry1&gt;::type</a> point_type;
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
+<a name="l00069"></a>00069 std::deque&lt;ip_type&gt; ips; <span class="comment">// intersection points</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// Get any intersection</span>
+<a name="l00072"></a>00072 <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(geometry1, geometry2, ips);
+<a name="l00073"></a>00073 <span class="keywordflow">if</span> (ips.size() &gt; 0)
+<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 <span class="comment">// If there is no intersection of segments, they might ly</span>
+<a name="l00078"></a>00078 <span class="comment">// inside each other</span>
+<a name="l00079"></a>00079 point_type p1;
+<a name="l00080"></a>00080 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(geometry1, p1);
+<a name="l00081"></a>00081 <span class="keywordflow">if</span> (<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(p1, geometry2))
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <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> p2;
+<a name="l00087"></a>00087 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(geometry2, p2);
+<a name="l00088"></a>00088 <span class="keywordflow">if</span> (<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(p2, geometry1))
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095 };
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 }} <span class="comment">// namespace detail::disjoint</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
+<a name="l00102"></a>00102 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00110"></a>00110 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00111"></a>00111 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00112"></a>00112 std::size_t DimensionCount
+<a name="l00113"></a>00113 &gt;
+<a name="l00114"></a>00114 <span class="keyword">struct </span><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00115"></a>00115 : detail::<a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::general&lt;Geometry1, Geometry2&gt;
+<a name="l00116"></a>00116 {};
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">template</span> &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, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00120"></a>00120 <span class="keyword">struct </span><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;point_tag, point_tag, Point1, Point2, false, false, DimensionCount&gt;
+<a name="l00121"></a>00121 : detail::<a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_point&lt;Point1, Point2, 0, DimensionCount&gt;
+<a name="l00122"></a>00122 {};
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;box_tag, box_tag, Box1, Box2, false, false, DimensionCount&gt;
+<a name="l00127"></a>00127 : detail::<a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::box_box&lt;Box1, Box2, 0, DimensionCount&gt;
+<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> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00132"></a>00132 <span class="keyword">struct </span><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;point_tag, box_tag, Point, Box, false, false, DimensionCount&gt;
+<a name="l00133"></a>00133 : detail::<a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_box&lt;Point, Box, 0, DimensionCount&gt;
+<a name="l00134"></a>00134 {};
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keyword">template</span>
+<a name="l00138"></a>00138 &lt;
+<a name="l00139"></a>00139 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00141"></a>00141 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00142"></a>00142 std::size_t DimensionCount
+<a name="l00143"></a>00143 &gt;
+<a name="l00144"></a>00144 <span class="keyword">struct </span>disjoint_reversed
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 <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="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keywordflow">return</span> <a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00149"></a>00149 &lt;
+<a name="l00150"></a>00150 GeometryTag2, GeometryTag1,
+<a name="l00151"></a>00151 G2, G1,
+<a name="l00152"></a>00152 IsMulti2, IsMulti1,
+<a name="l00153"></a>00153 DimensionCount
+<a name="l00154"></a>00154 &gt;::apply(g2, g1);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace dispatch</span>
+<a name="l00160"></a>00160 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00161"></a>00161 <span class="preprocessor"></span>
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00174"></a><a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">00174</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>(<span class="keyword">const</span> Geometry1&amp; geometry1,
+<a name="l00175"></a>00175 <span class="keyword">const</span> Geometry2&amp; geometry2)
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470" title="Checks, in compile-time, the concept of two geometries, and if they have equal dimensions...">concept::check_concepts_and_equal_dimensions</a>
+<a name="l00178"></a>00178 &lt;
+<a name="l00179"></a>00179 <span class="keyword">const</span> Geometry1,
+<a name="l00180"></a>00180 <span class="keyword">const</span> Geometry2
+<a name="l00181"></a>00181 &gt;();
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00187"></a>00187 &lt;
+<a name="l00188"></a>00188 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00189"></a>00189 dispatch::disjoint_reversed
+<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;ncg1_type&gt;::type</a>,
+<a name="l00192"></a>00192 <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="l00193"></a>00193 ncg1_type,
+<a name="l00194"></a>00194 ncg2_type,
+<a name="l00195"></a>00195 <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="l00196"></a>00196 <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="l00197"></a>00197 <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="l00198"></a>00198 &gt;,
+<a name="l00199"></a>00199 <a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">dispatch::disjoint</a>
+<a name="l00200"></a>00200 &lt;
+<a name="l00201"></a>00201 <span class="keyword">typename</span> tag&lt;ncg1_type&gt;::type,
+<a name="l00202"></a>00202 <span class="keyword">typename</span> tag&lt;ncg2_type&gt;::type,
+<a name="l00203"></a>00203 ncg1_type,
+<a name="l00204"></a>00204 ncg2_type,
+<a name="l00205"></a>00205 is_multi&lt;ncg1_type&gt;::type::value,
+<a name="l00206"></a>00206 is_multi&lt;ncg2_type&gt;::type::value,
+<a name="l00207"></a>00207 dimension&lt;ncg1_type&gt;::type::value
+<a name="l00208"></a>00208 &gt;
+<a name="l00209"></a>00209 &gt;::type::apply(geometry1, geometry2);
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 } <span class="comment">// namespace ggl</span>
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISJOINT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/distance_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
+<tr><td 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/distance_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_DISTANCE_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_DISTANCE_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;vector&gt;</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/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/geometries/concepts/point_concept.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 { <span class="keyword">namespace </span>concept {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00028"></a><a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointDistanceStrategy</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span> <span class="keyword">private</span> :
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// 1) must define first_point_type</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::first_point_type ptype1;
+<a name="l00035"></a>00035 BOOST_CONCEPT_ASSERT
+<a name="l00036"></a>00036 (
+<a name="l00037"></a>00037 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;ptype1&gt;</a>)
+<a name="l00038"></a>00038 );
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// 2) must define second_point_type</span>
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::second_point_type ptype2;
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT
+<a name="l00043"></a>00043 (
+<a name="l00044"></a>00044 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;ptype2&gt;</a>)
+<a name="l00045"></a>00045 );
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="comment">// 3) must define return_type</span>
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type rtype;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="comment">// 4) must implement apply with arguments</span>
+<a name="l00051"></a>00051 <span class="keyword">struct </span>apply_checker
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 Strategy* str;
+<a name="l00056"></a>00056 ptype1 *p1;
+<a name="l00057"></a>00057 ptype2 *p2;
+<a name="l00058"></a>00058 rtype r = str-&gt;apply(*p1, *p2);
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 boost::ignore_unused_variable_warning(str);
+<a name="l00061"></a>00061 boost::ignore_unused_variable_warning(r);
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">public</span> :
+<a name="l00066"></a>00066 BOOST_CONCEPT_USAGE(<a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointDistanceStrategy</a>)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>};
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00079"></a><a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">00079</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointSegmentDistanceStrategy</a>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span> <span class="keyword">private</span> :
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="comment">// 1) must define point_type</span>
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type ptype;
+<a name="l00086"></a>00086 BOOST_CONCEPT_ASSERT
+<a name="l00087"></a>00087 (
+<a name="l00088"></a>00088 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;ptype&gt;</a>)
+<a name="l00089"></a>00089 );
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="comment">// 2) must define segment_point_type</span>
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type sptype;
+<a name="l00093"></a>00093 BOOST_CONCEPT_ASSERT
+<a name="l00094"></a>00094 (
+<a name="l00095"></a>00095 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;sptype&gt;</a>)
+<a name="l00096"></a>00096 );
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="comment">// 3) must define return_type</span>
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type rtype;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// 4) must define underlying point-distance-strategy</span>
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_strategy_type stype;
+<a name="l00103"></a>00103 BOOST_CONCEPT_ASSERT
+<a name="l00104"></a>00104 (
+<a name="l00105"></a>00105 (<a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">concept::PointDistanceStrategy&lt;stype&gt;</a>)
+<a name="l00106"></a>00106 );
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// 5) must implement method apply with arguments</span>
+<a name="l00110"></a>00110 <span class="keyword">struct </span>apply_checker
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 Strategy *str;
+<a name="l00115"></a>00115 ptype *p;
+<a name="l00116"></a>00116 sptype *sp1;
+<a name="l00117"></a>00117 sptype *sp2;
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 rtype r = str-&gt;apply(*p, *sp1, *sp2);
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 boost::ignore_unused_variable_warning(str);
+<a name="l00122"></a>00122 boost::ignore_unused_variable_warning(r);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 };
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">public</span> :
+<a name="l00127"></a>00127 BOOST_CONCEPT_USAGE(<a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointSegmentDistanceStrategy</a>)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 <span class="preprocessor">#endif</span>
+<a name="l00132"></a>00132 <span class="preprocessor"></span>};
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_DISTANCE_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/distance_cross_track.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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="classggl_1_1segment.html" title="Class segment: small class 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/distance_cross_track.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_DISTANCE_CROSS_TRACK_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_DISTANCE_CROSS_TRACK_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
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<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="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>&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="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="distance__concept_8hpp.html">ggl/strategies/concepts/distance_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<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="comment">//#include &lt;ggl/util/write_dsv.hpp&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="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="l00032"></a>00032
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00042"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">00042</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html" title="Strategy functor for distance point to segment calculation.">cross_track</a>
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">public</span> :
+<a name="l00045"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">00045</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a>;
+<a name="l00046"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#7e4991ac16609bd7a55f8ab07b8fa84f">00046</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="l00047"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">00047</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">segment_point_type</a>;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag&lt;Point&gt;::type</a>,
+<a name="l00052"></a>00052 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag&lt;Point&gt;::type</a>,
+<a name="l00053"></a>00053 Point, Point
+<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">00054</a> &gt;::type <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a>;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#029ee4f05257f06b27f43ef65612365f">BOOST_CONCEPT_ASSERT</a>
+<a name="l00057"></a>00057 (
+<a name="l00058"></a>00058 (<a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">ggl::concept::PointDistanceStrategy&lt;point_strategy_type&gt;</a>)
+<a name="l00059"></a>00059 );
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#9d109c60d8908e73347339b91a599362">00063</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#9d109c60d8908e73347339b91a599362">cross_track</a>(<span class="keywordtype">double</span> r = 1.0)
+<a name="l00064"></a>00064 : m_radius(r)
+<a name="l00065"></a>00065 , m_strategy(1.0) <span class="comment">// Keep this 1.0 and not r</span>
+<a name="l00066"></a>00066 {}
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="comment">// It might be useful in the future</span>
+<a name="l00070"></a>00070 <span class="comment">// to overload constructor with strategy info.</span>
+<a name="l00071"></a>00071 <span class="comment">// crosstrack(...) {}</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">00074</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">apply</a>(Point <span class="keyword">const</span>&amp; p,
+<a name="l00075"></a>00075 PointOfSegment <span class="keyword">const</span>&amp; sp1, PointOfSegment <span class="keyword">const</span>&amp; sp2)<span class="keyword"> const</span>
+<a name="l00076"></a>00076 <span class="keyword"> </span>{
+<a name="l00077"></a>00077 <span class="comment">// http://williams.best.vwh.net/avform.htm#XTE>
+<a name="l00078"></a>00078 <span class="keywordtype">double</span> d1 = m_strategy.apply(sp1, p);
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// Actually, calculation of d2 not necessary if we know that the projected point is on the great circle...</span>
+<a name="l00081"></a>00081 <span class="keywordtype">double</span> d2 = m_strategy.apply(sp2, p);
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keywordtype">double</span> crs_AD = course(sp1, p);
+<a name="l00084"></a>00084 <span class="keywordtype">double</span> crs_AB = course(sp1, sp2);
+<a name="l00085"></a>00085 <span class="keywordtype">double</span> XTD = std::abs(asin(sin(d1) * sin(crs_AD - crs_AB)));
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">//std::cout &lt;&lt; "Course " &lt;&lt; dsv(sp1) &lt;&lt; " to " &lt;&lt; dsv(p) &lt;&lt; " " &lt;&lt; crs_AD * ggl::math::r2d &lt;&lt; std::endl;</span>
+<a name="l00088"></a>00088 <span class="comment">//std::cout &lt;&lt; "Course " &lt;&lt; dsv(sp1) &lt;&lt; " to " &lt;&lt; dsv(sp2) &lt;&lt; " " &lt;&lt; crs_AB * ggl::math::r2d &lt;&lt; std::endl;</span>
+<a name="l00089"></a>00089 <span class="comment">//std::cout &lt;&lt; "XTD: " &lt;&lt; (XTD * 6373.0) &lt;&lt; " d1: " &lt;&lt; (d1 * 6373.0) &lt;&lt; " d2: " &lt;&lt; (d2 * 6373.0) &lt;&lt; std::endl;</span>
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="comment">// Return shortest distance, either to projected point on segment sp1-sp2, or to sp1, or to sp2</span>
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">return_type</a>(m_radius * (std::min)((std::min)(d1, d2), XTD));
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">private</span> :
+<a name="l00097"></a>00097 <span class="keywordtype">double</span> m_radius;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="comment">// Point-point distances are calculated in radians, on the unit sphere</span>
+<a name="l00100"></a>00100 <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">point_strategy_type</a> m_strategy;
+<a name="l00101"></a>00101
+<a name="l00103"></a>00103 <span class="keyword">inline</span> <span class="keywordtype">double</span> course(Point <span class="keyword">const</span>&amp; p1, Point <span class="keyword">const</span>&amp; p2)<span class="keyword"> const</span>
+<a name="l00104"></a>00104 <span class="keyword"> </span>{
+<a name="l00105"></a>00105 <span class="comment">//
http://williams.best.vwh.net/avform.htm#Crs>
+<a name="l00106"></a>00106 <span class="keywordtype">double</span> dlon = get_as_radian&lt;0&gt;(p2) - get_as_radian&lt;0&gt;(p1);
+<a name="l00107"></a>00107 <span class="keywordtype">double</span> cos_p2lat = cos(get_as_radian&lt;1&gt;(p2));
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// "An alternative formula, not requiring the pre-computation of d"</span>
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> atan2(sin(dlon) * cos_p2lat,
+<a name="l00111"></a>00111 cos(get_as_radian&lt;1&gt;(p1)) * sin(get_as_radian&lt;1&gt;(p2))
+<a name="l00112"></a>00112 - sin(get_as_radian&lt;1&gt;(p1)) * cos_p2lat * cos(dlon));
+<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="comment">// namespace strategy::distance</span>
+<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_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span>strategy_distance_segment&lt;spherical_tag, spherical_tag, Point, Segment&gt;
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">typedef</span> strategy::distance::cross_track&lt;Point, Segment&gt; <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00129"></a>00129 };
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="comment">// Use this point-segment for geographic as well. TODO: change this, extension!</span>
+<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00134"></a>00134 <span class="keyword">struct </span>strategy_distance_segment&lt;geographic_tag, geographic_tag, Point, Segment&gt;
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keyword">typedef</span> strategy::distance::cross_track&lt;Point, Segment&gt; <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00137"></a>00137 };
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <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="l00141"></a>00141 <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>::cross_track&lt;Point, Segment&gt; &gt;
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keyword">typedef</span> strategy_tag_distance_point_segment <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span>
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 } <span class="comment">// namespace ggl</span>
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_DISTANCE_CROSS_TRACK_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/distance_haversine.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/distance_haversine.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_DISTANCE_HAVERSINE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_DISTANCE_HAVERSINE_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 <span class="preprocessor">#include &lt;<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>&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="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.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 <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="l00027"></a>00027
+<a name="l00045"></a>00045 <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 = Po<span class="keywordtype">int</span>1&gt;
+<a name="l00046"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">00046</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="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keyword">public</span> :
+<a name="l00049"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">00049</a> <span class="keyword">typedef</span> Point1 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">first_point_type</a>;
+<a name="l00050"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">00050</a> <span class="keyword">typedef</span> Point2 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">second_point_type</a>;
+<a name="l00051"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">00051</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a>;
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">00053</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">haversine</a>(<span class="keywordtype">double</span> r = 1.0)
+<a name="l00054"></a>00054 : m_radius(r)
+<a name="l00055"></a>00055 {}
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">00057</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">apply</a>(Point1 <span class="keyword">const</span>&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)<span class="keyword"> const</span>
+<a name="l00058"></a>00058 <span class="keyword"> </span>{
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> calculate(get_as_radian&lt;0&gt;(p1), get_as_radian&lt;1&gt;(p1),
+<a name="l00060"></a>00060 get_as_radian&lt;0&gt;(p2), get_as_radian&lt;1&gt;(p2));
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">private</span> :
+<a name="l00064"></a>00064 <span class="keywordtype">double</span> m_radius;
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;Point1&gt;::type</a> coordinate_type1;
+<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;Point2&gt;::type</a> coordinate_type2;
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a> calculate(coordinate_type1 <span class="keyword">const</span>&amp; lon1,
+<a name="l00069"></a>00069 coordinate_type1 <span class="keyword">const</span>&amp; lat1,
+<a name="l00070"></a>00070 coordinate_type2 <span class="keyword">const</span>&amp; lon2,
+<a name="l00071"></a>00071 coordinate_type2 <span class="keyword">const</span>&amp; lat2)<span class="keyword"> const</span>
+<a name="l00072"></a>00072 <span class="keyword"> </span>{
+<a name="l00073"></a>00073 <span class="keywordtype">double</span> a = <a class="code" href="group__utility.html#geda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lat2 - lat1)
+<a name="l00074"></a>00074 + cos(lat1) * cos(lat2) * <a class="code" href="group__utility.html#geda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lon2 - lon1);
+<a name="l00075"></a>00075 <span class="keywordtype">double</span> c = 2.0 * asin(sqrt(a));
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">return_type</a>(m_radius * c);
+<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 strategy::distance</span>
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00085"></a>00085 <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="l00086"></a>00086 <span class="keyword">struct </span>strategy_distance&lt;spherical_tag, spherical_tag, P1, P2&gt;
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <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="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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00097"></a>00097 <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="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> strategy_tag_distance_point_point <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<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="preprocessor">#endif</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 } <span class="comment">// namespace ggl</span>
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_DISTANCE_HAVERSINE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/distance_projected_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_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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="classggl_1_1segment.html" title="Class segment: small class 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_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__projected__point_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/distance_projected_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_STRATEGIES_CARTESIAN_DISTANCE_PROJECTED_POINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_DISTANCE_PROJECTED_POINT_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="strategies_2tags_8hpp.html">ggl/strategies/tags.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="distance__pythagoras_8hpp.html">ggl/strategies/cartesian/distance_pythagoras.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <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="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// Helper geometry</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>ggl {
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="namespaceggl_1_1strategy_1_1distance.html">00037</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="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00052"></a>00052 <span class="keyword">template</span>
+<a name="l00053"></a>00053 &lt;
+<a name="l00054"></a>00054 <span class="keyword">typename</span> Point,
+<a name="l00055"></a>00055 <span class="keyword">typename</span> PointOfSegment,
+<a name="l00056"></a>00056 <span class="keyword">typename</span> Strategy = <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a>
+<a name="l00057"></a>00057 &lt;
+<a name="l00058"></a>00058 Point,
+<a name="l00059"></a>00059 <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;PointOfSegment&gt;::type</a>
+<a name="l00060"></a>00060 &gt;
+<a name="l00061"></a>00061 &gt;
+<a name="l00062"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">00062</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="l00063"></a>00063 {
+<a name="l00064"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#47ffd27e3db9f743285edbe61e806c69">00064</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="l00065"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">00065</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">segment_point_type</a>;
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 Point,
+<a name="l00069"></a>00069 PointOfSegment
+<a name="l00070"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d931f763a1d00938a0214d82c2073554">00070</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="l00071"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#0dc84b5bc571f9fae7191d81e6c136d3">00071</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="l00072"></a>00072
+<a name="l00073"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#4fee10baca3b2e18e9fedaaa3539a8bb">00073</a> <span class="keyword">typedef</span> Strategy <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#4fee10baca3b2e18e9fedaaa3539a8bb">point_strategy_type</a>;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#6d81e410d42166f77b90dbd6f697e91f">00076</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#6d81e410d42166f77b90dbd6f697e91f">apply</a>(Point <span class="keyword">const</span>&amp; p,
+<a name="l00077"></a>00077 PointOfSegment <span class="keyword">const</span>&amp; p1, PointOfSegment <span class="keyword">const</span>&amp; p2)<span class="keyword"> const</span>
+<a name="l00078"></a>00078 <span class="keyword"> </span>{
+<a name="l00079"></a>00079 assert_dimension_equal&lt;Point, PointOfSegment&gt;();
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">/* Algorithm</span>
+<a name="l00082"></a>00082 <span class="comment"> POINT v(x2 - x1, y2 - y1);</span>
+<a name="l00083"></a>00083 <span class="comment"> POINT w(px - x1, py - y1);</span>
+<a name="l00084"></a>00084 <span class="comment"> c1 = w . v</span>
+<a name="l00085"></a>00085 <span class="comment"> c2 = v . v</span>
+<a name="l00086"></a>00086 <span class="comment"> b = c1 / c2</span>
+<a name="l00087"></a>00087 <span class="comment"> RETURN POINT(x1 + b * vx, y1 + b * vy);</span>
+<a name="l00088"></a>00088 <span class="comment"> */</span>
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="comment">// Take here the first point type. It should have a default constructor.</span>
+<a name="l00092"></a>00092 <span class="comment">// That is not required for the second point type.</span>
+<a name="l00093"></a>00093 Point v, w;
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p2, v);
+<a name="l00096"></a>00096 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p, w);
+<a name="l00097"></a>00097 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(v, p1);
+<a name="l00098"></a>00098 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(w, p1);
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 Strategy strategy;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> c1 = <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(w, v);
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (c1 &lt;= 0)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> strategy.apply(p, p1);
+<a name="l00106"></a>00106 }
+<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...">coordinate_type</a> c2 = <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(v, v);
+<a name="l00108"></a>00108 <span class="keywordflow">if</span> (c2 &lt;= c1)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> strategy.apply(p, p2);
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="comment">// Even in case of char's, we have to turn to a point&lt;double/float&gt;</span>
+<a name="l00114"></a>00114 <span class="comment">// because of the division.</span>
+<a name="l00115"></a>00115 <span class="comment">// TODO</span>
+<a name="l00116"></a>00116 <a 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="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="comment">// Note that distances with integer coordinates do NOT work because</span>
+<a name="l00119"></a>00119 <span class="comment">// - the project point is integer</span>
+<a name="l00120"></a>00120 <span class="comment">// - if we solve that, the used distance_strategy cannot handle double points</span>
+<a name="l00121"></a>00121 PointOfSegment projected;
+<a name="l00122"></a>00122 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p1, projected);
+<a name="l00123"></a>00123 <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="l00124"></a>00124 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(projected, v);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> strategy.apply(p, projected);
+<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
+<a name="l00132"></a>00132 }} <span class="comment">// namespace strategy::distance</span>
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00140"></a>00140 <span class="keyword">struct </span>strategy_distance_segment&lt;cartesian_tag, cartesian_tag, Point, PointOfSegment&gt;
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;PointOfSegment&gt;::type segment_point_type;
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> strategy::distance::xy_point_segment
+<a name="l00145"></a>00145 &lt;
+<a name="l00146"></a>00146 Point,
+<a name="l00147"></a>00147 PointOfSegment,
+<a name="l00148"></a>00148 <span class="keyword">typename</span> strategy_distance
+<a name="l00149"></a>00149 &lt;
+<a name="l00150"></a>00150 cartesian_tag, cartesian_tag, Point, segment_point_type
+<a name="l00151"></a>00151 &gt;<a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">::type</a>
+<a name="l00152"></a>00152 &gt; <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154 <span class="preprocessor">#endif</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span>
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment, <span class="keyword">typename</span> PPStrategy&gt;
+<a name="l00158"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html">00158</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, PointOfSegment, PPStrategy&gt; &gt;
+<a name="l00159"></a>00159 {
+<a name="l00160"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html#3515926c242d21611cb08cbefa51ecf2">00160</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="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
+<a name="l00168"></a>00168 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_DISTANCE_PROJECTED_POINT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/distance_pythagoras.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; Point1, Point2, 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__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__pythagoras_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/distance_pythagoras.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_STRATEGIES_CARTESIAN_DISTANCE_PYTHAGORAS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_DISTANCE_PYTHAGORAS_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="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.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
+<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 <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="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<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> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2, <span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> T&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>compute_pythagoras
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(Point1 <span class="keyword">const</span>&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 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="l00040"></a>00040 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="l00041"></a>00041 T <span class="keyword">const</span> d = c1 - c2;
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> d * d + compute_pythagoras&lt;Point1, Point2, I-1, T&gt;::apply(p1, p2);
+<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> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2, <span class="keyword">typename</span> T&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>compute_pythagoras&lt;Point1, Point2, 0, T&gt;
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(Point1 <span class="keyword">const</span>&amp;, Point2 <span class="keyword">const</span>&amp;)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keywordflow">return</span> boost::numeric_cast&lt;T&gt;(0);
+<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="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00066"></a>00066 <span class="keyword">template</span>
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 <span class="keyword">typename</span> Point1,
+<a name="l00069"></a>00069 <span class="keyword">typename</span> Point2 = Point1,
+<a name="l00070"></a>00070 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00071"></a>00071 &gt;
+<a name="l00072"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">00072</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="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Meta-function selecting the &amp;quot;calculation&amp;quot; type.">select_calculation_type</a>
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 Point1,
+<a name="l00077"></a>00077 Point2,
+<a name="l00078"></a>00078 CalculationType
+<a name="l00079"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">00079</a> &gt;::type <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a>;
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">00081</a> <span class="keyword">typedef</span> Point1 <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">first_point_type</a>;
+<a name="l00082"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">00082</a> <span class="keyword">typedef</span> Point2 <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">second_point_type</a>;
+<a name="l00083"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">00083</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="l00084"></a>00084
+<a name="l00085"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc6f8d7bab7a9f9a26212c44dc660038">00085</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#bc6f8d7bab7a9f9a26212c44dc660038">apply</a>(Point1 <span class="keyword">const</span>&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)<span class="keyword"> const</span>
+<a name="l00086"></a>00086 <span class="keyword"> </span>{
+<a name="l00087"></a>00087 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;Point1&gt;</a>) );
+<a name="l00088"></a>00088 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;Point2&gt;</a>) );
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="comment">// Calculate distance using Pythagoras</span>
+<a name="l00091"></a>00091 <span class="comment">// (Leave comment above for Doxygen)</span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 assert_dimension_equal&lt;Point1, Point2&gt;();
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">return_type</a>(detail::compute_pythagoras
+<a name="l00096"></a>00096 &lt;
+<a name="l00097"></a>00097 Point1, Point2,
+<a name="l00098"></a>00098 <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;Point1&gt;::value</a>,
+<a name="l00099"></a>00099 <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a>
+<a name="l00100"></a>00100 &gt;::<a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc6f8d7bab7a9f9a26212c44dc660038">apply</a>(p1, p2));
+<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 strategy::distance</span>
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span><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="l00110"></a>00110 <span class="keyword">struct </span>strategy_distance&lt;cartesian_tag, cartesian_tag, Point1, Point2&gt;
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keyword">typedef</span> strategy::distance::pythagoras&lt;Point1, Point2&gt; <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
+<a name="l00113"></a>00113 };
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="preprocessor">#endif</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <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="l00120"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html">00120</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;Point1, Point2&gt; &gt;
+<a name="l00121"></a>00121 {
+<a name="l00122"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html#dd675bc88ac5740d6c9f43031723595d">00122</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="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 ggl</span>
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_DISTANCE_PYTHAGORAS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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; Geometry1, Geometry2 &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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_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="comment">// #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/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.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 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <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="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="l00040"></a>00040 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T = <span class="keywordtype">double</span>&gt;
+<a name="l00041"></a><a class="code" href="structggl_1_1cartesian__distance.html">00041</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="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">private</span> :
+<a name="l00044"></a>00044 T m_squared_distance;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
+<a name="l00047"></a>00047 <span class="comment">// go to double and NOT to T</span>
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00049"></a>00049 boost::mpl::if_c
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 boost::is_integral&lt;T&gt;::type::value,
+<a name="l00052"></a>00052 double,
+<a name="l00053"></a>00053 T
+<a name="l00054"></a>00054 &gt;::type cast_type;
+<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="keyword">public</span> :
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00063"></a><a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">00063</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="l00064"></a>00064
+<a name="l00067"></a><a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">00067</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="l00068"></a>00068 <span class="keyword"> </span>{
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> boost::numeric_cast&lt;cast_type&gt;
+<a name="l00070"></a>00070 (
+<a name="l00071"></a>00071 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span> boost::sqrt(
+<a name="l00073"></a>00073 #<span class="keywordflow">else</span>
+<a name="l00074"></a>00074 std::sqrt(
+<a name="l00075"></a>00075 #endif
+<a name="l00076"></a>00076 boost::numeric_cast
+<a name="l00077"></a>00077 &lt;
+<a name="l00078"></a>00078 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise&lt;cast_type, double&gt;::type</a>
+<a name="l00079"></a>00079 &gt;(m_squared_distance)
+<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">// Compare squared values</span>
+<a name="l00085"></a><a class="code" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">00085</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="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> this-&gt;m_squared_distance &lt; other.m_squared_distance;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a><a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">00089</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="l00090"></a>00090 <span class="keyword"> </span>{
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> this-&gt;m_squared_distance &gt; other.m_squared_distance;
+<a name="l00092"></a>00092 }
+<a name="l00093"></a><a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">00093</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="l00094"></a>00094 <span class="keyword"> </span>{
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> this-&gt;m_squared_distance == other.m_squared_distance;
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="comment">// Compare just with a corresponding POD value</span>
+<a name="l00099"></a>00099 <span class="comment">// Note: this is NOT possible because of the cast to double,</span>
+<a name="l00100"></a>00100 <span class="comment">// it makes it for the compiler ambiguous which to take</span>
+<a name="l00101"></a>00101 <span class="comment">/*</span>
+<a name="l00102"></a>00102 <span class="comment"> inline bool operator&lt;(T const&amp; value) const</span>
+<a name="l00103"></a>00103 <span class="comment"> {</span>
+<a name="l00104"></a>00104 <span class="comment"> return this-&gt;m_squared_distance &lt; (value * value);</span>
+<a name="l00105"></a>00105 <span class="comment"> }</span>
+<a name="l00106"></a>00106 <span class="comment"> inline bool operator&gt;(T const&amp; value) const</span>
+<a name="l00107"></a>00107 <span class="comment"> {</span>
+<a name="l00108"></a>00108 <span class="comment"> return this-&gt;m_squared_distance &gt; (value * value);</span>
+<a name="l00109"></a>00109 <span class="comment"> }</span>
+<a name="l00110"></a>00110 <span class="comment"> inline bool operator==(T const&amp; value) const</span>
+<a name="l00111"></a>00111 <span class="comment"> {</span>
+<a name="l00112"></a>00112 <span class="comment"> return this-&gt;m_squared_distance == (value * value);</span>
+<a name="l00113"></a>00113 <span class="comment"> }</span>
+<a name="l00114"></a>00114 <span class="comment"> */</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">// Utility method to compare without SQRT, but not with method above because for epsilon that</span>
+<a name="l00117"></a>00117 <span class="comment">// makes no sense...</span>
+<a name="l00118"></a><a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">00118</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="l00119"></a>00119 <span class="keyword"> </span>{
+<a name="l00120"></a>00120 <span class="keywordflow">return</span> m_squared_distance &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122
+<a name="l00124"></a><a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">00124</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="l00125"></a>00125 <span class="keyword"> </span>{
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> m_squared_distance;
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00131"></a>00131 <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;Char, Traits&gt;&amp;
+<a name="l00132"></a><a class="code" href="structggl_1_1cartesian__distance.html#01473d5ead508079201fa75545622ef5">00132</a> operator&lt;&lt;(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00133"></a>00133 <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="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="comment">// Avoid "ambiguous function call" for MSVC</span>
+<a name="l00136"></a>00136 cast_type <span class="keyword">const</span> sq = d.m_squared_distance;
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 os &lt;&lt;
+<a name="l00139"></a>00139 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span> boost::sqrt(sq);
+<a name="l00141"></a>00141 <span class="preprocessor">#else</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span> std::sqrt(sq);
+<a name="l00143"></a>00143 <span class="preprocessor">#endif</span>
+<a name="l00144"></a>00144 <span class="preprocessor"></span> <span class="keywordflow">return</span> os;
+<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
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="comment">/*</span>
+<a name="l00152"></a>00152 <span class="comment"></span>
+<a name="l00153"></a>00153 <span class="comment"> From Phil Endecott, on the list:</span>
+<a name="l00154"></a>00154 <span class="comment"></span>
+<a name="l00155"></a>00155 <span class="comment"> You can go further. If I'm searching through a long list of points to</span>
+<a name="l00156"></a>00156 <span class="comment"> find the closest to P then I'll avoid the squaring (and conversion to</span>
+<a name="l00157"></a>00157 <span class="comment"> double if my co-ordinates are integers) whenever possible. You can</span>
+<a name="l00158"></a>00158 <span class="comment"> achieve this with a more complex distance proxy:</span>
+<a name="l00159"></a>00159 <span class="comment"></span>
+<a name="l00160"></a>00160 <span class="comment"> class distance_proxy {</span>
+<a name="l00161"></a>00161 <span class="comment"> double dx;</span>
+<a name="l00162"></a>00162 <span class="comment"> double dy;</span>
+<a name="l00163"></a>00163 <span class="comment"> distance_proxy(double dx_, double dy_): dx(dx_), dy(dy_) {}</span>
+<a name="l00164"></a>00164 <span class="comment"> friend pythag_distance(point,point);</span>
+<a name="l00165"></a>00165 <span class="comment"> public:</span>
+<a name="l00166"></a>00166 <span class="comment"> operator double() { return sqrt(dx*dx+dy*dy); }</span>
+<a name="l00167"></a>00167 <span class="comment"> bool operator&gt;(double d) {</span>
+<a name="l00168"></a>00168 <span class="comment"> return dx&gt;d</span>
+<a name="l00169"></a>00169 <span class="comment"> || dy&gt;d</span>
+<a name="l00170"></a>00170 <span class="comment"> || (dx*dx+dy*dy &gt; d*d);</span>
+<a name="l00171"></a>00171 <span class="comment"> }</span>
+<a name="l00172"></a>00172 <span class="comment"> };</span>
+<a name="l00173"></a>00173 <span class="comment"></span>
+<a name="l00174"></a>00174 <span class="comment"> So this is convertible to double, but can be compared to a distance</span>
+<a name="l00175"></a>00175 <span class="comment"> without any need for sqrt() and only multiplication in some cases.</span>
+<a name="l00176"></a>00176 <span class="comment"> Further refinement is possible.</span>
+<a name="l00177"></a>00177 <span class="comment"></span>
+<a name="l00178"></a>00178 <span class="comment"></span>
+<a name="l00179"></a>00179 <span class="comment"> Barend:</span>
+<a name="l00180"></a>00180 <span class="comment"> feasable, needs to be templatized by the number of dimensions. For distance it</span>
+<a name="l00181"></a>00181 <span class="comment"> results in a nice "delayed calculation".</span>
+<a name="l00182"></a>00182 <span class="comment"> For searching you might take another approach, first calculate dx, if OK then dy,</span>
+<a name="l00183"></a>00183 <span class="comment"> if OK then the sqrs. So as above but than distance does not need to be calculated.</span>
+<a name="l00184"></a>00184 <span class="comment"> So it is in fact another strategy.</span>
+<a name="l00185"></a>00185 <span class="comment"></span>
+<a name="l00186"></a>00186 <span class="comment"></span>
+<a name="l00187"></a>00187 <span class="comment">*/</span>
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <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="l00195"></a>00195 {
+<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00197"></a>00197 <span class="keyword">struct </span>distance_result_maker
+<a name="l00198"></a>00198 {
+<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> R, <span class="keyword">typename</span> T&gt;
+<a name="l00202"></a>00202 <span class="keyword">struct </span>distance_result_maker&lt;ggl::cartesian_distance&lt;R&gt;, T&gt;
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <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="l00205"></a>00205 {
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> cartesian_distance&lt;R&gt;(value * value);
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208 };
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00211"></a>00211 <span class="keyword">struct </span>distance_result_maker&lt;double, T&gt;
+<a name="l00212"></a>00212 {
+<a name="l00213"></a>00213 <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="l00214"></a>00214 {
+<a name="l00215"></a>00215 <span class="keywordflow">return</span> value;
+<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="keyword">typename</span> T&gt;
+<a name="l00221"></a>00221 <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="l00222"></a>00222 {
+<a name="l00223"></a>00223 <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="l00224"></a>00224 {
+<a name="l00225"></a>00225 <span class="keywordflow">return</span> value &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00226"></a>00226 }
+<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> T&gt;
+<a name="l00231"></a>00231 <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="l00232"></a>00232 {
+<a name="l00233"></a>00233 <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="l00234"></a>00234 {
+<a name="l00235"></a>00235 <span class="keywordflow">return</span> value.<a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>();
+<a name="l00236"></a>00236 }
+<a name="l00237"></a>00237 };
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241 }
+<a name="l00242"></a>00242 <span class="preprocessor">#endif</span>
+<a name="l00243"></a>00243 <span class="preprocessor"></span>
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245
+<a name="l00252"></a>00252 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2 = Geometry1&gt;
+<a name="l00253"></a><a class="code" href="structggl_1_1distance__result.html">00253</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="l00254"></a>00254 {
+<a name="l00255"></a><a class="code" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">00255</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;Geometry1&gt;::type</a> <a class="code" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a>;
+<a name="l00256"></a><a class="code" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">00256</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;Geometry2&gt;::type</a> <a class="code" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a>;
+<a name="l00257"></a>00257 <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="l00258"></a>00258 &lt;
+<a name="l00259"></a>00259 <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_type1&gt;::type</a>,
+<a name="l00260"></a>00260 <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_type2&gt;::type</a>,
+<a name="l00261"></a>00261 <a class="code" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a>,
+<a name="l00262"></a>00262 <a class="code" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a>
+<a name="l00263"></a><a class="code" href="structggl_1_1distance__result.html#ae0bb0ccd007862dc7ae0e81e95d9e52">00263</a> &gt;<a class="code" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">::type</a> <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="l00264"></a><a class="code" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">00264</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>;
+<a name="l00265"></a>00265 };
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270
+<a name="l00282"></a>00282 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00283"></a><a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">00283</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="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keywordflow">return</span> detail::distance::distance_result_maker&lt;R, T&gt;::apply(value);
+<a name="l00286"></a>00286 }
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288
+<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00298"></a><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">00298</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="l00299"></a>00299 {
+<a name="l00300"></a>00300 <span class="keywordflow">return</span> detail::distance::close_to_zero&lt;T&gt;::apply(value);
+<a name="l00301"></a>00301 }
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303 } <span class="comment">// namespace ggl</span>
+<a name="l00304"></a>00304
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306 <span class="preprocessor">#endif // GGL_STRATEGIES_DISTANCE_RESULT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">select_coordinate_type&lt; P1, P2 &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/concepts/point_concept.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 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span> &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="l00025"></a>00025 <span class="keyword">struct </span>dot_product_maker
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P1, P2&gt;::type coordinate_type;
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> get&lt;Dimension&gt;(p1) * get&lt;Dimension&gt;(p2)
+<a name="l00032"></a>00032 + dot_product_maker&lt;P1, P2, Dimension+1, DimensionCount&gt;::apply(p1, p2);
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>dot_product_maker&lt;P1, P2, DimensionCount, DimensionCount&gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P1, P2&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 apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> get&lt;DimensionCount&gt;(p1) * get&lt;DimensionCount&gt;(p2);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace detail</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>
+<a name="l00050"></a>00050
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00059"></a><a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">00059</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P1, P2&gt;::type</a> <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(
+<a name="l00060"></a>00060 P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;P1&gt;</a>) );
+<a name="l00063"></a>00063 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;P2&gt;</a>) );
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> detail::dot_product_maker
+<a name="l00066"></a>00066 &lt;
+<a name="l00067"></a>00067 P1, P2,
+<a name="l00068"></a>00068 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P1&gt;::type::value</a> - 1
+<a name="l00069"></a>00069 &gt;::apply(p1, p2);
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace ggl</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#endif // GGL_ARITHMETIC_DOT_PRODUCT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/download.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/download.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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 <b>Formal</b> <b>Review</b> version is here: https://svn.boost.org/svn/boost/sandbox/ggl/formal_review </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen.css
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen.css 2009-11-04 12:51:44 EST (Wed, 04 Nov 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/libs/ggl/doc/doxygen_output/html/doxygen.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_a_design_rationale.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__a__design__rationale_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_a_design_rationale.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="l00825"></a>00825 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_c_strategy_rationale.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__c__strategy__rationale_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_c_strategy_rationale.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_STRATEGY_RATIONALE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_STRATEGY_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="l00080"></a>00080 <span class="preprocessor">#endif // _DOXYGEN_STRATEGY_RATIONALE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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="l00160"></a>00160 <span class="comment"></span><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="l00192"></a>00192 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00207"></a>00207 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00214"></a>00214 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00221"></a>00221 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00228"></a>00228 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00235"></a>00235 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/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="l00108"></a>00108 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00109"></a>00109
+<a name="l00136"></a>00136 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00137"></a>00137
+<a name="l00148"></a>00148 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150
+<a name="l00230"></a>00230 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00231"></a>00231
+<a name="l00322"></a>00322 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00323"></a>00323
+<a name="l00345"></a>00345 <span class="preprocessor">#endif // _DOXYGEN_PAGES_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_z_article09.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/doxygen__z__article09_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/doxygen_z_article09.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_ARTICLE2009_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_ARTICLE2009_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="l00238"></a>00238 <span class="preprocessor">#endif // _DOXYGEN_ARTICLE2009_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dsv.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/dsv.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,557 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_OVERLAY_ENRICH_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_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/assert.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>intersection {
+<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_OVERLAY_ENRICH_INTERSECTION_POINTS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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__equals.html#g122b1fd835cee0742da7c97dfdda94c5">ggl::equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detect if two geometries are spatially equal. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00021"></a>00021 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="detail_2disjoint_8hpp.html">ggl/algorithms/detail/disjoint.hpp</a>&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="not_8hpp.html">ggl/algorithms/detail/not.hpp</a>&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<a name="l00036"></a>00036 <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="l00037"></a>00037 <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="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">namespace </span>ggl
+<a name="l00044"></a>00044 {
+<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__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a> {
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span>
+<a name="l00051"></a>00051 &lt;
+<a name="l00052"></a>00052 <span class="keyword">typename</span> Box1,
+<a name="l00053"></a>00053 <span class="keyword">typename</span> Box2,
+<a name="l00054"></a>00054 std::size_t Dimension,
+<a name="l00055"></a>00055 std::size_t DimensionCount
+<a name="l00056"></a>00056 &gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span>box_box
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; box1, Box2 <span class="keyword">const</span>&amp; box2)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keywordflow">if</span> (!<a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get&lt;min_corner, Dimension&gt;(box1), get&lt;min_corner, Dimension&gt;(box2))
+<a name="l00062"></a>00062 || !<a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get&lt;max_corner, Dimension&gt;(box1), get&lt;max_corner, Dimension&gt;(box2)))
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> box_box&lt;Box1, Box2, Dimension + 1, DimensionCount&gt;::apply(box1, box2);
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>box_box&lt;Box1, Box2, DimensionCount, DimensionCount&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(Box1 <span class="keyword">const</span>&amp; , Box2 <span class="keyword">const</span>&amp; )
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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> Ring1, <span class="keyword">typename</span> Ring2&gt;
+<a name="l00081"></a>00081 <span class="keyword">struct </span>ring_ring
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Ring1 <span class="keyword">const</span>&amp; ring1, Ring2 <span class="keyword">const</span>&amp; ring2, <span class="keywordtype">bool</span> check_area = <span class="keyword">true</span>)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="comment">// Note: this implementation makes use of getting interections</span>
+<a name="l00086"></a>00086 <span class="comment">// and merge them. If all IP's disappear, the ring should be the same</span>
+<a name="l00087"></a>00087 <span class="comment">// (because merging removes collinear or non-collinear</span>
+<a name="l00088"></a>00088 <span class="comment">// IP's following the same path)</span>
+<a name="l00089"></a>00089 <span class="comment">// However, this implementation should be redone using</span>
+<a name="l00090"></a>00090 <span class="comment">// a linear time algorithm (getting left-most points of both</span>
+<a name="l00091"></a>00091 <span class="comment">// and follow them using circular iterator and distance/side)</span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="comment">// obvious check, area's should be the same.</span>
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (check_area &amp;&amp; <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(ring1) != <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(ring2))
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 <span class="comment">// We could check more (perimeter,centroid,envelope)</span>
+<a name="l00099"></a>00099 <span class="comment">// For now we go directly to intersection points</span>
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Ring1&gt;::type</a> point_type;
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; container_type;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 container_type ips;
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <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>(ring1, ring2, ips);
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (trivial || ips.size() == 0)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 <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="l00114"></a>00114 <span class="keywordflow">if</span> (ips.size() == 0)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="comment">// All IP's are merged. Meaning collinear / path can be followed</span>
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<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
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2&gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span>polygon_polygon
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">struct </span>sortable
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keywordtype">int</span> index;
+<a name="l00132"></a>00132 <span class="keywordtype">double</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>;
+<a name="l00133"></a>00133 <span class="keywordtype">bool</span> counterpart_found;
+<a name="l00134"></a>00134 <span class="keyword">inline</span> sortable(<span class="keywordtype">int</span> i, <span class="keywordtype">double</span> a)
+<a name="l00135"></a>00135 : index(i)
+<a name="l00136"></a>00136 , <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(a)
+<a name="l00137"></a>00137 , counterpart_found(false)
+<a name="l00138"></a>00138 {}
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(sortable <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00141"></a>00141 <span class="keyword"> </span>{
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> &lt; other.area;
+<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> Poly&gt;
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> fill_sortable(Poly <span class="keyword">const</span>&amp; polygon, std::vector&lt;sortable&gt;&amp; v)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="keywordtype">int</span> i = 0;
+<a name="l00151"></a>00151 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00152"></a>00152 &lt;
+<a name="l00153"></a>00153 <span class="keyword">typename</span> interior_type&lt;Poly&gt;::type
+<a name="l00154"></a>00154 &gt;::type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00155"></a>00155 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00156"></a>00156 ++it, ++i)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 v.push_back(sortable(i, <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(*it)));
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160 std::sort(v.begin(), v.end());
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="comment">/***</span>
+<a name="l00163"></a>00163 <span class="comment"> for (typename std::vector&lt;sortable&gt;::iterator it = v.begin();</span>
+<a name="l00164"></a>00164 <span class="comment"> it != v.end();</span>
+<a name="l00165"></a>00165 <span class="comment"> ++it)</span>
+<a name="l00166"></a>00166 <span class="comment"> {</span>
+<a name="l00167"></a>00167 <span class="comment"> std::cout &lt;&lt; "Ring: " &lt;&lt; it-&gt;index &lt;&lt; " area: " &lt;&lt; it-&gt;area &lt;&lt; std::endl;</span>
+<a name="l00168"></a>00168 <span class="comment"> }</span>
+<a name="l00169"></a>00169 <span class="comment"> ***/</span>
+<a name="l00170"></a>00170 }
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Polygon1 <span class="keyword">const</span>&amp; polygon1, Polygon2 <span class="keyword">const</span>&amp; polygon2)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="comment">// Check number of rings (area check is done in exterior ring check)</span>
+<a name="l00175"></a>00175 <span class="keywordflow">if</span> (<a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">ggl::num_interior_rings</a>(polygon1) != <a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">ggl::num_interior_rings</a>(polygon2))
+<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
+<a name="l00180"></a>00180 <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;Polygon1&gt;::type</a> ring_type1;
+<a name="l00181"></a>00181 <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;Polygon2&gt;::type</a> ring_type2;
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> ring_ring&lt;ring_type1, ring_type2&gt; compare;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="comment">// Check exterior ring</span>
+<a name="l00185"></a>00185 <span class="keywordflow">if</span> (! compare::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon1), <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon2)))
+<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">// Check interior rings -&gt; first sort them on area ,</span>
+<a name="l00191"></a>00191 <span class="comment">// for performance reasons (area is not re-calculated in ring-compare)</span>
+<a name="l00192"></a>00192 std::vector&lt;sortable&gt; int1, int2;
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 fill_sortable(polygon1, int1);
+<a name="l00195"></a>00195 fill_sortable(polygon2, int2);
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 std::size_t n = 0;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="keyword">typename</span> interior_type&lt;Polygon1&gt;::type <span class="keyword">const</span>&amp; rings1
+<a name="l00200"></a>00200 = <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon1);
+<a name="l00201"></a>00201 <span class="keyword">typename</span> interior_type&lt;Polygon2&gt;::type <span class="keyword">const</span>&amp; rings2
+<a name="l00202"></a>00202 = <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon2);
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="comment">// Compare all rings (having equal area)</span>
+<a name="l00205"></a>00205 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;sortable&gt;::iterator it1 = int1.begin();
+<a name="l00206"></a>00206 it1 != int1.end();
+<a name="l00207"></a>00207 ++it1)
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;sortable&gt;::iterator it2 = int2.begin();
+<a name="l00210"></a>00210 ! it1-&gt;counterpart_found
+<a name="l00211"></a>00211 &amp;&amp; it2 != int2.end()
+<a name="l00212"></a>00212 &amp;&amp; it2-&gt;area &lt;= it1-&gt;area; <span class="comment">//+epsilon</span>
+<a name="l00213"></a>00213 ++it2)
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <span class="keywordflow">if</span> (! it2-&gt;counterpart_found
+<a name="l00216"></a>00216 &amp;&amp; <a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(it1-&gt;area, it2-&gt;area))
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218 <span class="keywordflow">if</span> (compare::apply(rings1[it1-&gt;index],
+<a name="l00219"></a>00219 rings2[it2-&gt;index], <span class="keyword">false</span>))
+<a name="l00220"></a>00220 {
+<a name="l00221"></a>00221 it1-&gt;counterpart_found = <span class="keyword">true</span>;
+<a name="l00222"></a>00222 it2-&gt;counterpart_found = <span class="keyword">true</span>;
+<a name="l00223"></a>00223 n++;
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="keywordflow">return</span> n == <a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">ggl::num_interior_rings</a>(polygon1);
+<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="comment">// namespace detail::equals</span>
+<a name="l00235"></a>00235 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00236"></a>00236 <span class="preprocessor"></span>
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00239"></a>00239 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="keyword">template</span>
+<a name="l00243"></a>00243 &lt;
+<a name="l00244"></a>00244 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
+<a name="l00245"></a>00245 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00246"></a>00246 <span class="keyword">typename</span> Geometry1,
+<a name="l00247"></a>00247 <span class="keyword">typename</span> Geometry2,
+<a name="l00248"></a>00248 std::size_t DimensionCount
+<a name="l00249"></a>00249 &gt;
+<a name="l00250"></a>00250 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>
+<a name="l00251"></a>00251 {};
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00255"></a>00255 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>&lt;point_tag, point_tag, false, false, P1, P2, DimensionCount&gt;
+<a name="l00256"></a>00256 : ggl::detail::not_
+<a name="l00257"></a>00257 &lt;
+<a name="l00258"></a>00258 P1,
+<a name="l00259"></a>00259 P2,
+<a name="l00260"></a>00260 detail::disjoint::point_point&lt;P1, P2, 0, DimensionCount&gt;
+<a name="l00261"></a>00261 &gt;
+<a name="l00262"></a>00262 {};
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00266"></a>00266 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>&lt;box_tag, box_tag, false, false, Box1, Box2, DimensionCount&gt;
+<a name="l00267"></a>00267 : detail::<a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>::box_box&lt;Box1, Box2, 0, DimensionCount&gt;
+<a name="l00268"></a>00268 {};
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270
+<a name="l00271"></a>00271 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring1, <span class="keyword">typename</span> Ring2&gt;
+<a name="l00272"></a>00272 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>&lt;ring_tag, ring_tag, false, false, Ring1, Ring2, 2&gt;
+<a name="l00273"></a>00273 : detail::<a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>::ring_ring&lt;Ring1, Ring2&gt;
+<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> Polygon1, <span class="keyword">typename</span> Polygon2&gt;
+<a name="l00277"></a>00277 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>&lt;polygon_tag, polygon_tag, false, false, Polygon1, Polygon2, 2&gt;
+<a name="l00278"></a>00278 : detail::<a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>::polygon_polygon&lt;Polygon1, Polygon2&gt;
+<a name="l00279"></a>00279 {};
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 } <span class="comment">// namespace dispatch</span>
+<a name="l00282"></a>00282 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00283"></a>00283 <span class="preprocessor"></span>
+<a name="l00284"></a>00284
+<a name="l00294"></a>00294 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00295"></a><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5">00295</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00296"></a>00296 {
+<a name="l00297"></a>00297 <a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470" title="Checks, in compile-time, the concept of two geometries, and if they have equal dimensions...">concept::check_concepts_and_equal_dimensions</a>
+<a name="l00298"></a>00298 &lt;
+<a name="l00299"></a>00299 <span class="keyword">const</span> Geometry1,
+<a name="l00300"></a>00300 <span class="keyword">const</span> Geometry2
+<a name="l00301"></a>00301 &gt;();
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303
+<a name="l00304"></a>00304 <span class="keywordflow">return</span> <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">dispatch::equals</a>
+<a name="l00305"></a>00305 &lt;
+<a name="l00306"></a>00306 <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="l00307"></a>00307 <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="l00308"></a>00308 <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;Geometry1&gt;::type::value</a>,
+<a name="l00309"></a>00309 <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;Geometry2&gt;::type::value</a>,
+<a name="l00310"></a>00310 Geometry1,
+<a name="l00311"></a>00311 Geometry2,
+<a name="l00312"></a>00312 <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;Geometry1&gt;::type::value</a>
+<a name="l00313"></a>00313 &gt;::apply(geometry1, geometry2);
+<a name="l00314"></a>00314 }
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316 } <span class="comment">// namespace ggl</span>
+<a name="l00317"></a>00317
+<a name="l00318"></a>00318 <span class="preprocessor">#endif // GGL_ALGORITHMS_EQUALS_HPP</span>
+<a name="l00319"></a>00319 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/examples.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/examples.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="c03__custom__linestring__example_8cpp-example.html">c03_custom_linestring_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="x02__numeric__adaptor__example_8cpp-example.html">x02_numeric_adaptor_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>
+<li><a class="el" href="x03__c__soci__example_8cpp-example.html">x03_c_soci_example.cpp</a>
+<li><a class="el" href="x03__d__soci__example_8cpp-example.html">x03_d_soci_example.cpp</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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; Polygon &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const ring_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">ggl::exterior_ring</a> (Polygon const &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ring_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b">ggl::exterior_ring</a> (Polygon &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;<a class="code" href="add__const__if__c_8hpp.html">ggl/util/add_const_if_c.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="l00027"></a>00027
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00040"></a><a class="code" href="structggl_1_1traits_1_1exterior__ring.html">00040</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="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_DISPATCH</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<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> Tag, <span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span><a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a> {};
+<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> Polygon, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span><a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>&lt;polygon_tag, Polygon, IsConst&gt;
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> add_const_if_c
+<a name="l00060"></a>00060 &lt;
+<a name="l00061"></a>00061 IsConst,
+<a name="l00062"></a>00062 <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="l00063"></a>00063 &lt;
+<a name="l00064"></a>00064 Polygon
+<a name="l00065"></a>00065 &gt;::type
+<a name="l00066"></a>00066 &gt;::type&amp; apply(<span class="keyword">typename</span> add_const_if_c
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 IsConst,
+<a name="l00069"></a>00069 Polygon
+<a name="l00070"></a>00070 &gt;::type&amp; polygon)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">traits::exterior_ring</a>
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 <span class="keyword">typename</span> boost::remove_const&lt;Polygon&gt;::type
+<a name="l00075"></a>00075 &gt;<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">::get</a>(polygon);
+<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 core_dispatch</span>
+<a name="l00081"></a>00081 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span>
+<a name="l00083"></a>00083
+<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00093"></a><a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b">00093</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;Polygon&gt;::type</a>&amp; <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(Polygon&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="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">core_dispatch::exterior_ring</a>
+<a name="l00096"></a>00096 &lt;
+<a name="l00097"></a>00097 <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;Polygon&gt;::type</a>,
+<a name="l00098"></a>00098 Polygon,
+<a name="l00099"></a>00099 <span class="keyword">false</span>
+<a name="l00100"></a>00100 &gt;::apply(polygon);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00113"></a><a class="code" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">00113</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;Polygon&gt;::type</a>&amp; <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(
+<a name="l00114"></a>00114 Polygon <span class="keyword">const</span>&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="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">core_dispatch::exterior_ring</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;Polygon&gt;::type</a>,
+<a name="l00119"></a>00119 Polygon,
+<a name="l00120"></a>00120 <span class="keyword">true</span>
+<a name="l00121"></a>00121 &gt;::apply(polygon);
+<a name="l00122"></a>00122 }
+<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
+<a name="l00128"></a>00128 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/files.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/files.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <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">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="append_8hpp.html">append.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2area_8hpp.html">area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="assign_8hpp.html">assign.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2centroid_8hpp.html">centroid.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="clear_8hpp.html">clear.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="combine_8hpp.html">combine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="convert_8hpp.html">convert.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2correct_8hpp.html">correct.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="disjoint_8hpp.html">disjoint.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2envelope_8hpp.html">envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="equals_8hpp.html">equals.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2intersection_8hpp.html">intersection.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="intersects_8hpp.html">intersects.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2length_8hpp.html">length.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="make_8hpp.html">make.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="overlaps_8hpp.html">overlaps.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2perimeter_8hpp.html">perimeter.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2sectionalize_8hpp.html">sectionalize.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2simplify_8hpp.html">simplify.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2transform_8hpp.html">transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="union_8hpp.html">union.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/<a class="el" href="algorithms_2within_8hpp.html">within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/<a class="el" href="calculate__sum_8hpp.html">calculate_sum.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/<a class="el" href="detail_2disjoint_8hpp.html">disjoint.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/<a class="el" href="not_8hpp.html">not.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/<a class="el" href="point__on__border_8hpp.html">point_on_border.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/<a class="el" href="assemble_8hpp.html">assemble.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/<a class="el" href="clip__linestring_8hpp.html">clip_linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/<a class="el" href="sort__interior__rings_8hpp.html">sort_interior_rings.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/<a class="el" href="traverse_8hpp.html">traverse.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/arithmetic/<a class="el" href="arithmetic_8hpp.html">arithmetic.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="access_8hpp.html">access.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="cs_8hpp.html">cs.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="exception_8hpp.html">exception.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="point__order_8hpp.html">point_order.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="tag_8hpp.html">tag.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/core/<a class="el" href="core_2tags_8hpp.html">tags.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="box_8hpp.html">box.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="cartesian2d_8hpp.html">cartesian2d.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="cartesian3d_8hpp.html">cartesian3d.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="geometries_8hpp.html">geometries.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="linestring_8hpp.html">linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="point_8hpp.html">point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="polygon_8hpp.html">polygon.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/<a class="el" href="segment_8hpp.html">segment.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/adapted/<a class="el" href="std__pair__as__segment_8hpp.html">std_pair_as_segment.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/adapted/<a class="el" href="tuple_8hpp.html">tuple.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="box__concept_8hpp.html">box_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="geometries_2concepts_2check_8hpp.html">check.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="linestring__concept_8hpp.html">linestring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="point__concept_8hpp.html">point_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="polygon__concept_8hpp.html">polygon_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="ring__concept_8hpp.html">ring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/<a class="el" href="segment__concept_8hpp.html">segment_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/<a class="el" href="check__append_8hpp.html">check_append.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/detail/<a class="el" href="check__clear_8hpp.html">check_clear.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/geometries/register/<a class="el" href="ring_8hpp.html">ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/geometries/register/<a class="el" href="register_2segment_8hpp.html">segment.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/iterators/<a class="el" href="base_8hpp.html">base.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/iterators/<a class="el" href="iterators_2range__type_8hpp.html">range_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/<a class="el" href="multi_2geometries_2concepts_2check_8hpp.html">check.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/<a class="el" href="multi__linestring__concept_8hpp.html">multi_linestring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/<a class="el" href="multi__point__concept_8hpp.html">multi_point_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/<a class="el" href="multi__polygon__concept_8hpp.html">multi_polygon_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/multi/iterators/<a class="el" href="multi_2iterators_2range__type_8hpp.html">range_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/policies/<a class="el" href="policies_2compare_8hpp.html">compare.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/policies/relate/<a class="el" href="direction_8hpp.html">direction.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/policies/relate/<a class="el" href="tupled_8hpp.html">tupled.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2area_8hpp.html">area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="area__result_8hpp.html">area_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2centroid_8hpp.html">centroid.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2compare_8hpp.html">compare.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2convex__hull_8hpp.html">convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="length__result_8hpp.html">length_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="parse_8hpp.html">parse.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="point__in__poly_8hpp.html">point_in_poly.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="side_8hpp.html">side.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_8hpp.html">strategies.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2tags_8hpp.html">tags.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/<a class="el" href="strategies_2transform_8hpp.html">transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/<a class="el" href="hull__graham__andrew_8hpp.html">hull_graham_andrew.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/<a class="el" href="point__in__poly__winding_8hpp.html">point_in_poly_winding.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/<a class="el" href="simplify__douglas__peucker_8hpp.html">simplify_douglas_peucker.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="area__by__triangles_8hpp.html">area_by_triangles.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="centroid__bashein__detmer_8hpp.html">centroid_bashein_detmer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="distance__projected__point_8hpp.html">distance_projected_point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="distance__pythagoras_8hpp.html">distance_pythagoras.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="point__in__poly__crossings__multiply_8hpp.html">point_in_poly_crossings_multiply.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="point__in__poly__franklin_8hpp.html">point_in_poly_franklin.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/<a class="el" href="side__by__triangle_8hpp.html">side_by_triangle.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="area__concept_8hpp.html">area_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="centroid__concept_8hpp.html">centroid_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="convex__hull__concept_8hpp.html">convex_hull_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="distance__concept_8hpp.html">distance_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="simplify__concept_8hpp.html">simplify_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/<a class="el" href="within__concept_8hpp.html">within_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/<a class="el" href="area__huiller_8hpp.html">area_huiller.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/<a class="el" href="compare__circular_8hpp.html">compare_circular.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/<a class="el" href="distance__cross__track_8hpp.html">distance_cross_track.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/strategies/spherical/<a class="el" href="distance__haversine_8hpp.html">distance_haversine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="add__const__if__c_8hpp.html">add_const_if_c.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="copy_8hpp.html">copy.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="for__each__range_8hpp.html">for_each_range.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="math_8hpp.html">math.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="range__iterator__const__if__c_8hpp.html">range_iterator_const_if_c.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/ggl/util/<a class="el" href="select__calculation__type_8hpp.html">select_calculation_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/boost/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">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__a__design__rationale_8hpp.html">doxygen_a_design_rationale.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__c__strategy__rationale_8hpp.html">doxygen_c_strategy_rationale.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__examples_8hpp.html">doxygen_examples.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__mainpage_8hpp.html">doxygen_mainpage.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__pages_8hpp.html">doxygen_pages.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">c:/svn/ggl/formal_review/libs/ggl/doc/doxygen_input/pages/<a class="el" href="doxygen__z__article09_8hpp.html">doxygen_z_article09.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/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="classggl_1_1concept_1_1_point.html" title="Point concept.">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/for_each_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>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 Actor &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#a609a2b887fc937c5c16ead5058a3bcc">ggl::for_each_range</a> (Geometry const &amp;geometry, Actor &amp;actor)</td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/for__each__range_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/for_each_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_FOR_EACH_RANGE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_FOR_EACH_RANGE_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
+<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_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="add__const__if__c_8hpp.html">ggl/util/add_const_if_c.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
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Actor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00031"></a>00031 <span class="keyword">struct </span>fe_range_range
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00034"></a>00034 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Range&gt;::type&amp; range,
+<a name="l00035"></a>00035 Actor&amp; actor)
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 actor.apply(range);
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Actor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span>fe_range_polygon
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00046"></a>00046 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, Polygon&gt;::type&amp; polygon,
+<a name="l00047"></a>00047 Actor&amp; actor)
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 actor.apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon));
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="comment">// TODO: If some flag says true, also do the inner rings.</span>
+<a name="l00052"></a>00052 <span class="comment">// for convex hull, it's not necessary</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="comment">// namespace detail::for_each</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="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>dispatch
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span>
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 <span class="keyword">typename</span> Tag,
+<a name="l00069"></a>00069 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00070"></a>00070 <span class="keyword">typename</span> Geometry,
+<a name="l00071"></a>00071 <span class="keyword">typename</span> Actor,
+<a name="l00072"></a>00072 <span class="keywordtype">bool</span> IsConst
+<a name="l00073"></a>00073 &gt;
+<a name="l00074"></a>00074 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a> {};
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Actor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a>&lt;linestring_tag, false, Linestring, Actor, IsConst&gt;
+<a name="l00079"></a>00079 : detail::for_each::fe_range_range&lt;Linestring, Actor, IsConst&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> Ring, <span class="keyword">typename</span> Actor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a>&lt;ring_tag, false, Ring, Actor, IsConst&gt;
+<a name="l00085"></a>00085 : detail::for_each::fe_range_range&lt;Ring, Actor, IsConst&gt;
+<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> Polygon, <span class="keyword">typename</span> Actor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a>&lt;polygon_tag, false, Polygon, Actor, IsConst&gt;
+<a name="l00091"></a>00091 : detail::for_each::fe_range_polygon&lt;Polygon, Actor, IsConst&gt;
+<a name="l00092"></a>00092 {};
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 } <span class="comment">// namespace dispatch</span>
+<a name="l00096"></a>00096 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Actor&gt;
+<a name="l00100"></a><a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">00100</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a>(Geometry <span class="keyword">const</span>&amp; geometry, Actor&amp; actor)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">dispatch::for_each_range</a>
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 <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="l00105"></a>00105 <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="l00106"></a>00106 Geometry,
+<a name="l00107"></a>00107 Actor,
+<a name="l00108"></a>00108 <span class="keyword">true</span>
+<a name="l00109"></a>00109 &gt;::apply(geometry, actor);
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 } <span class="comment">// namespace ggl</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="preprocessor">#endif // GGL_UTIL_FOR_EACH_RANGE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>apply()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#c4177ae29e56e68dd5ab9cbfd729cd11">ggl::strategy::intersection::liang_barsky&lt; Box, Point &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d6b0e071855188b9869dadc94507df12">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">ggl::strategy::side::side_by_triangle</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc6f8d7bab7a9f9a26212c44dc660038">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#6d81e410d42166f77b90dbd6f697e91f">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#f088a5f3f1237c8cfb7ff719c7c546ba">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li>area()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x62.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x62.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon&lt; P, V, A &gt;</a>
+, <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="classggl_1_1strategy_1_1distance_1_1cross__track.html#029ee4f05257f06b27f43ef65612365f">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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#33c77af2d104a1faec5e98603d5ded17">ggl::box&lt; Point &gt;</a>
+<li>box_type
+: <a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">ggl::sections&lt; Box, DimensionCount &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x63.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x63.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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#e67b090ee00c9b04117d782331317fdc">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+<li>cartesian_distance()
+: <a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">ggl::cartesian_distance&lt; 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#45859e712d67f58e5813e87759892bdf">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+<li>clip_segment()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#50588b777d1eac2d6b1e6363b002c423">ggl::strategy::intersection::liang_barsky&lt; Box, Point &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__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>
+<li>collinear_disjoint()
+: <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>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction&lt; S1, S2 &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__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__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__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &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>
+<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_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">ggl::policies::relate::segments_direction&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__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d931f763a1d00938a0214d82c2073554">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &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="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point&lt; T, D, C &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="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_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_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_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">ggl::strategy::transform::translate_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#9e9ba88969a37c5754ca1c3e78cbc369">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &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>
+<li>cross_track()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#9d109c60d8908e73347339b91a599362">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+<li>crosses()
+: <a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">ggl::de9im</a>
+<li>ct
+: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">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#951814d986884cb4de41d5ac69f49935">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#1f78be251f94d7559e60516ff5fe6774">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x64.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x64.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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__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__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction&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>
+<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_over_unit_sphere
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>
+<li>distance_strategy_type
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x65.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x65.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>
+<li>excess_sum()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x66.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x66.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>
+<li>first_point_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+<li>full()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">ggl::strategy::compare::detail::shift&lt; radian &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x67.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x67.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>geometry_type
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+<li>get()
+: <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">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_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x68.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x68.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>half()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">ggl::strategy::compare::detail::shift&lt; radian &gt;</a>
+<li>haversine()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">ggl::strategy::distance::haversine&lt; Point1, Point2 &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>
+<li>huiller()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x69.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x69.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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#745719d755446c294264911892d97182">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+<li>inners()
+: <a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6d.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6d.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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">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>
+ </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_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>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_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">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#26c463b304ea38f14d55fcadd4d439a8">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &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#dc5baf1c27a841e04907d274fd9b6c39">ggl::box&lt; Point &gt;</a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">ggl::box&lt; Point &gt;</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_1section.html#0403b41208359f079cf29876de56d182">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">ggl::segment_identifier</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6e.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6e.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ggl::point_order&lt; Geometry &gt;</a>
+<li>non_duplicate_index
+: <a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6f.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x6f.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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_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_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="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &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_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_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &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_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance&lt; T &gt;</a>
+<li>operator&lt;&lt;
+: <a class="el" href="structggl_1_1cartesian__distance.html#01473d5ead508079201fa75545622ef5">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator&lt; G &gt;</a>
+<li>operator==()
+: <a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">ggl::segment_identifier</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_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>
+<li>outer()
+: <a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x70.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x70.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>parallel
+: <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__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_strategy_type
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#4fee10baca3b2e18e9fedaaa3539a8bb">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+<li>point_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#47ffd27e3db9f743285edbe61e806c69">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator&lt; Base, Point &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#7e4991ac16609bd7a55f8ab07b8fa84f">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d91eb30ec4c2012f1cedffec4fc09f8a">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#1a7d7a75398ca46a5de9d5d7e05b1088">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li>point_type1
+: <a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a>
+<li>point_type2
+: <a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">ggl::distance_result&lt; Geometry1, Geometry2 &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>
+<li>put_in_range()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x72.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x72.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>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>
+<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>reference
+: <a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>result()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d303984e62fedbbd91ba93ca16ad9225">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li>return_type
+: <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="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &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_1xy__point__segment.html#0dc84b5bc571f9fae7191d81e6c136d3">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &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_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+<li>ring_index
+: <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>ring_type
+: <a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x73.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x73.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>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="classggl_1_1segment.html#543b3806df8d74067157587323917a71">ggl::segment&lt; ConstOrNonConstPoint &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>second_point_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">ggl::strategy::distance::haversine&lt; Point1, Point2 &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="classggl_1_1segment.html#186525605856fad4270057e760d6c020">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>
+<li>segment_equal()
+: <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_point_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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__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__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__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction&lt; S1, S2 &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_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+, <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point&lt; T, D, C &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_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+<li>strategy_type
+: <a class="el" href="structggl_1_1distance__result.html#ae0bb0ccd007862dc7ae0e81e95d9e52">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">ggl::area_result&lt; Geometry &gt;</a>
+<li>sum
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x74.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x74.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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_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>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_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">ggl::add_const_if_c&lt; IsConst, Type &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html#dd675bc88ac5740d6c9f43031723595d">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html#3515926c242d21611cb08cbefa51ecf2">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;</a>
+, <a class="el" href="structggl_1_1strategy__transform.html#78fbee09e5f72af93b026bc767cc51a9">ggl::strategy_transform&lt; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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__side.html#ca35bb0c9871d4a0af3e8b48297b069f">ggl::strategy_side&lt; Tag &gt;</a>
+, <a class="el" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1strategy__parse.html#b4de98483bf66e76b42b9855977b1f7f">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a>
+, <a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">ggl::length_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">ggl::distance_result&lt; Geometry1, Geometry2 &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__convex__hull.html#ea1634c6de9b2262e12bb89d04d87ef0">ggl::strategy_convex_hull&lt; Tag, Geometry, Point &gt;</a>
+, <a class="el" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">ggl::strategy_compare&lt; Tag, Direction, Point, CoordinateSystem, Dimension &gt;</a>
+, <a class="el" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">ggl::strategy_area&lt; Tag, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">ggl::range_type&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#fed3b58e7a493248198d0ed23f7b6b0f">ggl::ring_type&lt; Geometry &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#fe590fce4d5604d64a318733439e3036">ggl::interior_type&lt; Geometry &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__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &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_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>
+, <a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x75.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x75.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x76.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x76.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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#53e09180303edd2ec2735f749db2305d">ggl::traits::use_std&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">ggl::traits::point_order&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">ggl::point_order&lt; Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x77.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x77.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x78.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x78.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x79.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_0x79.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>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>
+ </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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_func.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_func.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>apply()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#c4177ae29e56e68dd5ab9cbfd729cd11">ggl::strategy::intersection::liang_barsky&lt; Box, Point &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cc17222e2bcfa3ac8b812fa9a68467a8">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#df7852cdc9e0b59c9794a3a261425775">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d6b0e071855188b9869dadc94507df12">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">ggl::strategy::side::side_by_triangle</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc6f8d7bab7a9f9a26212c44dc660038">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#6d81e410d42166f77b90dbd6f697e91f">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#f088a5f3f1237c8cfb7ff719c7c546ba">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li>area()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>
+<li>as_char()
+: <a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">ggl::de9im</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>base()
+: <a class="el" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">ggl::segment_iterator&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="classggl_1_1strategy_1_1distance_1_1cross__track.html#029ee4f05257f06b27f43ef65612365f">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point&lt; P, V, A &gt;</a>
+<li>box()
+: <a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">ggl::box&lt; Point &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>centroid_exception()
+: <a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">ggl::centroid_exception</a>
+<li>circular_iterator()
+: <a class="el" href="structggl_1_1circular__iterator.html#1ebd24f5827f4019967ab05c5aee4e0b">ggl::circular_iterator&lt; Iterator &gt;</a>
+<li>clear()
+: <a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+<li>clip_segment()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#50588b777d1eac2d6b1e6363b002c423">ggl::strategy::intersection::liang_barsky&lt; Box, Point &gt;</a>
+<li>collinear_a_in_b()
+: <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>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">ggl::policies::relate::segments_direction&lt; S1, S2 &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>
+<li>collinear_disjoint()
+: <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__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &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>
+<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>
+<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__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &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>
+<li>contains()
+: <a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">ggl::de9im</a>
+<li>cross_track()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#9d109c60d8908e73347339b91a599362">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</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__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction&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>
+<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>
+</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#960589b4dc59be2341a536efa1e01294">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+<li>excess_sum()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>full()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">ggl::strategy::compare::detail::shift&lt; radian &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_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+, <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">ggl::point&lt; T, D, C &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>half()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">ggl::strategy::compare::detail::shift&lt; radian &gt;</a>
+<li>haversine()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#03a6614e4565a2f091637681a994c8a2">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+<li>huiller()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>inners()
+: <a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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_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#63a9905a364d6b5bef828cc04b9970f7">ggl::box&lt; Point &gt;</a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">ggl::box&lt; Point &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_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_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="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="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &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__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_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_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &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#2f1e23e907229c052a65e8b9b6be6ef0">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_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance&lt; T &gt;</a>
+<li>operator==()
+: <a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">ggl::segment_identifier</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#41e0bbcd9d466a41d8eecd6041f3c22c">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">ggl::policies::relate::segments_direction&lt; S1, S2 &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>
+, <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_xy()
+: <a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">ggl::point_xy&lt; T, C &gt;</a>
+<li>put_in_range()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>rays_intersect()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__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>
+<li>result()
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d303984e62fedbbd91ba93ca16ad9225">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#d8b6fb25735eb9f617b6fc5377f828bd">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#050f2baca993260ec351230338c10b5a">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &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="classggl_1_1segment.html#186525605856fad4270057e760d6c020">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>
+<li>segment_equal()
+: <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_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="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+, <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point&lt; T, D, C &gt;</a>
+<li>squared_value()
+: <a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">ggl::cartesian_distance&lt; T &gt;</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>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_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">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#84a76b9962a5f194a83f42a656b6ba3b">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &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>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_rela.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_rela.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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#01473d5ead508079201fa75545622ef5">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator&lt; G &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>f</li>
+ <li>g</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#e67b090ee00c9b04117d782331317fdc">ggl::strategy::distance::pythagoras&lt; Point1, Point2, 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="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_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_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="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_1distance_1_1xy__point__segment.html#d931f763a1d00938a0214d82c2073554">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &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="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point&lt; T, D, C &gt;</a>
+<li>ct
+: <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>
+, <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>
+</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="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>first_point_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#68f55117d278c0bd7d2724a5663e81c2">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>geometry_type
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &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#745719d755446c294264911892d97182">ggl::polygon&lt; Point, PointList, RingList, ClockWise, 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__type.html#6e4f57cc434784e7155016375d202b45">ggl::point_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ggl::point_order&lt; Geometry &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>point_strategy_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#4fee10baca3b2e18e9fedaaa3539a8bb">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#ee860bb20c67ab9ccde312f9bc4bbc74">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+<li>point_type
+: <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator&lt; Base, Point &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#1a7d7a75398ca46a5de9d5d7e05b1088">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#7e4991ac16609bd7a55f8ab07b8fa84f">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#47ffd27e3db9f743285edbe61e806c69">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d91eb30ec4c2012f1cedffec4fc09f8a">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+<li>point_type1
+: <a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a>
+<li>point_type2
+: <a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">ggl::distance_result&lt; Geometry1, Geometry2 &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>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__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#5cb40cefbe440772773298ae8e93c8c1">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e55265a025b56813ac29ad3cb040fc7a">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#0dc84b5bc571f9fae7191d81e6c136d3">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">ggl::strategy::area::huiller&lt; PointOfSegment, 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>
+<li>ring_type
+: <a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ggl::polygon&lt; Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>second_point_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#98dc5f8fccee222843c20eb8589a0d9f">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+<li>segment_point_type
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#8c0b42b911228d04957dbf23cc39ee13">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#5ea7f36a449e7d6971004b709507d947">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &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__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__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__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+<li>state_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html#e176de39cf62f931a0c7f52fedef1119">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li>strategy_type
+: <a class="el" href="structggl_1_1distance__result.html#ae0bb0ccd007862dc7ae0e81e95d9e52">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a>
+, <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_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_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>
+, <a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a>
+, <a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">ggl::add_const_if_c&lt; IsConst, Type &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html#dd675bc88ac5740d6c9f43031723595d">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html#3515926c242d21611cb08cbefa51ecf2">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;</a>
+, <a class="el" href="structggl_1_1strategy__transform.html#78fbee09e5f72af93b026bc767cc51a9">ggl::strategy_transform&lt; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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__side.html#ca35bb0c9871d4a0af3e8b48297b069f">ggl::strategy_side&lt; Tag &gt;</a>
+, <a class="el" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1strategy__parse.html#b4de98483bf66e76b42b9855977b1f7f">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a>
+, <a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">ggl::length_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">ggl::distance_result&lt; Geometry1, Geometry2 &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__convex__hull.html#ea1634c6de9b2262e12bb89d04d87ef0">ggl::strategy_convex_hull&lt; Tag, Geometry, Point &gt;</a>
+, <a class="el" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">ggl::strategy_compare&lt; Tag, Direction, Point, CoordinateSystem, Dimension &gt;</a>
+, <a class="el" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">ggl::strategy_area&lt; Tag, PointOfSegment &gt;</a>
+, <a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">ggl::range_type&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#fed3b58e7a493248198d0ed23f7b6b0f">ggl::ring_type&lt; Geometry &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#fe590fce4d5604d64a318733439e3036">ggl::interior_type&lt; Geometry &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__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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_vars.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/functions_vars.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">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>distance_over_unit_sphere
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</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="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<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_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>multi_index
+: <a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">ggl::segment_identifier</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="classggl_1_1segment.html#543b3806df8d74067157587323917a71">ggl::segment&lt; ConstOrNonConstPoint &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>
+<li>sum
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</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#53e09180303edd2ec2735f749db2305d">ggl::traits::use_std&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">ggl::point_order&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">ggl::traits::point_order&lt; G &gt;</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/check.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>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>
+
+<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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept::check</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
+<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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">ggl::concept::check_concepts_and_equal_dimensions</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of two geometries, and if they have equal dimensions. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_2concepts_2check_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/check.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00061"></a>00061 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="preprocessor">#include &lt;boost/type_traits/is_const.hpp&gt;</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="preprocessor">#include &lt;<a class="code" href="box__concept_8hpp.html">ggl/geometries/concepts/box_concept.hpp</a>&gt;</span>
+<a name="l00068"></a>00068 <span class="preprocessor">#include &lt;<a class="code" href="linestring__concept_8hpp.html">ggl/geometries/concepts/linestring_concept.hpp</a>&gt;</span>
+<a name="l00069"></a>00069 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00070"></a>00070 <span class="preprocessor">#include &lt;<a class="code" href="polygon__concept_8hpp.html">ggl/geometries/concepts/polygon_concept.hpp</a>&gt;</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#include &lt;<a class="code" href="ring__concept_8hpp.html">ggl/geometries/concepts/ring_concept.hpp</a>&gt;</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">namespace </span>ggl {
+<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>concept_check {
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Concept&gt;
+<a name="l00081"></a>00081 <span class="keyword">class </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 BOOST_CONCEPT_ASSERT((Concept ));
+<a name="l00084"></a>00084 };
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 }} <span class="comment">// namespace detail::check</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
+<a name="l00091"></a>00091 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<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> Geometry&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;point_tag, Geometry, true&gt;
+<a name="l00102"></a>00102 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstPoint&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00107"></a>00107 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;point_tag, Geometry, false&gt;
+<a name="l00108"></a>00108 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::Point&lt;Geometry&gt; &gt;
+<a name="l00109"></a>00109 {};
+<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> Geometry&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;linestring_tag, Geometry, true&gt;
+<a name="l00114"></a>00114 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstLinestring&lt;Geometry&gt; &gt;
+<a name="l00115"></a>00115 {};
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00119"></a>00119 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;linestring_tag, Geometry, false&gt;
+<a name="l00120"></a>00120 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::Linestring&lt;Geometry&gt; &gt;
+<a name="l00121"></a>00121 {};
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00125"></a>00125 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;polygon_tag, Geometry, true&gt;
+<a name="l00126"></a>00126 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstPolygon&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;polygon_tag, Geometry, false&gt;
+<a name="l00132"></a>00132 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::Polygon&lt;Geometry&gt; &gt;
+<a name="l00133"></a>00133 {};
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00137"></a>00137 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;box_tag, Geometry, true&gt;
+<a name="l00138"></a>00138 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstBox&lt;Geometry&gt; &gt;
+<a name="l00139"></a>00139 {};
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;box_tag, Geometry, false&gt;
+<a name="l00144"></a>00144 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::Box&lt;Geometry&gt; &gt;
+<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="comment">// namespace dispatch</span>
+<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 <span class="keyword">namespace </span>concept {
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00163"></a>00163 <span class="keyword">struct </span>checker : dispatch::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<a name="l00164"></a>00164 &lt;
+<a name="l00165"></a>00165 typename tag&lt;Geometry&gt;::type,
+<a name="l00166"></a>00166 Geometry,
+<a name="l00167"></a>00167 IsConst
+<a name="l00168"></a>00168 &gt;
+<a name="l00169"></a>00169 {};
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 }
+<a name="l00173"></a>00173 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span>
+<a name="l00175"></a>00175
+<a name="l00180"></a>00180 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00181"></a><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">00181</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183 detail::checker&lt;Geometry, boost::is_const&lt;Geometry&gt;::type::value&gt; c;
+<a name="l00184"></a>00184 boost::ignore_unused_variable_warning(c);
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187
+<a name="l00193"></a>00193 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00194"></a><a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">00194</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470" title="Checks, in compile-time, the concept of two geometries, and if they have equal dimensions...">check_concepts_and_equal_dimensions</a>()
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 check&lt;Geometry1&gt;();
+<a name="l00197"></a>00197 check&lt;Geometry2&gt;();
+<a name="l00198"></a>00198 assert_dimension_equal&lt;Geometry1, Geometry2&gt;();
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 } <span class="comment">// namespace concept</span>
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 } <span class="comment">// namespace ggl</span>
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="c__array_8hpp.html">ggl/geometries/adapted/c_array.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="tuple_8hpp.html">ggl/geometries/adapted/tuple.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="point_8hpp.html">ggl/geometries/point.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="linestring_8hpp.html">ggl/geometries/linestring.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="polygon_8hpp.html">ggl/geometries/polygon.hpp</a>&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="preprocessor">#endif // GGL_GEOMETRIES_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>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="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">inverse_transformer.hpp</a>
+, <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
+<li>GEOMETRY_REGISTER_BOX
+: <a class="el" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">box.hpp</a>
+<li>GEOMETRY_REGISTER_BOX_2D_4VALUES
+: <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>GEOMETRY_REGISTER_SEGMENT
+: <a class="el" href="register_2segment_8hpp.html#3bd9e3c96fd164678ea079e4fc9594c2">segment.hpp</a>
+<li>GEOMETRY_REGISTER_SEGMENT_2D_4VALUES
+: <a class="el" href="register_2segment_8hpp.html#be3b18dcfa8fd367ad2a30012ba594fe">segment.hpp</a>
+<li>GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED
+: <a class="el" href="register_2segment_8hpp.html#b34820b69342317345b4b228d927175d">segment.hpp</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals_defs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/globals_defs.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>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="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">inverse_transformer.hpp</a>
+, <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
+<li>GEOMETRY_REGISTER_BOX
+: <a class="el" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">box.hpp</a>
+<li>GEOMETRY_REGISTER_BOX_2D_4VALUES
+: <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>GEOMETRY_REGISTER_SEGMENT
+: <a class="el" href="register_2segment_8hpp.html#3bd9e3c96fd164678ea079e4fc9594c2">segment.hpp</a>
+<li>GEOMETRY_REGISTER_SEGMENT_2D_4VALUES
+: <a class="el" href="register_2segment_8hpp.html#be3b18dcfa8fd367ad2a30012ba594fe">segment.hpp</a>
+<li>GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED
+: <a class="el" href="register_2segment_8hpp.html#b34820b69342317345b4b228d927175d">segment.hpp</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__access.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,1202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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 Geometry , 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#ge6ff0cb391fb5a3c3a312defe15b4909">ggl::append</a> (Geometry &amp;geometry, RoP const &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>, 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 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="group__access.html#g01c6d019dc45f5ce8879dd80f782164a">ggl::assign</a> (Geometry &amp;geometry, Range 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 Geometry , typename Type &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#g20da5a3c93b6acef4960d64403058684">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type const &amp;c3, Type const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Type &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#g0cad7f19a3953827f4e0103a4d8c5de7">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type 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 Geometry , typename Type &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#g8048129c97cd540dc75d9040d8d95c0e">ggl::assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type 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 Box , 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__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">ggl::assign_box_corners</a> (Box const &amp;box, Point &amp;lower_left, Point &amp;lower_right, Point &amp;upper_left, Point &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 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__access.html#g490821bd25a63cc584be1319375794f0">ggl::assign_inverse</a> (Geometry &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;std::size_t Index, typename Point , 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__access.html#ge488e5481766be6f054c615743e7cc8e">ggl::assign_point_from_index</a> (Geometry const &amp;geometry, Point &amp;point)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Index, typename Geometry , 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__access.html#gfebbca0a1f8d9668e0622efa07f731f4">ggl::assign_point_to_index</a> (Point const &amp;point, Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;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__access.html#g3b95c5faaa108785681e58099b48dc35">ggl::assign_zero</a> (Geometry &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 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__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl::clear</a> (Geometry &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const ring_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">ggl::exterior_ring</a> (Polygon const &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ring_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b">ggl::exterior_ring</a> (Polygon &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 Dimension, typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gce53c5555841f90ccf60767c26e20499">ggl::get</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>get coordinate value of a Point ( / Sphere) </li></ul>
+ <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Dimension, typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">ggl::get_as_radian</a> (const Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get 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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const interior_type&lt; Polygon &gt;<br class="typebreak">
+::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge9208940558274328792addd99f32ef8">ggl::interior_rings</a> (Polygon const &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">interior_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f">ggl::interior_rings</a> (Polygon &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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga43be6c1b57d34c59ceb740ac75abc76">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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g75bdbf2d950a0f5612e4bfcfa2bf4179">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 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#gb13419230cdc76a88bf2afb902776305">ggl::num_interior_rings</a> (Geometry const &amp;geometry)</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 Dimension, 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__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">ggl::set</a> (Geometry &amp;geometry, typename coordinate_type&lt; Geometry &gt;::type const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>set coordinate value of a Point ( / Sphere) </li></ul>
+ <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Dimension, 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__access.html#g1501c74dcded8b0bc6c43156a371094e">ggl::set_from_radian</a> (Geometry &amp;geometry, const typename coordinate_type&lt; Geometry &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set coordinate value (in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>
+<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="gce53c5555841f90ccf60767c26e20499"></a><!-- doxytag: member="ggl::get" ref="gce53c5555841f90ccf60767c26e20499" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Dimension, typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt; Geometry &gt;::type ggl::get </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>
+<ul>
+<li>get coordinate value of a Point ( / Sphere) </li></ul>
+
+<p>
+<ul>
+<li>get coordinate value of a Box / Segment</li></ul>
+<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>Index</em>&nbsp;</td><td>index<ul>
+<li>for Point: don't specify</li><li>for Box: min_corner or max_corner</li><li>for Segment: 0 / 1 </li></ul>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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>Geometry</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>
+<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="access_8hpp_source.html#l00263">263</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gca27eb28ef9bc6c55932dcf3a5266da3"></a><!-- doxytag: member="ggl::set" ref="gca27eb28ef9bc6c55932dcf3a5266da3" args="(Geometry &amp;geometry, typename coordinate_type&lt; Geometry &gt;::type const &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Dimension, typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename coordinate_type&lt; Geometry &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></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<ul>
+<li>set coordinate value of a Point ( / Sphere) </li></ul>
+
+<p>
+<ul>
+<li>set coordinate value of a Box / Segment</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>Index</em>&nbsp;</td><td>index<ul>
+<li>for Point: don't specify</li><li>for Box: min_corner or max_corner</li><li>for Segment: 0 / 1 </li></ul>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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>Geometry</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>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00299">299</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g4dd59c8603683e869f1d74bd40045b8b"></a><!-- doxytag: member="ggl::exterior_ring" ref="g4dd59c8603683e869f1d74bd40045b8b" args="(Polygon &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Polygon &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">ring_type&lt;Polygon&gt;::type&amp; ggl::exterior_ring </td>
+ <td>(</td>
+ <td class="paramtype">Polygon &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#l00093">93</a> of file <a class="el" href="exterior__ring_8hpp_source.html">exterior_ring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g2fa58b6bb8b81000b8d14780092046e7"></a><!-- doxytag: member="ggl::exterior_ring" ref="g2fa58b6bb8b81000b8d14780092046e7" args="(Polygon const &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Polygon &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const ring_type&lt;Polygon&gt;::type&amp; ggl::exterior_ring </td>
+ <td>(</td>
+ <td class="paramtype">Polygon const &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>Polygon</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#l00113">113</a> of file <a class="el" href="exterior__ring_8hpp_source.html">exterior_ring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gaee58ea9a166a2ca07597daf34433d7f"></a><!-- doxytag: member="ggl::interior_rings" ref="gaee58ea9a166a2ca07597daf34433d7f" args="(Polygon &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Polygon &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">interior_type&lt;Polygon&gt;::type&amp; ggl::interior_rings </td>
+ <td>(</td>
+ <td class="paramtype">Polygon &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#l00177">177</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge9208940558274328792addd99f32ef8"></a><!-- doxytag: member="ggl::interior_rings" ref="ge9208940558274328792addd99f32ef8" args="(Polygon const &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Polygon &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const interior_type&lt;Polygon&gt;::type&amp; ggl::interior_rings </td>
+ <td>(</td>
+ <td class="paramtype">Polygon const &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#l00197">197</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gb13419230cdc76a88bf2afb902776305"></a><!-- doxytag: member="ggl::num_interior_rings" ref="gb13419230cdc76a88bf2afb902776305" 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_interior_rings </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>
+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 <p>
+Can be used for any geometry, returning 0 for geometries not having interior rings </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>the <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> or other geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of interior rings of the geometry </dd></dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00222">222</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9846948061bd42e390021d2d3e1ce701"></a><!-- doxytag: member="ggl::get_as_radian" ref="g9846948061bd42e390021d2d3e1ce701" args="(const Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Dimension, typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt;Geometry&gt;::type ggl::get_as_radian </td>
+ <td>(</td>
+ <td class="paramtype">const Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+get 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>
+Result is in Radian, even if source coordinate system is in Degrees <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>Dimension</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>Geometry</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>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Only applicable to coordinate systems templatized by units, e.g. spherical or geographic coordinate systems </dd></dl>
+
+<p>Definition at line <a class="el" href="radian__access_8hpp_source.html#l00102">102</a> of file <a class="el" href="radian__access_8hpp_source.html">radian_access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g1501c74dcded8b0bc6c43156a371094e"></a><!-- doxytag: member="ggl::set_from_radian" ref="g1501c74dcded8b0bc6c43156a371094e" args="(Geometry &amp;geometry, const typename coordinate_type&lt; Geometry &gt;::type &amp;radians)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Dimension, typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set_from_radian </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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; Geometry &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>
+set coordinate value (in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>
+Coordinate value will be set correctly, 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 Degree, Radian value will be converted to Degree<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>Dimension</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>Geometry</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>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Only applicable to coordinate systems templatized by units, e.g. spherical or geographic coordinate systems </dd></dl>
+
+<p>Definition at line <a class="el" href="radian__access_8hpp_source.html#l00122">122</a> of file <a class="el" href="radian__access_8hpp_source.html">radian_access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge6ff0cb391fb5a3c3a312defe15b4909"></a><!-- doxytag: member="ggl::append" ref="ge6ff0cb391fb5a3c3a312defe15b4909" args="(Geometry &amp;geometry, RoP const &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 Geometry , typename RoP &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::append </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">RoP const &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>, 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#a3">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#l00170">170</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8048129c97cd540dc75d9040d8d95c0e"></a><!-- doxytag: member="ggl::assign" ref="g8048129c97cd540dc75d9040d8d95c0e" args="(Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Type &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type 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#a2">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#a1">03_polygon_example.cpp</a>, <a class="el" href="06__transformation__example_8cpp-example.html#a5">06_transformation_example.cpp</a>, <a class="el" href="c01__custom__point__example_8cpp-example.html#a6">c01_custom_point_example.cpp</a>, and <a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#a1">x02_numeric_adaptor_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00354">354</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g0cad7f19a3953827f4e0103a4d8c5de7"></a><!-- doxytag: member="ggl::assign" ref="g0cad7f19a3953827f4e0103a4d8c5de7" args="(Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type const &amp;c3)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Type &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type 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#l00371">371</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g20da5a3c93b6acef4960d64403058684"></a><!-- doxytag: member="ggl::assign" ref="g20da5a3c93b6acef4960d64403058684" args="(Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type const &amp;c3, Type const &amp;c4)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Type &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Type 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 [for extension]
+<p>
+
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00389">389</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g01c6d019dc45f5ce8879dd80f782164a"></a><!-- doxytag: member="ggl::assign" ref="g01c6d019dc45f5ce8879dd80f782164a" args="(Geometry &amp;geometry, Range const &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Range &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Range 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#l00409">409</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g490821bd25a63cc584be1319375794f0"></a><!-- doxytag: member="ggl::assign_inverse" ref="g490821bd25a63cc584be1319375794f0" args="(Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_inverse </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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#a10">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00426">426</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g3b95c5faaa108785681e58099b48dc35"></a><!-- doxytag: member="ggl::assign_zero" ref="g3b95c5faaa108785681e58099b48dc35" args="(Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_zero </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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>Geometry</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#a1">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00444">444</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9ddc8c5f7803a48d3ce186f89072c9ed"></a><!-- doxytag: member="ggl::assign_box_corners" ref="g9ddc8c5f7803a48d3ce186f89072c9ed" args="(Box const &amp;box, Point &amp;lower_left, Point &amp;lower_right, Point &amp;upper_left, Point &amp;upper_right)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_box_corners </td>
+ <td>(</td>
+ <td class="paramtype">Box const &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>lower_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>lower_right</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>upper_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point &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 is crucial. Most logical is LOWER, UPPER and sub-order LEFT, RIGHT so this is how it is implemented. </dd></dl>
+
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00463">463</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gfebbca0a1f8d9668e0622efa07f731f4"></a><!-- doxytag: member="ggl::assign_point_to_index" ref="gfebbca0a1f8d9668e0622efa07f731f4" args="(Point const &amp;point, Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Index, typename Geometry , typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_point_to_index </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry &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>
+Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Index</em>&nbsp;</td><td>indicates which box-corner, min_corner (0) or max_corner (1) or which <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (0/1) </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00489">489</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge488e5481766be6f054c615743e7cc8e"></a><!-- doxytag: member="ggl::assign_point_from_index" ref="ge488e5481766be6f054c615743e7cc8e" args="(Geometry const &amp;geometry, Point &amp;point)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t Index, typename Point , typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_point_from_index </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">Point &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 a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class 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>Index</em>&nbsp;</td><td>indicates which box-corner, min_corner (0) or max_corner (1) or which <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (0/1) </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00508">508</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g6834d3a54e36ad3c0b56065aaaf27771"></a><!-- doxytag: member="ggl::clear" ref="g6834d3a54e36ad3c0b56065aaaf27771" args="(Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::clear </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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#l00124">124</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g7f6040cfd490d2d831d2011a7b40eee7"></a><!-- doxytag: member="ggl::make" ref="g7f6040cfd490d2d831d2011a7b40eee7" args="(T const &amp;c1, T const &amp;c2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry 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 class="note" compact><dt><b>Note:</b></dt><dd>It does not work with array-point types, like int[2] </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>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#l00031">31</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ga43be6c1b57d34c59ceb740ac75abc76"></a><!-- doxytag: member="ggl::make" ref="ga43be6c1b57d34c59ceb740ac75abc76" 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 Geometry , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry 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> </dd></dl>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00051">51</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gf2b35e1cd13accb0a425b330922956cf"></a><!-- doxytag: member="ggl::make_inverse" ref="gf2b35e1cd13accb0a425b330922956cf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry 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>Geometry</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#l00102">102</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g75bdbf2d950a0f5612e4bfcfa2bf4179"></a><!-- doxytag: member="ggl::make_zero" ref="g75bdbf2d950a0f5612e4bfcfa2bf4179" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry 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>Geometry</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#l00123">123</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 functor, to sort points in ascending order.">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#a8">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2num__points_8hpp_source.html#l00129">129</a> of file <a class="el" href="algorithms_2num__points_8hpp_source.html">num_points.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__area.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate area of a geometry</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_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of area function. 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_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; Tag, PointOfSegment &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 specified <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;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">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 (http://trac.osgeo.org/ggl/wiki/Performance#Area1)</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, polygon, multi_polygon. The units are the square of the units used for the points defining the surface. If the polygon is defined in meters, the area is in square meters.</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing area calculation of polygons built <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&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#gaffb471f2ef6dd4842563e533094fa0d" 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">// Other coordinate system, spherical or geographic (extension)</span>
+ <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&lt;float, 2, ggl::cs::spherical&lt;ggl::degree&gt;</a> &gt; &gt; sph_poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 45,45 0,0 0))"</span>, sph_poly);
+ std::cout &lt;&lt; <span class="stringliteral">"Area is "</span>
+ &lt;&lt; <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(sph_poly)
+ &lt;&lt; <span class="stringliteral">" on unit sphere "</span> &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gaffb471f2ef6dd4842563e533094fa0d"></a><!-- doxytag: member="ggl::area" ref="gaffb471f2ef6dd4842563e533094fa0d" 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;::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> using the default area-calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. Strategies are provided for cartesian and spherical coordinate systems The geometries should correct, polygons should be closed and according to the specified orientation (clockwise/counter clockwise) <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&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>, <a class="el" href="x01__qt__example_8cpp-example.html#a2">x01_qt_example.cpp</a>, <a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#a4">x02_numeric_adaptor_example.cpp</a>, and <a class="el" href="x03__d__soci__example_8cpp-example.html#a1">x03_d_soci_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00218">218</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 specified <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#l00243">243</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__arithmetic.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__arithmetic.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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">select_coordinate_type&lt; P1, P2 &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">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="gdbe9df76626ecc2871dbffa8cfe7f0e4"></a><!-- doxytag: member="ggl::dot_product" ref="gdbe9df76626ecc2871dbffa8cfe7f0e4" 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">select_coordinate_type&lt;P1, P2&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#l00059">59</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__centroid.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__centroid.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate centroid (center of gravity) of a geometry</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_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid. 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; CsTag, GeometryTag, Dimension, Point, Geometry &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 Geometry , 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__centroid.html#gc7e9651663cd19868cae40c20c72afdc">ggl::centroid</a> (Geometry const &amp;geometry, Point &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 Geometry , typename Point , typename Strategy &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#gba3c6357cc1112519a4909cdbb4733e2">ggl::centroid</a> (Geometry const &amp;geometry, Point &amp;c, Strategy 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 Point , typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">ggl::make_centroid</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return 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 Point , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl::make_centroid</a> (Geometry const &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>Polygon should be closed, and can be orientated either way <p>
+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>
+Both of them have an overloaded version where a centroid calculation strategy can be specified </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>centroid_exception</em>&nbsp;</td><td>if calculation is not successful, e.g. because polygon 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 than 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#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(poly, center);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(center) &lt;&lt; std::endl;
+}
+</pre></div></dd></dl>
+<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 * 1000 centroid calculations are done in 0.16 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Centroid1)</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>POLYGON <div align="center">
+<img src="centroid_polygon.png" alt="centroid_polygon.png">
+</div>
+</li><li>POINT: the point is the centroid</li><li>LINESTRING: the average of the centers of its segments</li><li>MULTIPOINT: the average of the points </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gba3c6357cc1112519a4909cdbb4733e2"></a><!-- doxytag: member="ggl::centroid" ref="gba3c6357cc1112519a4909cdbb4733e2" args="(Geometry const &amp;geometry, Point &amp;c, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Point , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::centroid </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">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</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 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>Examples: </b></dt><dd>
+<a class="el" href="03__polygon__example_8cpp-example.html#a8">03_polygon_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a4">c04_a_custom_triangle_example.cpp</a>, and <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a4">c04_b_custom_triangle_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00386">386</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gc7e9651663cd19868cae40c20c72afdc"></a><!-- doxytag: member="ggl::centroid" ref="gc7e9651663cd19868cae40c20c72afdc" args="(Geometry const &amp;geometry, Point &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::centroid </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">Point &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>
+<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>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00414">414</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ga7146045002e56e5471f8da7dd30609c"></a><!-- doxytag: member="ggl::make_centroid" ref="ga7146045002e56e5471f8da7dd30609c" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point ggl::make_centroid </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 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>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00438">438</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gb077a07483ee2fdd17d66e63b237aaa6"></a><!-- doxytag: member="ggl::make_centroid" ref="gb077a07483ee2fdd17d66e63b237aaa6" args="(Geometry const &amp;geometry, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename Geometry , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Point ggl::make_centroid </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 and return 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><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>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00455">455</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__combine.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__combine.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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><b>box</b> + <b>box</b> -&gt; <b>box:</b> 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></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Also if the input box is incorrect, the box will correctly updated<ul>
+<li><b>box</b> + <b>point</b> -&gt; <b>box:</b> the box will combined with the point <div align="center">
+<img src="combine_box_point.png" alt="combine_box_point.png">
+</div>
+</li><li><b>box</b> + <b>segment</b> -&gt; <b>box</b> </li></ul>
+</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#l00306">306</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__compare.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__compare.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>compare: define compare functors for points</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_1equal__to.html">ggl::equal_to&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equal To functor, to compare if points are equal. 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_1greater.html">ggl::greater&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater functor. 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">ggl::less&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less functor, to sort points in ascending order. More...<br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Useful for:<ul>
+<li>std::map (use ggl::less&lt;P&gt;)</li><li>std::sort (use ggl::less&lt;P&gt; or ggl::greater&lt;P&gt; or ggl::less&lt;P, 1&gt;)</li><li>std::unique_copy (use <a class="el" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">ggl::equals&lt;P&gt;</a>)</li></ul>
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>point</b> </li></ul>
+</dd></dl>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__concepts.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__concepts.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>geometry concepts: defines and checks concepts for geometries</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_1concept_1_1_box.html">ggl::concept::Box&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">ggl::concept::MultiLinestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</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_1concept_1_1_multi_point.html">ggl::concept::MultiPoint&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">ggl::concept::MultiPolygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</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_1concept_1_1_point.html">ggl::concept::Point&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td 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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept::check</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
+<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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">ggl::concept::check_concepts_and_equal_dimensions</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of two geometries, and if they have equal dimensions. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+All GGL algorithms use concepts for their geometries. This means that all algorithms work on the GGL-provided geometries (point, linestring, etc) but also on custom geometries.<p>
+By declaring registration macro's or by specializating traits classes it is possible to adapt custom or legacy geometries to fulfil the GGL geometry concepts.<p>
+GGL algorithms check the concepts of the input geometries. Concept checking is done using BCCL (Boost Concept Check Library).<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. Also std::vector of points, or tuples can be handled either as a linestring or as a linear ring (polygon without holes).<p>
+There are concepts for<ul>
+<li>points</li><li>segment</li><li>box</li><li>linestring</li><li>(linear) ring</li><li>polygon</li><li>multi point</li><li>multi linestring</li><li>multi polygon</li></ul>
+<p>
+The Generic Geometry Library uses the Boost Range Library to iterate through standard containers, boost arrays, c-arrays. So:<ul>
+<li>linestring</li><li>(linear) ring</li></ul>
+<p>
+are all just ranges. So a std::vector, std::deque, boost::array, iterator pair or c-array will be accepted as such.<p>
+Also the multi geometries:<ul>
+<li>multi point</li><li>multi linestring</li><li>multi polygon are considered as ranges of respectively points, linestrings and polygons. </li></ul>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gaced8195f8f52790d78ac0fc62a5bb68"></a><!-- doxytag: member="ggl::concept::check" ref="gaced8195f8f52790d78ac0fc62a5bb68" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::concept::check </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry.
+<p>
+
+<p>Definition at line <a class="el" href="geometries_2concepts_2check_8hpp_source.html#l00181">181</a> of file <a class="el" href="geometries_2concepts_2check_8hpp_source.html">check.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g3913efc5e63c4c6d355cda06a3422470"></a><!-- doxytag: member="ggl::concept::check_concepts_and_equal_dimensions" ref="g3913efc5e63c4c6d355cda06a3422470" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::concept::check_concepts_and_equal_dimensions </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of two geometries, and if they have equal dimensions.
+<p>
+
+<p>Definition at line <a class="el" href="geometries_2concepts_2check_8hpp_source.html#l00194">194</a> of file <a class="el" href="geometries_2concepts_2check_8hpp_source.html">check.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convert.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convert.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: 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 Geometry1 , typename Geometry2 &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#gbfc62905cd1defe17d9547c4d60e1347">ggl::convert</a> (Geometry1 const &amp;geometry1, Geometry2 &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 <dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>point</b> to <b>box</b> -&gt; a zero-area box of a point</li><li><b>box</b> to <b>ring</b> -&gt; a rectangular ring</li><li><b>box</b> to <b>polygon</b> -&gt; a rectangular polygon</li><li><b>ring</b> to <b>polygon</b> -&gt; polygon with an exterior ring (the input ring)</li><li><b>polygon</b> to <b>ring</b> -&gt; ring, interior rings (if any) are ignored </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gbfc62905cd1defe17d9547c4d60e1347"></a><!-- doxytag: member="ggl::convert" ref="gbfc62905cd1defe17d9547c4d60e1347" args="(Geometry1 const &amp;geometry1, 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">void ggl::convert </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 &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>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 (source) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry (target) </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="convert_8hpp_source.html#l00236">236</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__convex__hull.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate the convex hull of a geometry</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_1concept_1_1_convex_hull_strategy.html">ggl::concept::ConvexHullStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull. 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_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull. 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; Tag, Geometry, Point &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 Geometry1 , typename Geometry2 &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__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl::convex_hull</a> (Geometry1 const &amp;geometry, Geometry2 &amp;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 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#g33e400e40f14217ab0239d33fa6def72">ggl::convex_hull_inserter</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, output-iterator version. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<li>OGC description: Returns a geometric object that represents the convex hull of this geometric object. Convex hulls, being dependent on straight lines, can be accurately represented in linear interpolations for any geometry restricted to linear interpolations. </li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Convex_hull</dd></dl>
+<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 counties of US are "hulled" in 0.9 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Convexhull1)</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The convex hull is always a ring, holes are not possible. Therefore it is can also be used in combination with an output iterator.</dd></dl>
+<dl class="user" compact><dt><b>Geometries supported:</b></dt><dd>In the images below the convex hull is painted in red.</dd></dl>
+<ul>
+<li><b>point:</b> will not compile</li></ul>
+<p>
+<ul>
+<li><b>linestring:</b> </li></ul>
+<p>
+<ul>
+<li><b>polygon:</b> will deliver a polygon without holes <div align="center">
+<img src="svg_convex_hull_country.png" alt="svg_convex_hull_country.png">
+</div>
+</li></ul>
+<p>
+<ul>
+<li><b>multi_point:</b> <div align="center">
+<img src="svg_convex_hull_cities.png" alt="svg_convex_hull_cities.png">
+</div>
+</li></ul>
+<p>
+<ul>
+<li><b>multi_linestring:</b> </li></ul>
+<p>
+<ul>
+<li><b>multi_polygon:</b> </li></ul>
+<p>
+<dl class="user" compact><dt><b>Output geometries supported:</b></dt><dd></dd></dl>
+<ul>
+<li><b>polygon</b> </li></ul>
+<p>
+<ul>
+<li><b>ring</b> </li></ul>
+<p>
+<ul>
+<li>inserter version (with output iterator) can output to any array supporting points of same type as the input geometry type </li></ul>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2adc5b825bd5feadc7a723c040c36cb7"></a><!-- doxytag: member="ggl::convex_hull" ref="g2adc5b825bd5feadc7a723c040c36cb7" args="(Geometry1 const &amp;geometry, Geometry2 &amp;out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::convex_hull </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 &amp;&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>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>the input geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2,:</em>&nbsp;</td><td>the output geometry type </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&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>a geometry receiving points of the convex hull </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00199">199</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g33e400e40f14217ab0239d33fa6def72"></a><!-- doxytag: member="ggl::convex_hull_inserter" ref="g33e400e40f14217ab0239d33fa6def72" args="(Geometry const &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_inserter </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, output-iterator version.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Geometry</em>&nbsp;</td><td>the input geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>OutputIterator,:</em>&nbsp;</td><td>an output-iterator </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&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="note" compact><dt><b>Note:</b></dt><dd>This overloaded version outputs to an output iterator. In this case, nothing is known about its point-type or about its clockwise order. Therefore, the input point-type and order are copied </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00256">256</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__core.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__core.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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; Geometry &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" title="multi_point, a collection of points">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 plane angle: 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__order.html">ggl::point_order&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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__cs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__cs.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: 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 plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__disjoint.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__disjoint.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>disjoint: detect if geometries are not spatially related</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__disjoint.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>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+disjoint means spatially disjoint, there is no overlap of interiors and boundaries, the intersection of interiors or boundaries is empty.<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>point</b> + <b>point</b> (= ! equals)</li><li><b>point</b> + <b>box</b> (= not within or on border)</li><li><b>box</b> + <b>box</b> </li><li><b>ring</b> + <b>box</b> </li><li><b>polygon</b> + <b>box</b> </li><li><b>polygon</b> + <b>ring</b> </li><li><b>polygon</b> + <b>polygon</b> </li></ul>
+</dd></dl>
+<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#l00174">174</a> of file <a class="el" href="disjoint_8hpp_source.html">disjoint.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__distance.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate distance between two geometries</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_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; Geometry1, Geometry2 &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_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation. 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; Point1, Point2 &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">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; Point1, Point2, 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; Point, PointOfSegment, 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="classggl_1_1segment.html" title="Class segment: small class 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#a3">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#a9">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#a5">07_graph_route_example.cpp</a>, <a class="el" href="c01__custom__point__example_8cpp-example.html#a5">c01_custom_point_example.cpp</a>, <a class="el" href="x02__numeric__adaptor__example_8cpp-example.html#a3">x02_numeric_adaptor_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#l00285">285</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#l00331">331</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#l00283">283</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#l00298">298</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__envelope.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__envelope.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate envelope (minimum bounding rectangle) of a geometry</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 Box &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#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl::envelope</a> (Geometry const &amp;geometry, Box &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 Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl::make_envelope</a> (Geometry const &amp;geometry)</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></ul>
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>point:</b> a box with zero area, the maximum and the minimum point of the box are set to the point itself.</li><li><b>linestring</b>, <b>ring</b> or <b>range</b> 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><b>polygon</b>, 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#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">ggl::envelope</a>(line, box);
+
+ std::cout &lt;&lt; <span class="stringliteral">"envelope is "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="gd12dc40a65c8b7d39e77d6f802d1cb67"></a><!-- doxytag: member="ggl::envelope" ref="gd12dc40a65c8b7d39e77d6f802d1cb67" args="(Geometry const &amp;geometry, Box &amp;mbr)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Box &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::envelope </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">Box &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>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a6">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#l00245">245</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gb8343582b49458d16bca165b493f678d"></a><!-- doxytag: member="ggl::make_envelope" ref="gb8343582b49458d16bca165b493f678d" args="(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">Box ggl::make_envelope </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 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#l00265">265</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__equals.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__equals.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>equals: detect if two geometries are spatially equal</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__equals.html#g122b1fd835cee0742da7c97dfdda94c5">ggl::equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detect if two geometries are spatially equal. <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><b>point</b> + <b>point</b> </li><li><b>box</b> + <b>box</b> </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<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>
+Detect if two geometries are spatially equal.
+<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 geometries are spatially equal, else false </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="07__graph__route__example_8cpp-example.html#a6">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="equals_8hpp_source.html#l00295">295</a> of file <a class="el" href="equals_8hpp_source.html">equals.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__for__each.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__for__each.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>for_each: apply a functor to each point or segment of a geometry</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+There are two 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 <dl class="note" compact><dt><b>Note:</b></dt><dd>For both for_each algorithms there is a <b>const</b> and a non-const version provided. </dd></dl>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__geometries.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__geometries.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>geometries: geometries provided by default</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_1box.html">ggl::box&lt; Point &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 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, ClockWise, 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 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 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 class="mdescLeft">&nbsp;</td><td class="mdescRight">multi_line, a collection of <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> 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">ggl::multi_point&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a>, a collection 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_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a>, a collection of <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> 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">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 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 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, ClockWise, 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 class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The GGL can be used with the geometry classes provided by the library, and with custom geometries registered by traits classes or registration macros.<p>
+This documentation page refers to the geometry classes provided by the library. </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersection.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersection.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>intersection: calculate new geometry containing geometries A and B</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 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__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">ggl::intersection_inserter</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. <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</dd></dl>
+<dl class="user" compact><dt><b>Performance</b></dt><dd><ul>
+<li>2776 counties of US are intersected with a 100-points ellipse in 1.1 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Interesection)</li><li>2776 counties of US are clipped in 0.2 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Clip)</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>polygon</b> + <b>box</b> (clip) -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_intersection_polygon_box.png" alt="svg_intersection_polygon_box.png">
+</div>
+ <div align="center">
+<img src="svg_intersection_countries.png" alt="svg_intersection_countries.png">
+</div>
+</li><li><b>ring</b> + <b>box</b> (clip) -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_intersection_ring_box.png" alt="svg_intersection_ring_box.png">
+</div>
+</li><li><b>ring</b> + <b>ring</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_intersection_ring_ring.png" alt="svg_intersection_ring_ring.png">
+</div>
+</li><li><b>polygon</b> + <b>ring</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_intersection_polygon_ring.png" alt="svg_intersection_polygon_ring.png">
+</div>
+</li><li>combinations above -&gt; <b>ring(s)</b>. <em>If the output is an ouput iterator of rings, holes are omitted</em></li><li><b>linestring</b> + <b>box</b> (clip) <div align="center">
+<img src="svg_intersection_roads.png" alt="svg_intersection_roads.png">
+</div>
+</li></ul>
+</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;
+
+ std::vector&lt;ggl::linestring&lt;P&gt; &gt; intersection;
+ ggl::intersection_inserter&lt;ggl::linestring&lt;P&gt; &gt;(cb, line, std::back_inserter(intersection));
+}
+</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_inserter&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_inserter&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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="gebe4cbe7f224f01d9d92f604888002a1"></a><!-- doxytag: member="ggl::intersection_inserter" ref="gebe4cbe7f224f01d9d92f604888002a1" 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_inserter </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.
+<p>
+The two input geometries are intersected and the resulting linestring(s), ring(s) or polygon(s) 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 </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>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>
+
+<p>Definition at line <a class="el" href="algorithms_2intersection_8hpp_source.html#l00323">323</a> of file <a class="el" href="algorithms_2intersection_8hpp_source.html">intersection.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersects.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__intersects.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>intersects: detect if a geometry self-intersects or if two geometries intersect</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__intersects.html#g51c1843f2bcb7f6a566fa991da656102">ggl::intersects</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection. <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__intersects.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>
+<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 1 (TRUE) if this geometric object spatially intersects anotherGeometry.</li><li>OGC: a.Intersects(b) &lt;=&gt; ! a.Disjoint(b) </li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>There are two overloaded versions:<ul>
+<li>with one geometry, detecting self-intersections</li><li>with two geometries, deferring to disjoint, returning !disjoint</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>ring</b> </li><li><b>polygon</b> </li><li>for two geometries: same is disjoint</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>if one geometry is completely within another geometry, it "intersects" </dd></dl>
+<hr><h2>Function Documentation</h2>
+<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#l00060">60</a> of file <a class="el" href="intersects_8hpp_source.html">intersects.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g51c1843f2bcb7f6a566fa991da656102"></a><!-- doxytag: member="ggl::intersects" ref="g51c1843f2bcb7f6a566fa991da656102" 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::intersects </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>
+Determine if there is at least one intersection.
+<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 there are intersection(s), else false </dd></dl>
+
+<p>Definition at line <a class="el" href="intersects_8hpp_source.html#l00092">92</a> of file <a class="el" href="intersects_8hpp_source.html">intersects.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__length.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__length.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate length of a linear geometry</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_1length__result.html">ggl::length_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of length function. 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">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">ggl::length</a> (Geometry const &amp;geometry, Strategy 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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">ggl::length</a> (Geometry const &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#g3ff05ea6b83363ce847770d3abe156bf" 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="g3ff05ea6b83363ce847770d3abe156bf"></a><!-- doxytag: member="ggl::length" ref="g3ff05ea6b83363ce847770d3abe156bf" 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">length_result&lt;Geometry&gt;::type ggl::length </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 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#g3ff05ea6b83363ce847770d3abe156bf" 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#a7">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#a2">07_graph_route_example.cpp</a>, <a class="el" href="c03__custom__linestring__example_8cpp-example.html#a3">c03_custom_linestring_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#l00154">154</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gc25f493cf56a02b9f0077e18a444bed8"></a><!-- doxytag: member="ggl::length" ref="gc25f493cf56a02b9f0077e18a444bed8" 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">length_result&lt;Geometry&gt;::type ggl::length </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 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#l00196">196</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlaps.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlaps.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>overlaps: detect overlap between two geometries</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__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">ggl::overlaps</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines overlap between two geometries. <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>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="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>box</b> + <b>box</b> </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g556251d4b34a3225ac8c0c1a4ff7a19b"></a><!-- doxytag: member="ggl::overlaps" ref="g556251d4b34a3225ac8c0c1a4ff7a19b" 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::overlaps </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>
+Determines overlap between two geometries.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if there is overlap </dd></dl>
+
+<p>Definition at line <a class="el" href="overlaps_8hpp_source.html#l00177">177</a> of file <a class="el" href="overlaps_8hpp_source.html">overlaps.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlay.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__overlay.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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 helper operations (getting intersection points, 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_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; Box, Point &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 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><h2>Function Documentation</h2>
+<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#l00198">198</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#l00752">752</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#l00181">181</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#l00153">153</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#l00298">298</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__perimeter.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__perimeter.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: calculate perimeter of a geometry</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">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">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">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">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>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>polygon</b> </li><li><b>box</b> </li><li><b>linear_ring</b> </li><li><b>multi_polygon</b> </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g02588697f4c401400c3007d3ff091df9"></a><!-- doxytag: member="ggl::perimeter" ref="g02588697f4c401400c3007d3ff091df9" 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">length_result&lt;Geometry&gt;::type 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#l00087">87</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g78c3f8a2c3eed80533521425079cdf55"></a><!-- doxytag: member="ggl::perimeter" ref="g78c3f8a2c3eed80533521425079cdf55" 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">length_result&lt;Geometry&gt;::type 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#l00121">121</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__sectionalize.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__sectionalize.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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#g8c12093b8b10102bd3458b0603c31df6">ggl::get_section</a> (Geometry const &amp;geometry, Section const &amp;section, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &gt;::type &amp;begin, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &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="g8c12093b8b10102bd3458b0603c31df6"></a><!-- doxytag: member="ggl::get_section" ref="g8c12093b8b10102bd3458b0603c31df6" args="(Geometry const &amp;geometry, Section const &amp;section, typename boost::range_const_iterator&lt; typename ggl::range_type&lt; Geometry &gt;::type &gt;::type &amp;begin, typename boost::range_const_iterator&lt; typename ggl::range_type&lt; Geometry &gt;::type &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 boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>begin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &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#l00091">91</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__simplify.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__simplify.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>simplify: remove points from a geometry, keeping shape (simplification or 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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &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; Point, PointDistanceStrategy &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 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__simplify.html#g953e1055914400f9ad3191adc5b42270">ggl::simplify</a> (Geometry const &amp;geometry, Geometry &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 Geometry , typename Strategy &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#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl::simplify</a> (Geometry const &amp;geometry, Geometry &amp;out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify 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 Geometry , 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__simplify.html#g4285888f1598725bca124878ac16c656">ggl::simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator , typename Strategy &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#gbe0df65c97527e83bcab80ec3232d45a">ggl::simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator and a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <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><ul>
+<li>Performance is measured on simplification of a collection of rings, such that 10% of the points is kept.</li><li>2776 counties of US are simplified in 0.7 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Simplify1)</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Geometries</b></dt><dd><ul>
+<li><b>linestring:</b> <div align="center">
+<img src="svg_simplify_road.png" alt="svg_simplify_road.png">
+</div>
+ This US Road originally contained 34 points, the simplified version contains 7 points</li></ul>
+</dd></dl>
+<ul>
+<li><b>polygon:</b> <div align="center">
+<img src="svg_simplify_country.png" alt="svg_simplify_country.png">
+</div>
+ This country (Belgium) originally contained 55 points, the simplified version contains 24 points</li></ul>
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>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)</dd></dl>
+<ul>
+<li><b>multi_linestring</b> </li><li><b>multi_polygon</b> </li></ul>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g752a5b4c8a40756da0e717c1ae4d2d8d"></a><!-- doxytag: member="ggl::simplify" ref="g752a5b4c8a40756da0e717c1ae4d2d8d" args="(Geometry const &amp;geometry, Geometry &amp;out, double max_distance, 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">void ggl::simplify </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">Geometry &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">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>
+Simplify 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>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>
+<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#l00273">273</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g953e1055914400f9ad3191adc5b42270"></a><!-- doxytag: member="ggl::simplify" ref="g953e1055914400f9ad3191adc5b42270" args="(Geometry const &amp;geometry, Geometry &amp;out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </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">Geometry &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>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>This version of simplify simplifies a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> (Douglas Peucker), </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>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>
+<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#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">ggl::simplify</a>(line, simplified, 0.5);
+ std::cout
+ &lt;&lt; <span class="stringliteral">" original line: "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">ggl::dsv</a>(simplified) &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00310">310</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gbe0df65c97527e83bcab80ec3232d45a"></a><!-- doxytag: member="ggl::simplify_inserter" ref="gbe0df65c97527e83bcab80ec3232d45a" args="(Geometry const &amp;geometry, OutputIterator out, double max_distance, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename OutputIterator , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify_inserter </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>
+ </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">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>
+Simplify a geometry, using an output iterator and 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>input geometry, to be simplified </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>simplify_inserter with <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is 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, P&gt;</a> DS;
+ <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">ggl::strategy::simplify::douglas_peucker&lt;P, DS&gt;</a> simplification;
+ <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry, using an output iterator and a specified strategy.">ggl::simplify_inserter</a>(line, std::ostream_iterator&lt;P&gt;(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#l00352">352</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g4285888f1598725bca124878ac16c656"></a><!-- doxytag: member="ggl::simplify_inserter" ref="g4285888f1598725bca124878ac16c656" args="(Geometry const &amp;geometry, OutputIterator out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify_inserter </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>
+ </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, using an output iterator.
+<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, to be simplified </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>
+
+<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00375">375</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__svg.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__svg.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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#a14">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00239">239</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__traits.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__traits.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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; Geometry, Dimension &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; Geometry, Point &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; Geometry &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; Polygon &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; Geometry, Index, Dimension &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; Geometry &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; Geometry &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__order.html">ggl::traits::point_order&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &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_1ring__type.html">ggl::traits::ring_type&lt; Geometry &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; Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__transform.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>transform: apply transformations on geometries</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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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 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__transform.html#gea84c2b86b120e9c79a1a3a111229b60">ggl::transform</a> (Geometry1 const &amp;geometry1, Geometry2 &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 Geometry1 , typename Geometry2 , typename Strategy &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#g69b7e7f328a6092efb8edc9d857504d1">ggl::transform</a> (Geometry1 const &amp;geometry1, Geometry2 &amp;geometry2, Strategy 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#g8048129c97cd540dc75d9040d8d95c0e" 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#g69b7e7f328a6092efb8edc9d857504d1" 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#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(p, sph2);
+
+ std::cout &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(p) &lt;&lt; <span class="stringliteral">" &lt;-&gt; "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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#g69b7e7f328a6092efb8edc9d857504d1" 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="g69b7e7f328a6092efb8edc9d857504d1"></a><!-- doxytag: member="ggl::transform" ref="g69b7e7f328a6092efb8edc9d857504d1" args="(Geometry1 const &amp;geometry1, Geometry2 &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">bool ggl::transform </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 &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>
+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>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>Strategy</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#a13">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00296">296</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gea84c2b86b120e9c79a1a3a111229b60"></a><!-- doxytag: member="ggl::transform" ref="gea84c2b86b120e9c79a1a3a111229b60" args="(Geometry1 const &amp;geometry1, 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::transform </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 &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>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 the transformation could be done </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00324">324</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__union.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__union.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>union: calculate new geometry containing geometries A or B</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 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__union.html#gad3ab1d71c3997edad12f94764616988">ggl::union_inserter</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines two geometries which each other. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The union of two geometries A and B is the geometry containing all points belong to either of A or B, but no other elements. <dl class="user" compact><dt><b>Source description:</b></dt><dd><ul>
+<li>OGC: Returns a geometric object that represents the Point set union 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/Union_(set_theory) </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>A union of two rings can result in a polygon having a hole</dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>polygon</b> + <b>box</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_union_polygon_box.png" alt="svg_union_polygon_box.png">
+</div>
+</li><li><b>ring</b> + <b>box</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_union_ring_box.png" alt="svg_union_ring_box.png">
+</div>
+</li><li><b>ring</b> + <b>ring</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_union_ring_ring.png" alt="svg_union_ring_ring.png">
+</div>
+</li><li><b>polygon</b> + <b>ring</b> -&gt; <b>polygon(s)</b> <div align="center">
+<img src="svg_union_polygon_ring.png" alt="svg_union_polygon_ring.png">
+</div>
+</li><li>combinations above -&gt; <b>ring(s)</b>. <em>If the output is an ouput iterator of rings, holes are omitted</em> </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gad3ab1d71c3997edad12f94764616988"></a><!-- doxytag: member="ggl::union_inserter" ref="gad3ab1d71c3997edad12f94764616988" 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::union_inserter </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>
+Combines two geometries which each other.
+<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>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 </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>out</em>&nbsp;</td><td>the output iterator, outputting polygons </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the output iterator </dd></dl>
+
+<p>Definition at line <a class="el" href="union_8hpp_source.html#l00228">228</a> of file <a class="el" href="union_8hpp_source.html">union.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__utility.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__utility.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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: utility meta-functions and functions</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_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const 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_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const boost range iterator. 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__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function selecting the "calculation" 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_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function 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">Meta-function 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 (<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 Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084">ggl::as_range</a> (Geometry &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 (<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 , 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>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">detail::dsv::dsv_manipulator<br class="typebreak">
+&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">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>
+<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="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">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="group__utility.html#geda38de76b567b170a5c9cadbe660311">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 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__utility.html#ge415174744cad8935889144cc286a0fb">ggl::point_on_border</a> (Geometry const &amp;geometry, typename point_type&lt; Geometry &gt;::type &amp;point)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on a border. <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="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">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>
+</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="ge415174744cad8935889144cc286a0fb"></a><!-- doxytag: member="ggl::point_on_border" ref="ge415174744cad8935889144cc286a0fb" args="(Geometry const &amp;geometry, typename point_type&lt; Geometry &gt;::type &amp;point)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::point_on_border </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">typename point_type&lt; Geometry &gt;::type &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>
+Take <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on a border.
+<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>geometry to take <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if successful, else false. It is only false if polygon/line have no points </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>for a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, it is always a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on the exterior ring </dd></dl>
+
+<p>Definition at line <a class="el" href="point__on__border_8hpp_source.html#l00153">153</a> of file <a class="el" href="point__on__border_8hpp_source.html">point_on_border.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g99e0a8eac282cd44fbdb1a47666ea084"></a><!-- doxytag: member="ggl::as_range" ref="g99e0a8eac282cd44fbdb1a47666ea084" args="(Geometry &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&amp; ggl::as_range </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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 (<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>).
+<p>
+Utility to handle polygon's outer ring as a range
+<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00064">64</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.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 (<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>
+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>
+<a class="anchor" name="gd90ba94c2d65876e9485b2bbd10def34"></a><!-- doxytag: member="ggl::math::equals" ref="gd90ba94c2d65876e9485b2bbd10def34" 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>
+<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. If one of the types is non-fundamental, it might be a high-precision number and comparison is done using the == operator of that class. </dd></dl>
+
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00071">71</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="geda38de76b567b170a5c9cadbe660311"></a><!-- doxytag: member="ggl::math::hav" ref="geda38de76b567b170a5c9cadbe660311" 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#l00095">95</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gc23ed0ce6b779976def3d4b3d633d337"></a><!-- doxytag: member="ggl::math::sqr" ref="gc23ed0ce6b779976def3d4b3d633d337" 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#l00109">109</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9419e5dd6f98468153ca14a35763bfd7"></a><!-- doxytag: member="ggl::dsv" ref="g9419e5dd6f98468153ca14a35763bfd7" 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">detail::dsv::dsv_manipulator&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>
+DSV stands for Delimiter Separated Values. Geometries can be streamed as DSV. There are defaults for all separators. <dl class="note" compact><dt><b>Note:</b></dt><dd>Useful for examples and testing purposes <p>
+With this function GeoJSON objects can be created, using the right delimiters </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="01__point__example_8cpp-example.html#a6">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#a4">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="c03__custom__linestring__example_8cpp-example.html#a2">c03_custom_linestring_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a1">c04_a_custom_triangle_example.cpp</a>, <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a3">c04_b_custom_triangle_example.cpp</a>, <a class="el" href="x01__qt__example_8cpp-example.html#a4">x01_qt_example.cpp</a>, <a class="e
l" href="x03__a__soci__example_8cpp-example.html#a0">x03_a_soci_example.cpp</a>, and <a class="el" href="x03__b__soci__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#l00368">368</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__within.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/group__within.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>within: detect if a geometry is inside another geometry, a.o. point-in-polygon</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_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
+<tr><td 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; TagPoint, TagSegment, Point, PointOfSegment &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>Functions</h2></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">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__within.html#g052af0474ab2dafcb875ce64a9361611">ggl::within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another 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__within.html#g599c2aa76cf2037eb40514e449ace28d">ggl::within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another 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: 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><ul>
+<li>2776 within determinations using bounding box and polygon are done in 0.05 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Within1)</li><li>note that using another strategy the performance can be increased:<ul>
+<li>winding : 0.093 s</li><li>franklin : 0.062 s</li><li>Crossings-multiply : 0.047 s</li></ul>
+</li><li>but note also that the last two do not detect point-on-border cases</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><b>point</b> + <b>polygon:</b> The well-known point-in-polygon, returning true if a point falls within a polygon (and not within one of its holes) <div align="center">
+<img src="within_polygon.png" alt="within_polygon.png">
+</div>
+</li><li><b>point</b> + <b>ring:</b> returns true if point is completely within a ring <div align="center">
+<img src="within_ring.png" alt="within_ring.png">
+</div>
+</li><li><b>point</b> + <b>box</b> </li><li><b>box</b> + <b>box</b> </li></ul>
+</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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">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>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g599c2aa76cf2037eb40514e449ace28d"></a><!-- doxytag: member="ggl::within" ref="g599c2aa76cf2037eb40514e449ace28d" 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::within </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>
+Within, examine if a geometry is within another 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>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 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#l00314">314</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g052af0474ab2dafcb875ce64a9361611"></a><!-- doxytag: member="ggl::within" ref="g052af0474ab2dafcb875ce64a9361611" 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">bool ggl::within </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>
+Within, examine if a geometry is within another 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>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#l00351">351</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hierarchy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hierarchy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</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_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a>
+<li><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &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="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ggl::concept::ConstMultiLinestring&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_multi_point.html">ggl::concept::ConstMultiPoint&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_multi_polygon.html">ggl::concept::ConstMultiPolygon&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_convex_hull_strategy.html">ggl::concept::ConvexHullStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">ggl::concept::MultiLinestring&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_multi_point.html">ggl::concept::MultiPoint&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">ggl::concept::MultiPolygon&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy&lt; Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy&lt; Strategy &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; Geometry1, Geometry2 &gt;</a>
+<li><a class="el" href="structggl_1_1equal__to.html">ggl::equal_to&lt; Point, Dimension, Strategy &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_1greater.html">ggl::greater&lt; Point, Dimension, Strategy &gt;</a>
+<li><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; Geometry &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_1length__result.html">ggl::length_result&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1less.html">ggl::less&lt; Point, Dimension, Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, ClockWise, 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_1point.html">ggl::point&lt; T, D, C &gt;</a>
+<li><a class="el" href="structggl_1_1point__order.html">ggl::point_order&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__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, ClockWise, 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_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a>
+<li><a class="el" href="structggl_1_1range__type.html">ggl::range_type&lt; Geometry &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="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &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__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</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_1single__tag.html">ggl::single_tag&lt; Tag &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__triangles.html">ggl::strategy::area::by_triangles&lt; PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>
+<li><a class="el" href="classggl_1_1strategy_1_1centroid___1_1bashein__detmer.html">ggl::strategy::centroid_::bashein_detmer&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html">ggl::strategy::compare::default_strategy</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift&lt; Units &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&lt; radian &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; Point, PointOfSegment &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; Point1, Point2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, 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; Point, PointOfSegment, Strategy &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; Box, Point &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_1side__by__triangle.html">ggl::strategy::side::side_by_triangle</a>
+<li><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &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="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; Tag, PointOfSegment &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; Tag, Direction, Point, CoordinateSystem, Dimension &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; Tag, Geometry, Point &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__parse.html">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; Tag &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_point1_00_01_point2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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_point44a0bc328e7ec9bd6c5d771967a8f024.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &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; Geometry, Dimension &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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; Geometry, Point &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; Geometry &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; Polygon &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; Geometry, Index, Dimension &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order&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_1ring__type.html">ggl::traits::ring_type&lt; Geometry &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; Geometry &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/hull_graham_andrew.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__andrew.html">ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::convex_hull::graham_andrew&lt; InputGeometry, OutputPoint &gt;::partitions</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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/hull__graham__andrew_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/hull_graham_andrew.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_AGNOSTIC_CONVEX_GRAHAM_ANDREW_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_AGNOSTIC_CONVEX_GRAHAM_ANDREW_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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;vector&gt;</span>
+<a name="l00015"></a>00015
+<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="cs_8hpp.html">ggl/core/cs.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="strategies_2convex__hull_8hpp.html">ggl/strategies/convex_hull.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="policies_2compare_8hpp.html">ggl/policies/compare.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="for__each__range_8hpp.html">ggl/util/for_each_range.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// Temporary, comparing tests, this can be removed in the end</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#if defined(GGL_USE_SMOOTH_SORT)</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor"># include "SmoothSort.hpp"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#elif defined(GGL_USE_MERGE_SORT)</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor"># include "MergeSort.hpp"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#else</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>ggl
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="namespaceggl_1_1strategy_1_1convex__hull.html">00041</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a> {
+<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
+<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>
+<a name="l00049"></a>00049 &lt;
+<a name="l00050"></a>00050 <span class="keyword">typename</span> InputRange,
+<a name="l00051"></a>00051 <span class="keyword">typename</span> RangeIterator,
+<a name="l00052"></a>00052 <span class="keyword">typename</span> StrategyLess,
+<a name="l00053"></a>00053 <span class="keyword">typename</span> StrategyGreater
+<a name="l00054"></a>00054 &gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>get_extremes
+<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_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;InputRange&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="l00058"></a>00058
+<a name="l00059"></a>00059 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> left, right;
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keywordtype">bool</span> first;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 StrategyLess <a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">less</a>;
+<a name="l00064"></a>00064 StrategyGreater <a class="code" href="structggl_1_1greater.html" title="Greater functor.">greater</a>;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 get_extremes()
+<a name="l00067"></a>00067 : first(<span class="keyword">true</span>)
+<a name="l00068"></a>00068 {}
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(InputRange <span class="keyword">const</span>&amp; range)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="comment">// First iterate through this range</span>
+<a name="l00073"></a>00073 <span class="comment">// (this two-stage approach avoids many point copies,</span>
+<a name="l00074"></a>00074 <span class="comment">// because iterators are kept in memory. Because iterators are</span>
+<a name="l00075"></a>00075 <span class="comment">// not persistent (in MSVC) this approach is not applicable</span>
+<a name="l00076"></a>00076 <span class="comment">// for more ranges together)</span>
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 RangeIterator left_it = boost::begin(range);
+<a name="l00079"></a>00079 RangeIterator right_it = boost::begin(range);
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range) + 1;
+<a name="l00082"></a>00082 it != boost::end(range);
+<a name="l00083"></a>00083 ++it)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> (<a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">less</a>(*it, *left_it))
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 left_it = it;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (<a class="code" href="structggl_1_1greater.html" title="Greater functor.">greater</a>(*it, *right_it))
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 right_it = it;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="comment">// Then compare with earlier</span>
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (first &amp;&amp; boost::size(range) &gt; 0)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="comment">// First time, assign left/right</span>
+<a name="l00100"></a>00100 left = *left_it;
+<a name="l00101"></a>00101 right = *right_it;
+<a name="l00102"></a>00102 first = <span class="keyword">false</span>;
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 <span class="keywordflow">else</span>
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="comment">// Next time, check if this range was left/right from</span>
+<a name="l00107"></a>00107 <span class="comment">// the extremes already collected</span>
+<a name="l00108"></a>00108 <span class="keywordflow">if</span> (<a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">less</a>(*left_it, left))
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 left = *left_it;
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (<a class="code" href="structggl_1_1greater.html" title="Greater functor.">greater</a>(*right_it, right))
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 right = *right_it;
+<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
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span>
+<a name="l00123"></a>00123 &lt;
+<a name="l00124"></a>00124 <span class="keyword">typename</span> InputRange,
+<a name="l00125"></a>00125 <span class="keyword">typename</span> RangeIterator,
+<a name="l00126"></a>00126 <span class="keyword">typename</span> Container,
+<a name="l00127"></a>00127 <span class="keyword">typename</span> SideStrategy
+<a name="l00128"></a>00128 &gt;
+<a name="l00129"></a>00129 <span class="keyword">struct </span>assign_range
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 Container lower_points, upper_points;
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <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;InputRange&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="l00134"></a>00134
+<a name="l00135"></a>00135 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; most_left;
+<a name="l00136"></a>00136 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; most_right;
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="keyword">inline</span> assign_range(<a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; left, <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; right)
+<a name="l00139"></a>00139 : most_left(left)
+<a name="l00140"></a>00140 , most_right(right)
+<a name="l00141"></a>00141 {}
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(InputRange <span class="keyword">const</span>&amp; range)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> SideStrategy side;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// Put points in one of the two output sequences</span>
+<a name="l00148"></a>00148 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range);
+<a name="l00149"></a>00149 it != boost::end(range);
+<a name="l00150"></a>00150 ++it)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="comment">// check if it is lying most_left or most_right from the line</span>
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keywordtype">int</span> dir = side::apply(most_left, most_right, *it);
+<a name="l00155"></a>00155 <span class="keywordflow">switch</span>(dir)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keywordflow">case</span> 1 : <span class="comment">// left side</span>
+<a name="l00158"></a>00158 upper_points.push_back(*it);
+<a name="l00159"></a>00159 <span class="keywordflow">break</span>;
+<a name="l00160"></a>00160 <span class="keywordflow">case</span> -1 : <span class="comment">// right side</span>
+<a name="l00161"></a>00161 lower_points.push_back(*it);
+<a name="l00162"></a>00162 <span class="keywordflow">break</span>;
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="comment">// 0: on line most_left-most_right,</span>
+<a name="l00165"></a>00165 <span class="comment">// or most_left, or most_right,</span>
+<a name="l00166"></a>00166 <span class="comment">// -&gt; all never part of hull</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
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00174"></a>00174 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> sort(Range&amp; range)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Range&gt;::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="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="preprocessor">#if defined(USE_SMOOTH_SORT)</span>
+<a name="l00179"></a>00179 <span class="preprocessor"></span> smoothsort::sort
+<a name="l00180"></a>00180 <span class="preprocessor">#elif defined(USE_MERGE_SORT)</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span> comparing::merge_sort&lt;thread_count&gt;
+<a name="l00182"></a>00182 <span class="preprocessor">#else</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span> std::sort
+<a name="l00184"></a>00184 <span class="preprocessor">#endif</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span>
+<a name="l00186"></a>00186 (boost::begin(range), boost::end(range), <a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">ggl::less&lt;point_type&gt;</a>());
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 } <span class="comment">// namespace detail</span>
+<a name="l00191"></a>00191 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00192"></a>00192 <span class="preprocessor"></span>
+<a name="l00193"></a>00193
+<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputGeometry, <span class="keyword">typename</span> OutputPo<span class="keywordtype">int</span>&gt;
+<a name="l00203"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html">00203</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html" title="Graham scan strategy to calculate convex hull.">graham_andrew</a>
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <span class="keyword">public</span> :
+<a name="l00206"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d91eb30ec4c2012f1cedffec4fc09f8a">00206</a> <span class="keyword">typedef</span> OutputPoint <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00207"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">00207</a> <span class="keyword">typedef</span> InputGeometry <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#1aa4e394a18e9e429f97f88e4e0e04b2">geometry_type</a>;
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">private</span>:
+<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_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="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;point_type&gt; container_type;
+<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;point_type&gt;::const_iterator iterator;
+<a name="l00215"></a>00215 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;point_type&gt;::const_reverse_iterator rev_iterator;
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">class </span>partitions
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html" title="Graham scan strategy to calculate convex hull.">graham_andrew</a>;
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 container_type m_lower_hull;
+<a name="l00223"></a>00223 container_type m_upper_hull;
+<a name="l00224"></a>00224 container_type m_copied_input;
+<a name="l00225"></a>00225 };
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">public</span>:
+<a name="l00229"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">00229</a> <span class="keyword">typedef</span> partitions <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#40b15bcd45028656c608c90126255512">state_type</a>;
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231
+<a name="l00232"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">00232</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#84ba0fcdbfc02db99e98b3d932b00679">apply</a>(InputGeometry <span class="keyword">const</span>&amp; geometry, partitions&amp; state)<span class="keyword"> const</span>
+<a name="l00233"></a>00233 <span class="keyword"> </span>{
+<a name="l00234"></a>00234 <span class="comment">// First pass.</span>
+<a name="l00235"></a>00235 <span class="comment">// Get min/max (in most cases left / right) points</span>
+<a name="l00236"></a>00236 <span class="comment">// This makes use of the ggl::less/greater predicates with the optional</span>
+<a name="l00237"></a>00237 <span class="comment">// direction template parameter to indicate x direction</span>
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">range_type&lt;InputGeometry&gt;::type</a> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">range_type</a>;
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00242"></a>00242 &lt;
+<a name="l00243"></a>00243 range_type
+<a name="l00244"></a>00244 &gt;::type range_iterator;
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 detail::get_extremes
+<a name="l00247"></a>00247 &lt;
+<a name="l00248"></a>00248 range_type,
+<a name="l00249"></a>00249 range_iterator,
+<a name="l00250"></a>00250 <a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">ggl::less&lt;point_type, 0&gt;</a>,
+<a name="l00251"></a>00251 <a class="code" href="structggl_1_1greater.html" title="Greater functor.">ggl::greater&lt;point_type, 0&gt;</a>
+<a name="l00252"></a>00252 &gt; extremes;
+<a name="l00253"></a>00253 <a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">ggl::for_each_range</a>(geometry, extremes);
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 <span class="comment">// Bounding left/right points</span>
+<a name="l00256"></a>00256 <span class="comment">// Second pass, now that extremes are found, assign all points</span>
+<a name="l00257"></a>00257 <span class="comment">// in either lower, either upper</span>
+<a name="l00258"></a>00258 detail::assign_range
+<a name="l00259"></a>00259 &lt;
+<a name="l00260"></a>00260 range_type,
+<a name="l00261"></a>00261 range_iterator,
+<a name="l00262"></a>00262 container_type,
+<a name="l00263"></a>00263 <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_side&lt;cs_tag&gt;::type</a>
+<a name="l00264"></a>00264 &gt; assigner(extremes.left, extremes.right);
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 <a class="code" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">ggl::for_each_range</a>(geometry, assigner);
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="comment">// Sort both collections, first on x(, then on y)</span>
+<a name="l00270"></a>00270 detail::sort(assigner.lower_points);
+<a name="l00271"></a>00271 detail::sort(assigner.upper_points);
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="comment">// And decide which point should be in the final hull</span>
+<a name="l00274"></a>00274 build_half_hull&lt;-1&gt;(assigner.lower_points, state.m_lower_hull,
+<a name="l00275"></a>00275 extremes.left, extremes.right);
+<a name="l00276"></a>00276 build_half_hull&lt;1&gt;(assigner.upper_points, state.m_upper_hull,
+<a name="l00277"></a>00277 extremes.left, extremes.right);
+<a name="l00278"></a>00278 }
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00282"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d303984e62fedbbd91ba93ca16ad9225">00282</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham__andrew.html#d303984e62fedbbd91ba93ca16ad9225">result</a>(partitions <span class="keyword">const</span>&amp; state,
+<a name="l00283"></a>00283 OutputIterator out, <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>)<span class="keyword"> const</span>
+<a name="l00284"></a>00284 <span class="keyword"> </span>{
+<a name="l00285"></a>00285 <span class="keywordflow">if</span> (clockwise)
+<a name="l00286"></a>00286 {
+<a name="l00287"></a>00287 get_range_forward(state.m_upper_hull, out);
+<a name="l00288"></a>00288 get_range_reverse(state.m_lower_hull, out);
+<a name="l00289"></a>00289 }
+<a name="l00290"></a>00290 <span class="keywordflow">else</span>
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292 get_range_forward(state.m_lower_hull, out);
+<a name="l00293"></a>00293 get_range_reverse(state.m_upper_hull, out);
+<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 <span class="keyword">private</span>:
+<a name="l00299"></a>00299
+<a name="l00300"></a>00300 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Factor&gt;
+<a name="l00301"></a>00301 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> build_half_hull(container_type <span class="keyword">const</span>&amp; input,
+<a name="l00302"></a>00302 container_type&amp; output,
+<a name="l00303"></a>00303 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; left, <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; right)
+<a name="l00304"></a>00304 {
+<a name="l00305"></a>00305 output.push_back(left);
+<a name="l00306"></a>00306 <span class="keywordflow">for</span>(iterator it = input.begin(); it != input.end(); ++it)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 add_to_hull&lt;Factor&gt;(*it, output);
+<a name="l00309"></a>00309 }
+<a name="l00310"></a>00310 add_to_hull&lt;Factor&gt;(right, output);
+<a name="l00311"></a>00311 }
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Factor&gt;
+<a name="l00315"></a>00315 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> add_to_hull(<a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; p, container_type&amp; output)
+<a name="l00316"></a>00316 {
+<a name="l00317"></a>00317 <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.">strategy_side&lt;cs_tag&gt;::type</a> side;
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319 output.push_back(p);
+<a name="l00320"></a>00320 <span class="keyword">register</span> std::size_t output_size = output.size();
+<a name="l00321"></a>00321 <span class="keywordflow">while</span> (output_size &gt;= 3)
+<a name="l00322"></a>00322 {
+<a name="l00323"></a>00323 rev_iterator rit = output.rbegin();
+<a name="l00324"></a>00324 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; last = *rit++;
+<a name="l00325"></a>00325 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&amp; last2 = *rit++;
+<a name="l00326"></a>00326
+<a name="l00327"></a>00327 <span class="keywordflow">if</span> (Factor * side::apply(*rit, last, last2) &lt;= 0)
+<a name="l00328"></a>00328 {
+<a name="l00329"></a>00329 <span class="comment">// Remove last two points from stack, and add last again</span>
+<a name="l00330"></a>00330 <span class="comment">// This is much faster then erasing the one but last.</span>
+<a name="l00331"></a>00331 output.pop_back();
+<a name="l00332"></a>00332 output.pop_back();
+<a name="l00333"></a>00333 output.push_back(last);
+<a name="l00334"></a>00334 output_size--;
+<a name="l00335"></a>00335 }
+<a name="l00336"></a>00336 <span class="keywordflow">else</span>
+<a name="l00337"></a>00337 {
+<a name="l00338"></a>00338 <span class="keywordflow">return</span>;
+<a name="l00339"></a>00339 }
+<a name="l00340"></a>00340 }
+<a name="l00341"></a>00341 }
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343
+<a name="l00344"></a>00344 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00345"></a>00345 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> get_range_forward(container_type <span class="keyword">const</span>&amp; range, OutputIterator out)
+<a name="l00346"></a>00346 {
+<a name="l00347"></a>00347 <span class="keywordflow">for</span> (iterator it = boost::begin(range);
+<a name="l00348"></a>00348 it != boost::end(range);
+<a name="l00349"></a>00349 ++it, ++out)
+<a name="l00350"></a>00350 {
+<a name="l00351"></a>00351 *out = *it;
+<a name="l00352"></a>00352 }
+<a name="l00353"></a>00353 }
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355
+<a name="l00356"></a>00356 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00357"></a>00357 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> get_range_reverse(container_type <span class="keyword">const</span>&amp; range, OutputIterator out)
+<a name="l00358"></a>00358 {
+<a name="l00359"></a>00359 <span class="comment">// STL Port does not accept iterating from rbegin+1 to rend</span>
+<a name="l00360"></a>00360 std::size_t size = range.size();
+<a name="l00361"></a>00361 <span class="keywordflow">if</span> (size &gt; 0)
+<a name="l00362"></a>00362 {
+<a name="l00363"></a>00363 rev_iterator it = range.rbegin() + 1;
+<a name="l00364"></a>00364 <span class="keywordflow">for</span> (std::size_t i = 1; i &lt; size; ++i, ++it, ++out)
+<a name="l00365"></a>00365 {
+<a name="l00366"></a>00366 *out = *it;
+<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 };
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 }} <span class="comment">// namespace strategy::convex_hull</span>
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00377"></a>00377 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputGeometry, <span class="keyword">typename</span> OutputPo<span class="keywordtype">int</span>&gt;
+<a name="l00378"></a>00378 <span class="keyword">struct </span>strategy_convex_hull&lt;cartesian_tag, InputGeometry, OutputPoint&gt;
+<a name="l00379"></a>00379 {
+<a name="l00380"></a>00380 <span class="keyword">typedef</span> strategy::convex_hull::graham_andrew&lt;InputGeometry, OutputPoint&gt; <a class="code" href="structggl_1_1strategy__convex__hull.html#ea1634c6de9b2262e12bb89d04d87ef0">type</a>;
+<a name="l00381"></a>00381 };
+<a name="l00382"></a>00382 <span class="preprocessor">#endif</span>
+<a name="l00383"></a>00383 <span class="preprocessor"></span>
+<a name="l00384"></a>00384 } <span class="comment">// namespace ggl</span>
+<a name="l00385"></a>00385
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387 <span class="preprocessor">#endif // GGL_STRATEGIES_AGNOSTIC_CONVEX_GRAHAM_ANDREW_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/index.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" 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 <a class="el" href="group__concepts.html">concepts</a> 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#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, 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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">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#gaffb471f2ef6dd4842563e533094fa0d" 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__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>(r1, r2))
+ {
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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; Geometry &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; Geometry &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; Geometry &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const interior_type&lt; Polygon &gt;<br class="typebreak">
+::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge9208940558274328792addd99f32ef8">ggl::interior_rings</a> (Polygon const &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 Polygon &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">interior_type&lt; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f">ggl::interior_rings</a> (Polygon &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 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#gb13419230cdc76a88bf2afb902776305">ggl::num_interior_rings</a> (Geometry const &amp;geometry)</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;cstddef&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/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="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="add__const__if__c_8hpp.html">ggl/util/add_const_if_c.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> Geometry&gt;
+<a name="l00040"></a><a class="code" href="structggl_1_1traits_1_1interior__type.html">00040</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="l00041"></a>00041 {};
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00056"></a><a class="code" href="structggl_1_1traits_1_1interior__rings.html">00056</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="l00057"></a>00057 {};
+<a name="l00058"></a>00058
+<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
+<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>core_dispatch
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00071"></a>00071 <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="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="keyword">typename</span> Polygon&gt;
+<a name="l00076"></a>00076 <span class="keyword">struct </span>interior_type&lt;polygon_tag, Polygon&gt;
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::interior_type
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 <span class="keyword">typename</span> boost::remove_const&lt;Polygon&gt;::type
+<a name="l00081"></a>00081 &gt;::type type;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span>
+<a name="l00086"></a>00086 &lt;
+<a name="l00087"></a>00087 <span class="keyword">typename</span> GeometryTag,
+<a name="l00088"></a>00088 <span class="keyword">typename</span> Geometry,
+<a name="l00089"></a>00089 <span class="keywordtype">bool</span> IsConst
+<a name="l00090"></a>00090 &gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span><a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a> {};
+<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> Polygon, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span><a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>&lt;polygon_tag, Polygon, IsConst&gt;
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> add_const_if_c
+<a name="l00098"></a>00098 &lt;
+<a name="l00099"></a>00099 IsConst,
+<a name="l00100"></a>00100 <span class="keyword">typename</span> interior_type
+<a name="l00101"></a>00101 &lt;
+<a name="l00102"></a>00102 polygon_tag,
+<a name="l00103"></a>00103 Polygon
+<a name="l00104"></a>00104 &gt;::type
+<a name="l00105"></a>00105 &gt;::type&amp; apply(<span class="keyword">typename</span> add_const_if_c
+<a name="l00106"></a>00106 &lt;
+<a name="l00107"></a>00107 IsConst,
+<a name="l00108"></a>00108 Polygon
+<a name="l00109"></a>00109 &gt;::type&amp; polygon)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">traits::interior_rings</a>
+<a name="l00112"></a>00112 &lt;
+<a name="l00113"></a>00113 <span class="keyword">typename</span> boost::remove_const&lt;Polygon&gt;::type
+<a name="l00114"></a>00114 &gt;<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">::get</a>(polygon);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00120"></a>00120 <span class="keyword">struct </span><a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Geometry <span class="keyword">const</span>&amp;)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> 0;
+<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> Polygon&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span><a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>&lt;polygon_tag, Polygon&gt;
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Polygon <span class="keyword">const</span>&amp; polygon)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> boost::size(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>
+<a name="l00136"></a>00136 &lt;
+<a name="l00137"></a>00137 polygon_tag, Polygon, <span class="keyword">true</span>
+<a name="l00138"></a>00138 &gt;::apply(polygon));
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 };
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
+<a name="l00147"></a>00147
+<a name="l00157"></a>00157 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00158"></a><a class="code" href="structggl_1_1interior__type.html">00158</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="l00159"></a>00159 {
+<a name="l00160"></a>00160 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::interior_type
+<a name="l00161"></a>00161 &lt;
+<a name="l00162"></a>00162 <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="l00163"></a>00163 Geometry
+<a name="l00164"></a><a class="code" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">00164</a> &gt;<a class="code" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">::type</a> <a class="code" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a>;
+<a name="l00165"></a>00165 };
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167
+<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00177"></a><a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f">00177</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;Polygon&gt;::type</a>&amp; <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(Polygon&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="l00178"></a>00178 {
+<a name="l00179"></a>00179 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">core_dispatch::interior_rings</a>
+<a name="l00180"></a>00180 &lt;
+<a name="l00181"></a>00181 <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;Polygon&gt;::type</a>,
+<a name="l00182"></a>00182 Polygon,
+<a name="l00183"></a>00183 <span class="keyword">false</span>
+<a name="l00184"></a>00184 &gt;::apply(polygon);
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187
+<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00197"></a><a class="code" href="group__access.html#ge9208940558274328792addd99f32ef8">00197</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;Polygon&gt;::type</a>&amp; <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(
+<a name="l00198"></a>00198 Polygon <span class="keyword">const</span>&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="l00199"></a>00199 {
+<a name="l00200"></a>00200 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">core_dispatch::interior_rings</a>
+<a name="l00201"></a>00201 &lt;
+<a name="l00202"></a>00202 <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;Polygon&gt;::type</a>,
+<a name="l00203"></a>00203 Polygon,
+<a name="l00204"></a>00204 <span class="keyword">true</span>
+<a name="l00205"></a>00205 &gt;::apply(polygon);
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209
+<a name="l00221"></a>00221 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00222"></a><a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305">00222</a> <span class="keyword">inline</span> std::size_t <a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gb13419230cdc76a88bf2afb902776305" title="Function to get the number of interior rings of a polygon.">core_dispatch::num_interior_rings</a>
+<a name="l00225"></a>00225 &lt;
+<a name="l00226"></a>00226 <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="l00227"></a>00227 Geometry
+<a name="l00228"></a>00228 &gt;::apply(geometry);
+<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
+<a name="l00235"></a>00235 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.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>intersection {
+<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>
+<a name="l00115"></a>00115 <span class="comment">//&lt;&lt; std::setprecision(12) </span>
+<a name="l00116"></a>00116 &lt;&lt; <span class="keywordtype">double</span>(info.distance);
+<a name="l00117"></a>00117 <span class="keywordflow">if</span> (info.visit_code != 0)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 os &lt;&lt; <span class="stringliteral">" VIS: "</span> &lt;&lt; int(info.visit_code);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 <span class="keywordflow">if</span> (info.flagged)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 os &lt;&lt; <span class="stringliteral">" FLAGGED"</span>;
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 <span class="keywordflow">return</span> os;
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 <span class="preprocessor">#endif</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>};
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00132"></a>00132 <span class="keyword">struct </span>intersection_point
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keyword">public</span> :
+<a name="l00135"></a>00135 <span class="keyword">inline</span> intersection_point()
+<a name="l00136"></a>00136 : visit_code(0) <span class="comment">// VISIT_NONE</span>
+<a name="l00137"></a>00137 , trivial(true)
+<a name="l00138"></a>00138 , shared(false)
+<a name="l00139"></a>00139 , flagged(false)
+<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">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00145"></a>00145 <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="l00146"></a>00146 {
+<a name="l00147"></a>00147 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="l00148"></a>00148 &lt;&lt; <span class="stringliteral">" visited: "</span> &lt;&lt; int(p.visit_code)
+<a name="l00149"></a>00149 &lt;&lt; (p.shared ? <span class="stringliteral">" SHARED"</span> : <span class="stringliteral">""</span>)
+<a name="l00150"></a>00150 &lt;&lt; (p.flagged ? <span class="stringliteral">" FLAGGED"</span> : <span class="stringliteral">""</span>)
+<a name="l00151"></a>00151 &lt;&lt; std::endl;
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <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="l00154"></a>00154 {
+<a name="l00155"></a>00155 os &lt;&lt; p.info[i] &lt;&lt; std::endl;
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> os;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 <span class="preprocessor">#endif</span>
+<a name="l00160"></a>00160 <span class="preprocessor"></span> <span class="keyword">typedef</span> intersection_info&lt;P&gt; traversal_type;
+<a name="l00161"></a>00161 <span class="keyword">typedef</span> std::vector&lt;traversal_type&gt; traversal_vector;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 P point;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keywordtype">int</span> visit_code;
+<a name="l00166"></a>00166 <span class="keywordtype">bool</span> trivial; <span class="comment">// FALSE if there is an collinearity, touch or so.</span>
+<a name="l00167"></a>00167 <span class="keywordtype">bool</span> shared; <span class="comment">// shared with more IP's</span>
+<a name="l00168"></a>00168 <span class="keywordtype">bool</span> flagged; <span class="comment">// flagged for deletion afterwards</span>
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// info about the two intersecting segments</span>
+<a name="l00171"></a>00171 <span class="comment">// usually two, but often more if IP's are merged</span>
+<a name="l00172"></a>00172 traversal_vector info;
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">void</span> clone_except_info(intersection_point&amp; other)<span class="keyword"> const</span>
+<a name="l00175"></a>00175 <span class="keyword"> </span>{
+<a name="l00176"></a>00176 other.point = point;
+<a name="l00177"></a>00177 other.visit_code = visit_code;
+<a name="l00178"></a>00178 other.trivial = trivial;
+<a name="l00179"></a>00179 other.shared = shared;
+<a name="l00180"></a>00180 other.flagged = flagged;
+<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
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00188"></a>00188 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00189"></a>00189 <span class="preprocessor"></span>
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">// Register the intersection point as being a point fulfilling the ggl Point Concept</span>
+<a name="l00192"></a>00192 <span class="keyword">namespace </span>traits
+<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__type_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__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">coordinate_type</a>&lt;ggl::detail::intersection::intersection_point&lt;P&gt; &gt;
+<a name="l00197"></a>00197 {
+<a name="l00198"></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">00198</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="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_1coordinate__system_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_1coordinate__system.html" title="Traits class defining the coordinate system of a point, important for strategy selection...">coordinate_system</a>&lt;ggl::detail::intersection::intersection_point&lt;P&gt; &gt;
+<a name="l00203"></a>00203 {
+<a name="l00204"></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">00204</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="l00205"></a>00205 };
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00208"></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">00208</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::intersection::intersection_point&lt;P&gt; &gt;
+<a name="l00209"></a>00209 : 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="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_1tag_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_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>&lt;ggl::detail::intersection::intersection_point&lt;P&gt; &gt;
+<a name="l00214"></a>00214 {
+<a name="l00215"></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">00215</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="l00216"></a>00216 };
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00219"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">00219</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::intersection::intersection_point&lt;P&gt;, Dimension&gt;
+<a name="l00220"></a>00220 {
+<a name="l00221"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">00221</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="l00222"></a>00222 ggl::detail::intersection::intersection_point&lt;P&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(p.point);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226
+<a name="l00227"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">00227</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="l00228"></a>00228 <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="l00229"></a>00229 {
+<a name="l00230"></a>00230 ggl::set&lt;Dimension&gt;(p.point, value);
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 }
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00238"></a>00238 <span class="preprocessor"></span>
+<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00240"></a>00240 <span class="keyword">inline</span> <span class="keywordtype">void</span> report_ip(V <span class="keyword">const</span>&amp; intersection_points)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keyword">typedef</span> <span class="keyword">typename</span> V::const_iterator iterator_type;
+<a name="l00243"></a>00243
+<a name="l00244"></a>00244 <span class="keywordflow">for</span> (iterator_type it = intersection_points.begin();
+<a name="l00245"></a>00245 it != intersection_points.end();
+<a name="l00246"></a>00246 ++it)
+<a name="l00247"></a>00247 {
+<a name="l00248"></a>00248 <span class="keywordflow">if</span> (! it-&gt;flagged)
+<a name="l00249"></a>00249 {
+<a name="l00250"></a>00250 std::cout &lt;&lt; *it;
+<a name="l00251"></a>00251 }
+<a name="l00252"></a>00252 }
+<a name="l00253"></a>00253 }
+<a name="l00254"></a>00254 <span class="preprocessor">#endif // GGL_DEBUG_INTERSECTION</span>
+<a name="l00255"></a>00255 <span class="preprocessor"></span>
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 } <span class="comment">// namespace ggl</span>
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="Meta-function 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_STRATEGIES_INTERSECTION_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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_STRATEGIES_INTERSECTION_RESULT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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__intersects.html#g51c1843f2bcb7f6a566fa991da656102">ggl::intersects</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection. <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__intersects.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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <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="l00037"></a>00037 <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="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
+<a name="l00039"></a>00039 <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="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>&gt;</span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">namespace </span>ggl
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00060"></a><a class="code" href="group__intersects.html#g5e7b5d7c8e010077237751f3a6b289ec">00060</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__intersects.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="l00061"></a>00061 {
+<a name="l00062"></a>00062 concept::check&lt;const Geometry&gt;();
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> std::vector&lt;ggl::detail::intersection::intersection_point
+<a name="l00067"></a>00067 &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="l00068"></a>00068
+<a name="l00069"></a>00069 ip_vector ips;
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 dispatch::self_intersection_points
+<a name="l00072"></a>00072 &lt;
+<a name="l00073"></a>00073 <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="l00074"></a>00074 <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="l00075"></a>00075 ncg_type,
+<a name="l00076"></a>00076 ip_vector
+<a name="l00077"></a>00077 &gt;::apply(geometry, <span class="keyword">true</span>, ips);
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> ips.size() &gt; 0;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00092"></a><a class="code" href="group__intersects.html#g51c1843f2bcb7f6a566fa991da656102">00092</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__intersects.html#g5e7b5d7c8e010077237751f3a6b289ec" title="Determine if there is at least one intersection (crossing or self-tangency).">intersects</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 concept::check&lt;const Geometry1&gt;();
+<a name="l00095"></a>00095 concept::check&lt;const Geometry2&gt;();
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> ! <a class="code" href="group__disjoint.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(geometry1, geometry2);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 } <span class="comment">// ggl</span>
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+<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="inverse__transformer_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="inverse_transformer.hpp::BOOST_UBLAS_TYPE_CHECK" ref="20205a89cb81145766e74d5a1d27f049" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_UBLAS_TYPE_CHECK&nbsp;&nbsp;&nbsp;0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00014">14</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="comment">// Remove the ublas checking, otherwise the inverse might fail </span>
+<a name="l00013"></a>00013 <span class="comment">// (while nothing seems to be wrong)</span>
+<a name="l00014"></a><a class="code" href="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">00014</a> <span class="preprocessor">#define BOOST_UBLAS_TYPE_CHECK 0</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/numeric/ublas/lu.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/numeric/ublas/io.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.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>strategy { <span class="keyword">namespace </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00025"></a>00025
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00033"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html" title="Transformation strategy to do an inverse ransformation in Cartesian system.">inverse_transformer</a>
+<a name="l00034"></a>00034 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, dimension&lt;P1&gt;::type::value, dimension&lt;P2&gt;::type::value&gt;
+<a name="l00035"></a>00035 {
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">00036</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MatrixType&gt;
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">00039</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">inverse_transformer</a>(<span class="keyword">const</span> MatrixType&amp; input)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> boost::numeric::ublas::matrix&lt;double&gt; matrix_type;
+<a name="l00042"></a>00042 <span class="comment">// create a working copy of the input</span>
+<a name="l00043"></a>00043 matrix_type copy(input.matrix());
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// create a permutation matrix for the LU-factorization</span>
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> boost::numeric::ublas::permutation_matrix&lt;&gt; permutation_matrix;
+<a name="l00047"></a>00047 permutation_matrix pm(copy.size1());
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// perform LU-factorization</span>
+<a name="l00050"></a>00050 <span class="keywordtype">int</span> res = boost::numeric::ublas::lu_factorize&lt;matrix_type&gt;(copy, pm);
+<a name="l00051"></a>00051 <span class="keywordflow">if</span>( res == 0 )
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="comment">// create identity matrix</span>
+<a name="l00054"></a>00054 this-&gt;m_matrix.assign(boost::numeric::ublas::identity_matrix&lt;T&gt;(copy.size1()));
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// backsubstitute to get the inverse</span>
+<a name="l00057"></a>00057 boost::numeric::ublas::lu_substitute(copy, pm, this-&gt;m_matrix);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 }} <span class="comment">// namespace strategy::transform</span>
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 } <span class="comment">// namespace ggl</span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/iterators/range_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_1range__type.html">ggl::range_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining a type which is a boost-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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/iterators_2range__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/iterators/range_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_ITERATORS_RANGE_TYPE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_RANGE_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</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_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>range_type
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="comment">// Even if it is not recognized, define itself as a type.</span>
+<a name="l00031"></a>00031 <span class="comment">// This enables calling range_type over any range</span>
+<a name="l00032"></a>00032 <span class="comment">// (not necessarily a geometry)</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// Furthermore, applicable for ring/linestring</span>
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> Geometry type;
+<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> Geometry&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>range_type&lt;point_tag, Geometry&gt;
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">void</span> type;
+<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> Geometry&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>range_type&lt;polygon_tag, Geometry&gt;
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Geometry&gt;::type type;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 } <span class="comment">// namespace dispatch</span>
+<a name="l00054"></a>00054 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00069"></a><a class="code" href="structggl_1_1range__type.html">00069</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">range_type</a>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::range_type
+<a name="l00072"></a>00072 &lt;
+<a name="l00073"></a>00073 <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="l00074"></a>00074 Geometry
+<a name="l00075"></a><a class="code" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">00075</a> &gt;<a class="code" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">::type</a> <a class="code" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a>;
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace ggl</span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // GGL_ITERATORS_RANGE_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/length_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_1length__result.html">ggl::length_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of length function. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/length__result_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/length_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_LENGTH_RESULT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_LENGTH_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <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="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="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00028"></a><a class="code" href="structggl_1_1length__result.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <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;Geometry&gt;::type</a>,
+<a name="l00033"></a>00033 <span class="keywordtype">long</span> <span class="keywordtype">double</span>
+<a name="l00034"></a><a class="code" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">00034</a> &gt;<a class="code" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">::type</a> <a class="code" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a>;
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 } <span class="comment">// namespace ggl</span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#endif // GGL_STRATEGIES_LENGTH_RESULT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;<a class="code" href="point__order_8hpp.html">ggl/core/point_order.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/geometries/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="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keyword">typename</span> P,
+<a name="l00037"></a>00037 <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="l00038"></a>00038 <span class="keywordtype">bool</span> ClockWise = <span class="keyword">true</span>,
+<a name="l00039"></a>00039 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00040"></a>00040 &gt;
+<a name="l00041"></a><a class="code" href="classggl_1_1linear__ring.html">00041</a> <span class="keyword">class </span><a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;P&gt;</a>) );
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span>
+<a name="l00051"></a>00051 &lt;
+<a name="l00052"></a>00052 <span class="keyword">typename</span> P,
+<a name="l00053"></a>00053 <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="l00054"></a>00054 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00055"></a>00055 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00056"></a>00056 &gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>&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, ClockWise, A&gt; &gt;
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1ring__tag.html" title="Convenience (linear) ring identifying tag.">ring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">template</span>
+<a name="l00064"></a>00064 &lt;
+<a name="l00065"></a>00065 <span class="keyword">typename</span> P,
+<a name="l00066"></a>00066 <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="l00067"></a>00067 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00068"></a>00068 &gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>point_order&lt; linear_ring&lt;P, V, false, A&gt; &gt;
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>;
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">template</span>
+<a name="l00076"></a>00076 &lt;
+<a name="l00077"></a>00077 <span class="keyword">typename</span> P,
+<a name="l00078"></a>00078 <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="l00079"></a>00079 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00080"></a>00080 &gt;
+<a name="l00081"></a>00081 <span class="keyword">struct </span>point_order&lt; linear_ring&lt;P, V, true, A&gt; &gt;
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<a name="l00084"></a>00084 };
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 } <span class="comment">// namespace traits</span>
+<a name="l00090"></a>00090 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 } <span class="comment">// namespace ggl</span>
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="preprocessor">#endif // GGL_GEOMETRIES_LINEAR_RING_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/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="classggl_1_1concept_1_1_point.html" title="Point concept.">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/linestring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &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 <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="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="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="check__clear_8hpp.html">ggl/geometries/concepts/detail/check_clear.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="check__append_8hpp.html">ggl/geometries/concepts/detail/check_append.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00074"></a><a class="code" href="classggl_1_1concept_1_1_linestring.html">00074</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a>
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span> <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="l00078"></a>00078
+<a name="l00079"></a>00079 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;point_type&gt;</a>) );
+<a name="l00080"></a>00080 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">public</span> :
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a>)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="comment">// Check if it can be modified</span>
+<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> use_std = <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00089"></a>00089 &lt;
+<a name="l00090"></a>00090 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type
+<a name="l00091"></a>00091 &gt;::value;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 Geometry* ls;
+<a name="l00094"></a>00094 detail::check_clear&lt;Geometry, use_std&gt;::apply(*ls);
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>* p;
+<a name="l00097"></a>00097 detail::check_append&lt;Geometry, point_type, use_std&gt;::apply(*ls, *p);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 <span class="preprocessor">#endif</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>};
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00110"></a><a class="code" href="classggl_1_1concept_1_1_const_linestring.html">00110</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_linestring.html" title="Linestring concept (const version).">ConstLinestring</a>
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span> <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="l00114"></a>00114
+<a name="l00115"></a>00115 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;point_type&gt;</a>) );
+<a name="l00116"></a>00116 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">public</span> :
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_linestring.html" title="Linestring concept (const version).">ConstLinestring</a>)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>};
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Geometry , typename Range &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e878f0d195f2420bc0ff7f4f56063b38">ggl::make</a> (Range const &amp;range)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#55512df81f94e5813af9bec903dcf8a6">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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga43be6c1b57d34c59ceb740ac75abc76">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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g75bdbf2d950a0f5612e4bfcfa2bf4179">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.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="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> T&gt;
+<a name="l00031"></a><a class="code" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">00031</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7" title="Make a geometry.">make</a>(T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 concept::check&lt;Geometry&gt;();
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 Geometry geometry;
+<a name="l00036"></a>00036 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00037"></a>00037 &lt;
+<a name="l00038"></a>00038 <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="l00039"></a>00039 Geometry,
+<a name="l00040"></a>00040 <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;Geometry&gt;::type::value</a>
+<a name="l00041"></a>00041 &gt;::apply(geometry, c1, c2);
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> geometry;
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> T&gt;
+<a name="l00051"></a><a class="code" href="group__access.html#ga43be6c1b57d34c59ceb740ac75abc76">00051</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7" 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="l00052"></a>00052 {
+<a name="l00053"></a>00053 concept::check&lt;Geometry&gt;();
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 Geometry geometry;
+<a name="l00056"></a>00056 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00057"></a>00057 &lt;
+<a name="l00058"></a>00058 <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="l00059"></a>00059 Geometry,
+<a name="l00060"></a>00060 <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;Geometry&gt;::type::value</a>
+<a name="l00061"></a>00061 &gt;::apply(geometry, c1, c2, c3);
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> geometry;
+<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> T&gt;
+<a name="l00066"></a><a class="code" href="namespaceggl.html#55512df81f94e5813af9bec903dcf8a6">00066</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7" 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="l00067"></a>00067 {
+<a name="l00068"></a>00068 concept::check&lt;Geometry&gt;();
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 Geometry geometry;
+<a name="l00071"></a>00071 <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00072"></a>00072 &lt;
+<a name="l00073"></a>00073 <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="l00074"></a>00074 Geometry,
+<a name="l00075"></a>00075 <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;Geometry&gt;::type::value</a>
+<a name="l00076"></a>00076 &gt;::apply(geometry, c1, c2, c3, c4);
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> 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="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range&gt;
+<a name="l00083"></a><a class="code" href="namespaceggl.html#e878f0d195f2420bc0ff7f4f56063b38">00083</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7" title="Make a geometry.">make</a>(Range <span class="keyword">const</span>&amp; range)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 concept::check&lt;Geometry&gt;();
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 Geometry geometry;
+<a name="l00088"></a>00088 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, ring, polygon, multi.">append</a>(geometry, range);
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> geometry;
+<a name="l00090"></a>00090 }
+<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> Geometry&gt;
+<a name="l00102"></a><a class="code" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">00102</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf" title="Create a box with inverse infinite coordinates.">make_inverse</a>()
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 concept::check&lt;Geometry&gt;();
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 Geometry geometry;
+<a name="l00107"></a>00107 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
+<a name="l00108"></a>00108 &lt;
+<a name="l00109"></a>00109 <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="l00110"></a>00110 Geometry
+<a name="l00111"></a>00111 &gt;::apply(geometry);
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> geometry;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00123"></a><a class="code" href="group__access.html#g75bdbf2d950a0f5612e4bfcfa2bf4179">00123</a> <span class="keyword">inline</span> Geometry <a class="code" href="group__access.html#g75bdbf2d950a0f5612e4bfcfa2bf4179" title="Create a geometry with &amp;quot;zero&amp;quot; coordinates.">make_zero</a>()
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 concept::check&lt;Geometry&gt;();
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 Geometry geometry;
+<a name="l00128"></a>00128 <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">dispatch::assign_zero</a>
+<a name="l00129"></a>00129 &lt;
+<a name="l00130"></a>00130 <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="l00131"></a>00131 Geometry
+<a name="l00132"></a>00132 &gt;::apply(geometry);
+<a name="l00133"></a>00133 <span class="keywordflow">return</span> geometry;
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 } <span class="comment">// namespace ggl</span>
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#g69b7e7f328a6092efb8edc9d857504d1" 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="Meta-function 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">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="group__utility.html#geda38de76b567b170a5c9cadbe660311">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="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>math {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Floating&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>&amp; a, T <span class="keyword">const</span>&amp; b)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keywordflow">return</span> a == b;
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span><a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">equals</a>&lt;T, true&gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>&amp; a, T <span class="keyword">const</span>&amp; b)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="comment">// See http://www.parashift.com/c++-faq-lite/newbie.html#faq-29.17,>
+<a name="l00042"></a>00042 <span class="comment">// FUTURE: replace by some boost tool or boost::test::close_at_tolerance</span>
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> std::abs(a - b) &lt;= std::numeric_limits&lt;T&gt;::epsilon() * std::abs(a);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 }} <span class="comment">// namespace detail::math</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a><a class="code" href="namespaceggl_1_1math.html">00051</a> <span class="keyword">namespace </span>math
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// Maybe replace this by boost equals or boost ublas numeric equals or so</span>
+<a name="l00056"></a>00056
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00071"></a><a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">00071</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" 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="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise&lt;T1, T2&gt;::type</a> select_type;
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">detail::math::equals</a>
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 select_type,
+<a name="l00077"></a>00077 boost::is_floating_point&lt;select_type&gt;::type::value
+<a name="l00078"></a>00078 &gt;::apply(a, b);
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a><a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">00083</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="l00084"></a><a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">00084</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="l00085"></a><a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">00085</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="l00086"></a><a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">00086</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="l00087"></a>00087
+<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00095"></a><a class="code" href="group__utility.html#geda38de76b567b170a5c9cadbe660311">00095</a> <span class="keyword">inline</span> T <a class="code" href="group__utility.html#geda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">hav</a>(T <span class="keyword">const</span>&amp; theta)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">using</span> boost::math::constants::half;
+<a name="l00098"></a>00098 T <span class="keyword">const</span> sn = std::sin(half&lt;T&gt;() * theta);
+<a name="l00099"></a>00099 <span class="keywordflow">return</span> sn * sn;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00109"></a><a class="code" href="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">00109</a> <span class="keyword">inline</span> T <a class="code" href="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337" title="Short utility to return the square.">sqr</a>(T <span class="keyword">const</span>&amp; value)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> value * value;
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace math</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 } <span class="comment">// namespace ggl</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_UTIL_MATH_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#l00015">15</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,389 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_TRANSFORM_MATRIX_TRANSFORMERS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_TRANSFORM_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</span>
+<a name="l00014"></a>00014 <span class="comment">// (while nothing seems to be wrong)</span>
+<a name="l00015"></a><a class="code" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">00015</a> <span class="preprocessor">#define BOOST_UBLAS_TYPE_CHECK 0</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/numeric/ublas/vector.hpp&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;boost/numeric/ublas/matrix.hpp&gt;</span>
+<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="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.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="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <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="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
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00043"></a>00043 <span class="keyword">template</span>
+<a name="l00044"></a>00044 &lt;
+<a name="l00045"></a>00045 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00046"></a>00046 std::size_t Dimension1,
+<a name="l00047"></a>00047 std::size_t Dimension2
+<a name="l00048"></a>00048 &gt;
+<a name="l00049"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">00049</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 };
+<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&gt;
+<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00054</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">protected</span> :
+<a name="l00057"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">00057</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00058"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">00058</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00059"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#12592e67623e7963a17010ad3441389b">00059</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix&lt;coordinate_type&gt; matrix_type;
+<a name="l00060"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#490515cf8b428ea54c0aacc3d9683876">00060</a> matrix_type m_matrix;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">public</span> :
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#deabcfb90827d666568146854b29ae80">00063</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00064"></a>00064 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00065"></a>00065 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00066"></a>00066 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00067"></a>00067 : m_matrix(3, 3)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2;
+<a name="l00070"></a>00070 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2;
+<a name="l00071"></a>00071 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6f4c5f93e056261368a62866dc1138bc">00074</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00075"></a>00075 : m_matrix(3, 3)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00081"></a>00081 <span class="keyword"> </span>{
+<a name="l00082"></a>00082 assert_dimension_greater_equal&lt;P1, 2&gt;();
+<a name="l00083"></a>00083 assert_dimension_greater_equal&lt;P2, 2&gt;();
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">const</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>&amp; c1 = get&lt;0&gt;(p1);
+<a name="l00086"></a>00086 <span class="keyword">const</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>&amp; c2 = get&lt;1&gt;(p1);
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;P2&gt;::type</a> ct2;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 set&lt;0&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(0,0)
+<a name="l00091"></a>00091 + c2 * m_matrix(0,1) + m_matrix(0,2)));
+<a name="l00092"></a>00092 set&lt;1&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(1,0)
+<a name="l00093"></a>00093 + c2 * m_matrix(1,1) + m_matrix(1,2)));
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00098"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">00098</a> <span class="keyword">const</span> matrix_type&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="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// It IS possible to go from 3 to 2 coordinates</span>
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00103"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">00103</a> <span class="keyword">struct </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 3, 2&gt;
+<a name="l00104"></a>00104 : <span class="keyword">public</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;
+<a name="l00105"></a>00105 {
+<a name="l00106"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#d6b0c10cc71f3cd2d4dad47f5c94a9f2">00106</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00107"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#1f78be251f94d7559e60516ff5fe6774">00107</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00108"></a>00108
+<a name="l00109"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#2a4a593ed9bfa13f35718c475f8e99fb">00109</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00110"></a>00110 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00111"></a>00111 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00112"></a>00112 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00113"></a>00113 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;(
+<a name="l00114"></a>00114 m_0_0, m_0_1, m_0_2,
+<a name="l00115"></a>00115 m_1_0, m_1_1, m_1_2,
+<a name="l00116"></a>00116 m_2_0, m_2_1, m_2_2)
+<a name="l00117"></a>00117 {}
+<a name="l00118"></a>00118
+<a name="l00119"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#a25611abeabb510caa9f38a68b60590e">00119</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00120"></a>00120 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;()
+<a name="l00121"></a>00121 {}
+<a name="l00122"></a>00122 };
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00126"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00126</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 3, 3&gt;
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">protected</span> :
+<a name="l00129"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f18e27122021194c07a471589ba9307d">00129</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00130"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">00130</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00131"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#a76b6324f5b389154d46f685e0d87780">00131</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix&lt;coordinate_type&gt; matrix_type;
+<a name="l00132"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#cbc1a5011d8f38842c1970ea9f7ae859">00132</a> matrix_type m_matrix;
+<a name="l00133"></a>00133
+<a name="l00134"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#62ee4b0a8b7b1e9b4a3b6621911fd0b4">00134</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00135"></a>00135 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00136"></a>00136 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00137"></a>00137 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00138"></a>00138 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>&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="l00139"></a>00139 )
+<a name="l00140"></a>00140 : m_matrix(4, 4)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2; m_matrix(0,3) = m_0_3;
+<a name="l00143"></a>00143 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2; m_matrix(1,3) = m_1_3;
+<a name="l00144"></a>00144 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2; m_matrix(2,3) = m_2_3;
+<a name="l00145"></a>00145 m_matrix(3,0) = m_3_0; m_matrix(3,1) = m_3_1; m_matrix(3,2) = m_3_2; m_matrix(3,3) = m_3_3;
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c6b30d2d246cd8e4ef439c10c563abba">00148</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00149"></a>00149 : m_matrix(4, 4)
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keyword">public</span> :
+<a name="l00155"></a>00155
+<a name="l00156"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">00156</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00157"></a>00157 <span class="keyword"> </span>{
+<a name="l00158"></a>00158 <span class="keyword">const</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>&amp; c1 = get&lt;0&gt;(p1);
+<a name="l00159"></a>00159 <span class="keyword">const</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>&amp; c2 = get&lt;1&gt;(p1);
+<a name="l00160"></a>00160 <span class="keyword">const</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>&amp; c3 = get&lt;2&gt;(p1);
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;P2&gt;::type</a> ct2;
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 set&lt;0&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(0,0)
+<a name="l00165"></a>00165 + c2 * m_matrix(0,1) + c3 * m_matrix(0,2) + m_matrix(0,3)));
+<a name="l00166"></a>00166 set&lt;1&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(1,0)
+<a name="l00167"></a>00167 + c2 * m_matrix(1,1) + c3 * m_matrix(1,2) + m_matrix(1,3)));
+<a name="l00168"></a>00168 set&lt;2&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(2,0)
+<a name="l00169"></a>00169 + c2 * m_matrix(2,1) + c3 * m_matrix(2,2) + m_matrix(2,3)));
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00172"></a>00172 }
+<a name="l00173"></a>00173
+<a name="l00174"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">00174</a> <span class="keyword">const</span> matrix_type&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="l00175"></a>00175 };
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179
+<a name="l00189"></a>00189 <span class="keyword">template</span>
+<a name="l00190"></a>00190 &lt;
+<a name="l00191"></a>00191 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00192"></a>00192 std::size_t Dimension1 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P1&gt;::type::value</a>,
+<a name="l00193"></a>00193 std::size_t Dimension2 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P2&gt;::type::value</a>
+<a name="l00194"></a>00194 &gt;
+<a name="l00195"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">00195</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a> {};
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00199"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00199</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a>&lt;P1, P2, 2, 2&gt;
+<a name="l00200"></a>00200 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;
+<a name="l00201"></a>00201 {
+<a name="l00202"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">00202</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="comment">// To have translate transformers compatible for 2/3 dimensions, the</span>
+<a name="l00205"></a>00205 <span class="comment">// constructor takes an optional third argument doing nothing.</span>
+<a name="l00206"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">00206</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a>(<a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; translate_x,
+<a name="l00207"></a>00207 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; translate_y,
+<a name="l00208"></a>00208 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; dummy = 0)
+<a name="l00209"></a>00209 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;(
+<a name="l00210"></a>00210 1, 0, translate_x,
+<a name="l00211"></a>00211 0, 1, translate_y,
+<a name="l00212"></a>00212 0, 0, 1)
+<a name="l00213"></a>00213 {}
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 };
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00218"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00218</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a>&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="l00219"></a>00219 {
+<a name="l00220"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">00220</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00221"></a>00221
+<a name="l00222"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">00222</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a>(<a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; translate_x,
+<a name="l00223"></a>00223 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; translate_y,
+<a name="l00224"></a>00224 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; translate_z)
+<a name="l00225"></a>00225 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 3, 3&gt;(
+<a name="l00226"></a>00226 1, 0, 0, translate_x,
+<a name="l00227"></a>00227 0, 1, 0, translate_y,
+<a name="l00228"></a>00228 0, 0, 1, translate_z,
+<a name="l00229"></a>00229 0, 0, 0, 1)
+<a name="l00230"></a>00230 {}
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234
+<a name="l00244"></a>00244 <span class="keyword">template</span>
+<a name="l00245"></a>00245 &lt;
+<a name="l00246"></a>00246 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00247"></a>00247 std::size_t Dimension1 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P1&gt;::type::value</a>,
+<a name="l00248"></a>00248 std::size_t Dimension2 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P2&gt;::type::value</a>
+<a name="l00249"></a>00249 &gt;
+<a name="l00250"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">00250</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a> {};
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00254"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00254</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a>&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="l00255"></a>00255 {
+<a name="l00256"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#b6de86a8e58ced2952f1fa8674ddba9b">00256</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00257"></a>00257
+<a name="l00258"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#fd92b640f6aeb776138c3b076b714ae1">00258</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a>(<a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; scale_x,
+<a name="l00259"></a>00259 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; scale_y,
+<a name="l00260"></a>00260 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; dummy = 0)
+<a name="l00261"></a>00261 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 2, 2&gt;(
+<a name="l00262"></a>00262 scale_x, 0, 0,
+<a name="l00263"></a>00263 0, scale_y, 0,
+<a name="l00264"></a>00264 0, 0, 1)
+<a name="l00265"></a>00265 {}
+<a name="l00266"></a>00266 };
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00270"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00270</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a>&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="l00271"></a>00271 {
+<a name="l00272"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">00272</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function 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="l00273"></a>00273
+<a name="l00274"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f63cba0849484a91687f20936bfa1761">00274</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a>(<a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; scale_x,
+<a name="l00275"></a>00275 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; scale_y,
+<a name="l00276"></a>00276 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; scale_z)
+<a name="l00277"></a>00277 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>&lt;P1, P2, 3, 3&gt;(
+<a name="l00278"></a>00278 scale_x, 0, 0, 0,
+<a name="l00279"></a>00279 0, scale_y, 0, 0,
+<a name="l00280"></a>00280 0, 0, scale_z, 0,
+<a name="l00281"></a>00281 0, 0, 0, 1)
+<a name="l00282"></a>00282 {}
+<a name="l00283"></a>00283 };
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00288"></a>00288 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00291"></a>00291 <span class="keyword">struct </span>as_radian {};
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 <span class="keyword">template</span> &lt;&gt;
+<a name="l00294"></a>00294 <span class="keyword">struct </span>as_radian&lt;<a class="code" href="classggl_1_1radian.html" title="Unit of plane angle: Radians.">radian</a>&gt;
+<a name="l00295"></a>00295 {
+<a name="l00296"></a>00296 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
+<a name="l00297"></a>00297 {
+<a name="l00298"></a>00298 <span class="keywordflow">return</span> value;
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 };
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keyword">template</span> &lt;&gt;
+<a name="l00303"></a>00303 <span class="keyword">struct </span>as_radian&lt;degree&gt;
+<a name="l00304"></a>00304 {
+<a name="l00305"></a>00305 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
+<a name="l00306"></a>00306 {
+<a name="l00307"></a>00307 <span class="keywordflow">return</span> value * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>;
+<a name="l00308"></a>00308 }
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 };
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313 <span class="keyword">template</span>
+<a name="l00314"></a>00314 &lt;
+<a name="l00315"></a>00315 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00316"></a>00316 std::size_t Dimension1 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P1&gt;::type::value</a>,
+<a name="l00317"></a>00317 std::size_t Dimension2 = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;P2&gt;::type::value</a>
+<a name="l00318"></a>00318 &gt;
+<a name="l00319"></a>00319 <span class="keyword">struct </span>rad_rotate_transformer
+<a name="l00320"></a>00320 : ublas_transformer&lt;P1, P2, Dimension1, Dimension2&gt;
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="keyword">inline</span> rad_rotate_transformer(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; angle)
+<a name="l00323"></a>00323 : ublas_transformer&lt;P1, P2, Dimension1, Dimension2&gt;(
+<a name="l00324"></a>00324 cos(angle), sin(angle), 0,
+<a name="l00325"></a>00325 -sin(angle), cos(angle), 0,
+<a name="l00326"></a>00326 0, 0, 1)
+<a name="l00327"></a>00327 {}
+<a name="l00328"></a>00328 };
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331 <span class="preprocessor">#endif</span>
+<a name="l00332"></a>00332 <span class="preprocessor"></span>
+<a name="l00333"></a>00333
+<a name="l00345"></a>00345 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00346"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">00346</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html" title="Transformation strategy to rotate in Cartesian system.">rotate_transformer</a> : detail::rad_rotate_transformer&lt;P1, P2&gt;
+<a name="l00347"></a>00347 {
+<a name="l00348"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">00348</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">rotate_transformer</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; angle)
+<a name="l00349"></a>00349 : detail::rad_rotate_transformer
+<a name="l00350"></a>00350 &lt;
+<a name="l00351"></a>00351 P1, P2
+<a name="l00352"></a>00352 &gt;(detail::as_radian&lt;DegreeOrRadian&gt;::<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">get</a>(angle))
+<a name="l00353"></a>00353 {}
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 };
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 }} <span class="comment">// namespace strategy::transform</span>
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 } <span class="comment">// namespace ggl</span>
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_MATRIX_TRANSFORMERS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_OVERLAY_MERGE_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_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="detail_2disjoint_8hpp.html">ggl/algorithms/detail/disjoint.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.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
+<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>intersection {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>Type&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>on_increasing_dimension
+<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_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="l00036"></a>00036
+<a name="l00037"></a>00037 <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="l00038"></a>00038 <span class="keyword"> </span>{
+<a name="l00039"></a>00039 coordinate_type <span class="keyword">const</span>&amp; left0 = ggl::get&lt;0&gt;(lhs);
+<a name="l00040"></a>00040 coordinate_type <span class="keyword">const</span>&amp; right0 = ggl::get&lt;0&gt;(rhs);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">ggl::math::equals</a>(left0, right0)
+<a name="l00043"></a>00043 ? ggl::get&lt;1&gt;(lhs) &lt; ggl::get&lt;1&gt;(rhs)
+<a name="l00044"></a>00044 : left0 &lt; right0;
+<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">// T can be an intersection_point or intersection_info record</span>
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>is_flagged
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <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="l00055"></a>00055 <span class="keyword"> </span>{
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> <span class="keywordtype">object</span>.flagged;
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00063"></a>00063 <span class="keyword">inline</span> <span class="keywordtype">void</span> remove_collinearities(V&amp; intersection_points)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;V&gt;::type iterator_type;
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00071"></a>00071 it != boost::end(intersection_points);
+<a name="l00072"></a>00072 ++it)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (! it-&gt;trivial &amp;&amp; ! it-&gt;flagged)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="comment">// Remove anything having to do with collinearity</span>
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type::traversal_vector vector_type;
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keywordtype">bool</span> has_flag = <span class="keyword">false</span>;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="comment">// Note, this is done n*m, in case of collinearity, but it is only done if not trivial</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);
+<a name="l00095"></a>00095 ++tvit2)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="comment">// Do NOT remove anything starting from collinear, or ending on, in the middle.</span>
+<a name="l00098"></a>00098 <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="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (tvit-&gt;seg_id == tvit2-&gt;seg_id
+<a name="l00101"></a>00101 || tvit-&gt;seg_id == tvit2-&gt;other_id
+<a name="l00102"></a>00102 || tvit-&gt;other_id == tvit2-&gt;seg_id
+<a name="l00103"></a>00103 || tvit-&gt;other_id == tvit2-&gt;other_id
+<a name="l00104"></a>00104 )
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 tvit2-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 <span class="keywordflow">else</span>
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 tvit-&gt;flagged = <span class="keyword">false</span>;
+<a name="l00112"></a>00112 has_flag = <span class="keyword">false</span>;
+<a name="l00113"></a>00113 middle = <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="l00119"></a>00119 <span class="keywordflow">if</span> (has_flag)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 it-&gt;info.erase(
+<a name="l00122"></a>00122 std::remove_if(
+<a name="l00123"></a>00123 boost::begin(it-&gt;info),
+<a name="l00124"></a>00124 boost::end(it-&gt;info),
+<a name="l00125"></a>00125 is_flagged&lt;info_type&gt;()),
+<a name="l00126"></a>00126 boost::end(it-&gt;info));
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// Mark for deletion afterwards if there are no info-records left</span>
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 0)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 it-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="comment">// Some cases 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 {
+<a name="l00138"></a>00138 <span class="comment">// Case: previously forming an 'angle' (test #19)</span>
+<a name="l00139"></a>00139 <span class="keywordflow">if</span> (it-&gt;info.front().how == <span class="charliteral">'a'</span>
+<a name="l00140"></a>00140 &amp;&amp; it-&gt;info.back().how == <span class="charliteral">'a'</span>)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 it-&gt;info.front().direction = 1;
+<a name="l00143"></a>00143 it-&gt;info.back().direction = 1;
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 <span class="comment">// Case: both arrive there, they can continue,</span>
+<a name="l00146"></a>00146 <span class="comment">// change in departure</span>
+<a name="l00147"></a>00147 <span class="keywordflow">if</span> (it-&gt;info.front().how == <span class="charliteral">'t'</span>
+<a name="l00148"></a>00148 &amp;&amp; it-&gt;info.back().how == <span class="charliteral">'t'</span>)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 it-&gt;info.front().arrival = -1;
+<a name="l00151"></a>00151 it-&gt;info.back().arrival = -1;
+<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
+<a name="l00158"></a>00158 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Removed collinearities: "</span> &lt;&lt; std::endl;
+<a name="l00160"></a>00160 report_ip(intersection_points);
+<a name="l00161"></a>00161 <span class="preprocessor">#endif</span>
+<a name="l00162"></a>00162 <span class="preprocessor"></span>}
+<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="comment">// namespace detail::intersection</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="l00172"></a>00172
+<a name="l00180"></a>00180 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00181"></a><a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">00181</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="l00182"></a>00182 {
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type trav_type;
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keywordflow">if</span> (boost::size(intersection_points) &lt;= 1)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="keywordflow">return</span>;
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">// Sort all IP's from left-&gt;right, ymin-&gt;ymax such that</span>
+<a name="l00192"></a>00192 <span class="comment">// all same IP's are consecutive</span>
+<a name="l00193"></a>00193 <span class="comment">// (and we need this order lateron again)</span>
+<a name="l00194"></a>00194 <span class="comment">// This order is NOT changed here and should not be after</span>
+<a name="l00195"></a>00195 <span class="comment">// (otherwise indexes are wrong)</span>
+<a name="l00196"></a>00196 std::sort(boost::begin(intersection_points),
+<a name="l00197"></a>00197 boost::end(intersection_points),
+<a name="l00198"></a>00198 detail::intersection::on_increasing_dimension&lt;trav_type&gt;());
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type iterator;
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00203"></a>00203 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Sorted (x then y): "</span> &lt;&lt; std::endl;
+<a name="l00204"></a>00204 <span class="keywordflow">for</span> (iterator it = boost::begin(intersection_points);
+<a name="l00205"></a>00205 it != boost::end(intersection_points); ++it)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 std::cout &lt;&lt; *it;
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209 <span class="preprocessor">#endif</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span> <span class="keywordtype">bool</span> has_merge = <span class="keyword">false</span>;
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="comment">// Merge all same IP's, combining there IP/segment-info entries</span>
+<a name="l00213"></a>00213 iterator it = boost::begin(intersection_points);
+<a name="l00214"></a>00214 <span class="keywordflow">for</span> (iterator prev = it++; it != boost::end(intersection_points); ++it)
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <span class="comment">// IP can be merged if the point is equal</span>
+<a name="l00217"></a>00217 <span class="keywordflow">if</span> (ggl::detail::equals::equals_point_point(prev-&gt;point, it-&gt;point))
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 has_merge = <span class="keyword">true</span>;
+<a name="l00220"></a>00220 prev-&gt;shared = <span class="keyword">true</span>;
+<a name="l00221"></a>00221 prev-&gt;trivial = <span class="keyword">false</span>;
+<a name="l00222"></a>00222 it-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00223"></a>00223 std::copy(it-&gt;info.begin(), it-&gt;info.end(),
+<a name="l00224"></a>00224 std::back_inserter(prev-&gt;info));
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 <span class="keywordflow">else</span>
+<a name="l00227"></a>00227 {
+<a name="l00228"></a>00228 prev = it;
+<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="keywordflow">if</span> (has_merge)
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00236"></a>00236 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (1): "</span> &lt;&lt; std::endl;
+<a name="l00237"></a>00237 report_ip(intersection_points);
+<a name="l00238"></a>00238 <span class="preprocessor">#endif</span>
+<a name="l00239"></a>00239 <span class="preprocessor"></span>
+<a name="l00240"></a>00240 <span class="comment">// If there merges, there might be collinearities</span>
+<a name="l00241"></a>00241 detail::intersection::remove_collinearities(intersection_points);
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <span class="comment">// Remove all IP's which are flagged for deletion</span>
+<a name="l00244"></a>00244 intersection_points.erase(
+<a name="l00245"></a>00245 std::remove_if(
+<a name="l00246"></a>00246 boost::begin(intersection_points),
+<a name="l00247"></a>00247 boost::end(intersection_points),
+<a name="l00248"></a>00248 detail::intersection::is_flagged&lt;trav_type&gt;()),
+<a name="l00249"></a>00249 boost::end(intersection_points));
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00253"></a>00253 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (2): "</span> &lt;&lt; std::endl;
+<a name="l00254"></a>00254 report_ip(intersection_points);
+<a name="l00255"></a>00255 <span class="preprocessor">#endif</span>
+<a name="l00256"></a>00256 <span class="preprocessor"></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 } <span class="comment">// namespace ggl</span>
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_MERGE_INTERSECTION_POINTS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modules.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/modules.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- 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: calculate area of a geometry</a>
+<li><a class="el" href="group__arithmetic.html">arithmetic: arithmetic operations on points</a>
+<li><a class="el" href="group__centroid.html">centroid: calculate centroid (center of gravity) of a geometry</a>
+<li><a class="el" href="group__combine.html">combine: add a geometry to a bounding box</a>
+<li><a class="el" href="group__compare.html">compare: define compare functors for points</a>
+<li><a class="el" href="group__convert.html">convert: convert geometries from one type to another</a>
+<li><a class="el" href="group__convex__hull.html">convex hull: calculate the convex hull of a geometry</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__disjoint.html">disjoint: detect if geometries are not spatially related</a>
+<li><a class="el" href="group__distance.html">distance: calculate distance between two geometries</a>
+<li><a class="el" href="group__envelope.html">envelope: calculate envelope (minimum bounding rectangle) of a geometry</a>
+<li><a class="el" href="group__equals.html">equals: detect if two geometries are spatially equal</a>
+<li><a class="el" href="group__for__each.html">for_each: apply a functor to each point or segment of a geometry</a>
+<li><a class="el" href="group__geometries.html">geometries: geometries provided by default</a>
+<li><a class="el" href="group__concepts.html">geometry concepts: defines and checks concepts for geometries</a>
+<li><a class="el" href="group__intersection.html">intersection: calculate new geometry containing geometries A and B</a>
+<li><a class="el" href="group__intersects.html">intersects: detect if a geometry self-intersects or if two geometries intersect</a>
+<li><a class="el" href="group__length.html">length: calculate length of a linear geometry</a>
+<li><a class="el" href="group__overlaps.html">overlaps: detect overlap between two geometries</a>
+<li><a class="el" href="group__overlay.html">overlay helper operations (getting intersection points, etc)</a>
+<li><a class="el" href="group__perimeter.html">perimeter: calculate perimeter of a geometry</a>
+<li><a class="el" href="group__sectionalize.html">sectionalize: split a geometry (polygon, linestring, etc)</a>
+<li><a class="el" href="group__simplify.html">simplify: remove points from a geometry, keeping shape (simplification or generalization)</a>
+<li><a class="el" href="group__traits.html">traits: adapt geometries</a>
+<li><a class="el" href="group__transform.html">transform: apply transformations on geometries</a>
+<li><a class="el" href="group__union.html">union: calculate new geometry containing geometries A or B</a>
+<li><a class="el" href="group__utility.html">utility: utility meta-functions and functions</a>
+<li><a class="el" href="group__within.html">within: detect if a geometry is inside another geometry, a.o. point-in-polygon</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00023"></a>00023 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;multi_polygon_tag, MultiGeometry, Order, Strategy&gt;
+<a name="l00024"></a>00024 : detail::multi_sum
+<a name="l00025"></a>00025 &lt;
+<a name="l00026"></a>00026 typename Strategy::return_type,
+<a name="l00027"></a>00027 MultiGeometry,
+<a name="l00028"></a>00028 Strategy,
+<a name="l00029"></a>00029 area
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 polygon_tag,
+<a name="l00032"></a>00032 typename boost::range_value&lt;MultiGeometry&gt;::type,
+<a name="l00033"></a>00033 Order,
+<a name="l00034"></a>00034 Strategy
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a>00036 &gt;
+<a name="l00037"></a>00037 {};
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace dispatch</span>
+<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 } <span class="comment">// namespace ggl</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="algorithms_2num__points_8hpp.html">ggl/algorithms/num_points.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <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="l00015"></a>00015 <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="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="multi_2algorithms_2num__points_8hpp.html">ggl/multi/algorithms/num_points.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>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__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a> {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00030"></a>00030 <span class="keyword">template</span>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <span class="keyword">typename</span> Point,
+<a name="l00033"></a>00033 <span class="keyword">typename</span> Strategy
+<a name="l00034"></a>00034 &gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>centroid_multi_point_state
+<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(Point <span class="keyword">const</span>&amp; point,
+<a name="l00038"></a>00038 Strategy <span class="keyword">const</span>&amp; strategy, <span class="keyword">typename</span> Strategy::state_type&amp; state)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 strategy.apply(point, state);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00054"></a>00054 <span class="keyword">template</span>
+<a name="l00055"></a>00055 &lt;
+<a name="l00056"></a>00056 <span class="keyword">typename</span> Multi,
+<a name="l00057"></a>00057 <span class="keyword">typename</span> Point,
+<a name="l00058"></a>00058 <span class="keyword">typename</span> Strategy,
+<a name="l00059"></a>00059 <span class="keyword">typename</span> Policy
+<a name="l00060"></a>00060 &gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span>centroid_multi
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Multi <span class="keyword">const</span>&amp; multi, Point&amp; <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00064"></a>00064 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="comment">// If there is nothing in any of the ranges, it is not possible </span>
+<a name="l00067"></a>00067 <span class="comment">// to calculate the centroid</span>
+<a name="l00068"></a>00068 <span class="keywordflow">if</span> (<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">ggl::num_points</a>(multi) == 0)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keywordflow">throw</span> centroid_exception();
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;Multi&gt;::type
+<a name="l00076"></a>00076 it = boost::begin(multi);
+<a name="l00077"></a>00077 it != boost::end(multi);
+<a name="l00078"></a>00078 ++it)
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 Policy::apply(*it, strategy, state);
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 Strategy::result(state, centroid);
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 };
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00089"></a>00089 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keyword">template</span>
+<a name="l00098"></a>00098 &lt;
+<a name="l00099"></a>00099 <span class="keyword">typename</span> MultiPolygon,
+<a name="l00100"></a>00100 <span class="keyword">typename</span> Point,
+<a name="l00101"></a>00101 <span class="keyword">typename</span> Strategy
+<a name="l00102"></a>00102 &gt;
+<a name="l00103"></a>00103 <span class="keyword">struct </span>centroid&lt;multi_polygon_tag, MultiPolygon, Point, Strategy&gt;
+<a name="l00104"></a>00104 : detail::centroid::centroid_multi
+<a name="l00105"></a>00105 &lt;
+<a name="l00106"></a>00106 MultiPolygon,
+<a name="l00107"></a>00107 Point,
+<a name="l00108"></a>00108 Strategy,
+<a name="l00109"></a>00109 detail::centroid::centroid_polygon_state
+<a name="l00110"></a>00110 &lt;
+<a name="l00111"></a>00111 typename boost::range_value&lt;MultiPolygon&gt;::type,
+<a name="l00112"></a>00112 Strategy
+<a name="l00113"></a>00113 &gt;
+<a name="l00114"></a>00114 &gt;
+<a name="l00115"></a>00115 {};
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">template</span>
+<a name="l00119"></a>00119 &lt;
+<a name="l00120"></a>00120 <span class="keyword">typename</span> MultiPoint,
+<a name="l00121"></a>00121 <span class="keyword">typename</span> Point,
+<a name="l00122"></a>00122 <span class="keyword">typename</span> Strategy
+<a name="l00123"></a>00123 &gt;
+<a name="l00124"></a>00124 <span class="keyword">struct </span>centroid&lt;multi_point_tag, MultiPoint, Point, Strategy&gt;
+<a name="l00125"></a>00125 : detail::centroid::centroid_multi
+<a name="l00126"></a>00126 &lt;
+<a name="l00127"></a>00127 MultiPoint,
+<a name="l00128"></a>00128 Point,
+<a name="l00129"></a>00129 Strategy,
+<a name="l00130"></a>00130 detail::centroid::centroid_multi_point_state
+<a name="l00131"></a>00131 &lt;
+<a name="l00132"></a>00132 typename boost::range_value&lt;MultiPoint&gt;::type,
+<a name="l00133"></a>00133 Strategy
+<a name="l00134"></a>00134 &gt;
+<a name="l00135"></a>00135 &gt;
+<a name="l00136"></a>00136 {};
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace dispatch</span>
+<a name="l00140"></a>00140 <span class="preprocessor">#endif</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 } <span class="comment">// namespace ggl</span>
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_CONVEX_HULL_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_CONVEX_HULL_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="multi_2iterators_2range__type_8hpp.html">ggl/multi/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;ggl/multi/util/for_each_range.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="comment">// Note that this file is, furthermore, empty,</span>
+<a name="l00016"></a>00016 <span class="comment">// there is no specialization necessary</span>
+<a name="l00017"></a>00017 <span class="comment">// as this is in fact done by for_each_range</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="comment">// Might therefore be obsoleted.</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2correct_8hpp.html">ggl/algorithms/correct.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<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
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>correct_multi_polygon
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon&amp; mp)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;MultiPolygon&gt;::type polygon_type;
+<a name="l00034"></a>00034 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_iterator&lt;MultiPolygon&gt;::type it
+<a name="l00035"></a>00035 = boost::begin(mp);
+<a name="l00036"></a>00036 it != boost::end(mp);
+<a name="l00037"></a>00037 ++it)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 correct_polygon&lt;polygon_type&gt;::apply(*it);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 }} <span class="comment">// namespace detail::correct</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>&lt;multi_polygon_tag, Geometry&gt;
+<a name="l00053"></a>00053 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_multi_polygon&lt;Geometry&gt;
+<a name="l00054"></a>00054 {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 } <span class="comment">// namespace dispatch</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 } <span class="comment">// namespace ggl</span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CORRECT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <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="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 <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__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a> {
+<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> Geometry, <span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>distance_single_to_multi
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00036"></a>00036 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00037"></a>00037 MultiGeometry <span class="keyword">const</span>&amp; multi,
+<a name="l00038"></a>00038 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">using namespace </span>boost;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 return_type mindist = make_distance_result&lt;return_type&gt;(
+<a name="l00043"></a>00043 numeric::bounds
+<a name="l00044"></a>00044 &lt;
+<a name="l00045"></a>00045 <span class="keyword">typename</span> select_coordinate_type
+<a name="l00046"></a>00046 &lt;
+<a name="l00047"></a>00047 Geometry,
+<a name="l00048"></a>00048 MultiGeometry
+<a name="l00049"></a>00049 &gt;::type
+<a name="l00050"></a>00050 &gt;::highest());
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordflow">for</span>(<span class="keyword">typename</span> range_const_iterator&lt;MultiGeometry&gt;::type it = begin(multi);
+<a name="l00053"></a>00053 it != end(multi);
+<a name="l00054"></a>00054 ++it)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 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="l00057"></a>00057 <span class="keywordflow">if</span> (dist &lt; mindist)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 mindist = dist;
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keywordflow">return</span> mindist;
+<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> Multi1, <span class="keyword">typename</span> Multi2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>distance_multi_to_multi
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Multi1 <span class="keyword">const</span>&amp; multi1,
+<a name="l00073"></a>00073 Multi2 <span class="keyword">const</span>&amp; multi2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">using namespace </span>boost;
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 return_type mindist = make_distance_result&lt;return_type&gt;(
+<a name="l00078"></a>00078 numeric::bounds
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 <span class="keyword">typename</span> select_coordinate_type
+<a name="l00081"></a>00081 &lt;
+<a name="l00082"></a>00082 Multi1,
+<a name="l00083"></a>00083 Multi2
+<a name="l00084"></a>00084 &gt;::type
+<a name="l00085"></a>00085 &gt;::highest());
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keywordflow">for</span>(<span class="keyword">typename</span> range_const_iterator&lt;Multi1&gt;::type it = begin(multi1);
+<a name="l00088"></a>00088 it != end(multi1);
+<a name="l00089"></a>00089 ++it)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 return_type dist = distance_single_to_multi
+<a name="l00092"></a>00092 &lt;
+<a name="l00093"></a>00093 <span class="keyword">typename</span> range_value&lt;Multi1&gt;::type,
+<a name="l00094"></a>00094 Multi2,
+<a name="l00095"></a>00095 Strategy
+<a name="l00096"></a>00096 &gt;::apply(*it, multi2, strategy);
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (dist &lt; mindist)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 mindist = dist;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> mindist;
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 }} <span class="comment">// namespace detail::distance</span>
+<a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00117"></a>00117 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00118"></a>00118 <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="l00119"></a>00119 : 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="l00120"></a>00120 {};
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00123"></a>00123 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00124"></a>00124 <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="l00125"></a>00125 : 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="l00126"></a>00126 {};
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 } <span class="comment">// namespace dispatch</span>
+<a name="l00129"></a>00129 <span class="preprocessor">#endif</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span>
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 } <span class="comment">// namespace ggl</span>
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">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&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)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(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_additional(*it, mbr);
+<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&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)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(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_additional(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*it), mbr);
+<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>
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 <span class="keyword">typename</span> Multi, <span class="keyword">typename</span> Box,
+<a name="l00075"></a>00075 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00076"></a>00076 &gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>&lt;multi_point_tag, box_tag, Multi, Box, StrategyLess, StrategyGreater&gt;
+<a name="l00078"></a>00078 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_range&lt;Multi, Box&gt;
+<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> Multi, <span class="keyword">typename</span> Box,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00085"></a>00085 &gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>&lt;multi_linestring_tag, box_tag, Multi, Box, StrategyLess, StrategyGreater&gt;
+<a name="l00087"></a>00087 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_multi_linestring&lt;Multi, Box&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>
+<a name="l00092"></a>00092 &lt;
+<a name="l00093"></a>00093 <span class="keyword">typename</span> Multi, <span class="keyword">typename</span> Box,
+<a name="l00094"></a>00094 <span class="keyword">typename</span> StrategyLess, <span class="keyword">typename</span> StrategyGreater
+<a name="l00095"></a>00095 &gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>&lt;multi_polygon_tag, box_tag, Multi, Box, StrategyLess, StrategyGreater&gt;
+<a name="l00097"></a>00097 : detail::<a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67" title="Calculate envelope of a geometry.">envelope</a>::envelope_multi_polygon&lt;Multi, Box&gt;
+<a name="l00098"></a>00098 {};
+<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</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<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
+<a name="l00110"></a>00110 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_ENVELOPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <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="l00014"></a>00014 <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="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2for__each_8hpp.html">ggl/algorithms/for_each.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_DETAIL</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="comment">// Implementation of multi, for both point and segment,</span>
+<a name="l00029"></a>00029 <span class="comment">// just calling the single version.</span>
+<a name="l00030"></a>00030 <span class="keyword">template</span>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00033"></a>00033 <span class="keyword">typename</span> Functor,
+<a name="l00034"></a>00034 <span class="keywordtype">bool</span> IsConst,
+<a name="l00035"></a>00035 <span class="keyword">typename</span> Policy
+<a name="l00036"></a>00036 &gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>for_each_multi
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00040"></a>00040 <span class="keyword">typename</span> add_const_if_c&lt;IsConst, MultiGeometry&gt;::type&amp; multi,
+<a name="l00041"></a>00041 Functor f)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_iterator_const_if_c
+<a name="l00044"></a>00044 &lt;
+<a name="l00045"></a>00045 IsConst,
+<a name="l00046"></a>00046 MultiGeometry
+<a name="l00047"></a>00047 &gt;::type iterator_type;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordflow">for</span>(iterator_type it = boost::begin(multi);
+<a name="l00050"></a>00050 it != boost::end(multi);
+<a name="l00051"></a>00051 ++it)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 f = Policy::apply(*it, f);
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> f;
+<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::for_each</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> MultiTag,
+<a name="l00071"></a>00071 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00072"></a>00072 <span class="keyword">typename</span> Functor,
+<a name="l00073"></a>00073 <span class="keywordtype">bool</span> IsConst
+<a name="l00074"></a>00074 &gt;
+<a name="l00075"></a>00075 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;MultiTag, true, MultiGeometry, Functor, IsConst&gt;
+<a name="l00076"></a>00076 : detail::for_each::for_each_multi
+<a name="l00077"></a>00077 &lt;
+<a name="l00078"></a>00078 MultiGeometry,
+<a name="l00079"></a>00079 Functor,
+<a name="l00080"></a>00080 IsConst,
+<a name="l00081"></a>00081 <span class="comment">// Specify the dispatch of the single-version as policy</span>
+<a name="l00082"></a>00082 for_each_point
+<a name="l00083"></a>00083 &lt;
+<a name="l00084"></a>00084 typename single_tag&lt;MultiTag&gt;::type,
+<a name="l00085"></a>00085 false,
+<a name="l00086"></a>00086 typename boost::range_value&lt;MultiGeometry&gt;::type,
+<a name="l00087"></a>00087 Functor,
+<a name="l00088"></a>00088 IsConst
+<a name="l00089"></a>00089 &gt;
+<a name="l00090"></a>00090 &gt;
+<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>
+<a name="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> MultiTag,
+<a name="l00097"></a>00097 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00098"></a>00098 <span class="keyword">typename</span> Functor,
+<a name="l00099"></a>00099 <span class="keywordtype">bool</span> IsConst
+<a name="l00100"></a>00100 &gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;MultiTag, true, MultiGeometry, Functor, IsConst&gt;
+<a name="l00102"></a>00102 : detail::for_each::for_each_multi
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 MultiGeometry,
+<a name="l00105"></a>00105 Functor,
+<a name="l00106"></a>00106 IsConst,
+<a name="l00107"></a>00107 <span class="comment">// Specify the dispatch of the single-version as policy</span>
+<a name="l00108"></a>00108 for_each_segment
+<a name="l00109"></a>00109 &lt;
+<a name="l00110"></a>00110 typename single_tag&lt;MultiTag&gt;::type,
+<a name="l00111"></a>00111 false,
+<a name="l00112"></a>00112 typename boost::range_value&lt;MultiGeometry&gt;::type,
+<a name="l00113"></a>00113 Functor,
+<a name="l00114"></a>00114 IsConst
+<a name="l00115"></a>00115 &gt;
+<a name="l00116"></a>00116 &gt;
+<a name="l00117"></a>00117 {};
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 } <span class="comment">// namespace dispatch</span>
+<a name="l00121"></a>00121 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</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
+<a name="l00126"></a>00126 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_FOR_EACH_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#g8c12093b8b10102bd3458b0603c31df6" 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> boost::range_const_iterator
+<a name="l00036"></a>00036 &lt;
+<a name="l00037"></a>00037 <span class="keyword">typename</span> <a class="code" href="structggl_1_1range__type.html" title="Meta-function defining a type which is a boost-range.">ggl::range_type&lt;MultiPolygon&gt;::type</a>
+<a name="l00038"></a>00038 &gt;::type iterator_type;
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <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="l00041"></a>00041 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 BOOST_ASSERT(section.multi_index &gt;= 0 &amp;&amp; section.multi_index &lt; boost::size(multi_polygon));
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 get_section&lt;polygon_tag, typename boost::range_value&lt;MultiPolygon&gt;::type, Section&gt;
+<a name="l00046"></a>00046 ::apply(multi_polygon[section.multi_index], section, begin, end);
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 } <span class="comment">// namespace dispatch</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 } <span class="comment">// namespace ggl</span>
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+<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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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__intersection.html#gebe4cbe7f224f01d9d92f604888002a1" title="Intersects two geometries.">intersection_inserter</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
+<a name="l00040"></a>00040 } <span class="comment">// namespace 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 } <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_INTERSECTION_HPP</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.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
+<a name="l00022"></a>00022 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiLine<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00023"></a>00023 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>&lt;multi_linestring_tag, MultiLinestring, Strategy&gt;
+<a name="l00024"></a>00024 : detail::multi_sum
+<a name="l00025"></a>00025 &lt;
+<a name="l00026"></a>00026 typename length_result&lt;MultiLinestring&gt;::type,
+<a name="l00027"></a>00027 MultiLinestring,
+<a name="l00028"></a>00028 Strategy,
+<a name="l00029"></a>00029 detail::length::range_length
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 typename boost::range_value&lt;MultiLinestring&gt;::type,
+<a name="l00032"></a>00032 Strategy
+<a name="l00033"></a>00033 &gt;
+<a name="l00034"></a>00034 &gt;
+<a name="l00035"></a>00035 {};
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace dispatch</span>
+<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 } <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 // GGL_MULTI_ALGORITHMS_LENGTH_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_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
+<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
+<a name="l00016"></a>00016 <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="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_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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00025"></a>00025 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>&lt;multi_polygon_tag, MultiPolygon, Strategy&gt;
+<a name="l00026"></a>00026 : detail::multi_sum
+<a name="l00027"></a>00027 &lt;
+<a name="l00028"></a>00028 typename length_result&lt;MultiPolygon&gt;::type,
+<a name="l00029"></a>00029 MultiPolygon,
+<a name="l00030"></a>00030 Strategy,
+<a name="l00031"></a>00031 perimeter
+<a name="l00032"></a>00032 &lt;
+<a name="l00033"></a>00033 polygon_tag,
+<a name="l00034"></a>00034 typename boost::range_value&lt;MultiPolygon&gt;::type,
+<a name="l00035"></a>00035 Strategy
+<a name="l00036"></a>00036 &gt;
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a>00038 {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace 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 } <span class="comment">// namespace ggl</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_PERIMETER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="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
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="multi_2iterators_2range__type_8hpp.html">ggl/multi/iterators/range_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2simplify_8hpp.html">ggl/algorithms/simplify.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 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a> {
+<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> Strategy, <span class="keyword">typename</span> Policy&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>simplify_multi
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiGeometry <span class="keyword">const</span>&amp; multi, MultiGeometry&amp; out,
+<a name="l00033"></a>00033 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 out.resize(boost::size(multi));
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">typename</span> boost::range_iterator&lt;MultiGeometry&gt;::type it_out
+<a name="l00038"></a>00038 = boost::begin(out);
+<a name="l00039"></a>00039 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiGeometry&gt;::type it_in
+<a name="l00040"></a>00040 = boost::begin(multi);
+<a name="l00041"></a>00041 it_in != boost::end(multi);
+<a name="l00042"></a>00042 ++it_in, ++it_out)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 Policy::apply(*it_in, *it_out, max_distance, strategy);
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 }} <span class="comment">// namespace detail::simplify</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPo<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;multi_point_tag, MultiPoint, Strategy&gt;
+<a name="l00063"></a>00063 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_copy
+<a name="l00064"></a>00064 &lt;
+<a name="l00065"></a>00065 MultiPoint,
+<a name="l00066"></a>00066 Strategy
+<a name="l00067"></a>00067 &gt;
+<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> MultiLine<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;multi_linestring_tag, MultiLinestring, Strategy&gt;
+<a name="l00074"></a>00074 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_multi
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 MultiLinestring,
+<a name="l00077"></a>00077 Strategy,
+<a name="l00078"></a>00078 detail::simplify::simplify_range
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 typename boost::range_value&lt;MultiLinestring&gt;::type,
+<a name="l00081"></a>00081 Strategy,
+<a name="l00082"></a>00082 2
+<a name="l00083"></a>00083 &gt;
+<a name="l00084"></a>00084 &gt;
+<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> MultiPolygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>&lt;multi_polygon_tag, MultiPolygon, Strategy&gt;
+<a name="l00091"></a>00091 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a>::simplify_multi
+<a name="l00092"></a>00092 &lt;
+<a name="l00093"></a>00093 MultiPolygon,
+<a name="l00094"></a>00094 Strategy,
+<a name="l00095"></a>00095 detail::simplify::simplify_polygon
+<a name="l00096"></a>00096 &lt;
+<a name="l00097"></a>00097 typename boost::range_value&lt;MultiPolygon&gt;::type,
+<a name="l00098"></a>00098 Strategy
+<a name="l00099"></a>00099 &gt;
+<a name="l00100"></a>00100 &gt;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 {};
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 } <span class="comment">// namespace dispatch</span>
+<a name="l00106"></a>00106 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span>
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 } <span class="comment">// namespace ggl</span>
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_SIMPLIFY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#g69b7e7f328a6092efb8edc9d857504d1" 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, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span><a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 multi_polygon_tag, multi_polygon_tag,
+<a name="l00069"></a>00069 Multi1, Multi2,
+<a name="l00070"></a>00070 Strategy
+<a name="l00071"></a>00071 &gt;
+<a name="l00072"></a>00072 : detail::<a class="code" href="group__transform.html#g69b7e7f328a6092efb8edc9d857504d1" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_multi
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 Multi1,
+<a name="l00075"></a>00075 Multi2,
+<a name="l00076"></a>00076 detail::transform::transform_polygon
+<a name="l00077"></a>00077 &lt;
+<a name="l00078"></a>00078 typename boost::range_value&lt;Multi1&gt;::type,
+<a name="l00079"></a>00079 typename boost::range_value&lt;Multi2&gt;::type,
+<a name="l00080"></a>00080 Strategy
+<a name="l00081"></a>00081 &gt;
+<a name="l00082"></a>00082 &gt;
+<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 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="l00091"></a>00091 } <span class="comment">// namespace ggl</span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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_2within_8hpp.html">ggl/algorithms/within.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="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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a> {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">template</span>
+<a name="l00027"></a>00027 &lt;
+<a name="l00028"></a>00028 <span class="keyword">typename</span> Geometry,
+<a name="l00029"></a>00029 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00030"></a>00030 <span class="keyword">typename</span> Strategy,
+<a name="l00031"></a>00031 <span class="keyword">typename</span> Policy
+<a name="l00032"></a>00032 &gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>geometry_in_multi
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Geometry <span class="keyword">const</span>&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="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiGeometry&gt;::type it
+<a name="l00040"></a>00040 = boost::begin(multi);
+<a name="l00041"></a>00041 it != boost::end(multi);
+<a name="l00042"></a>00042 ++it)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="comment">// Geometry within a multi: true if within one of them</span>
+<a name="l00045"></a>00045 <span class="keywordflow">if</span> (Policy::apply(geometry, *it, strategy))
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }} <span class="comment">// namespace detail::within</span>
+<a name="l00055"></a>00055 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>&lt;point_tag, multi_polygon_tag, Point, MultiPolygon, Strategy&gt;
+<a name="l00063"></a>00063 : detail::<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>::geometry_in_multi
+<a name="l00064"></a>00064 &lt;
+<a name="l00065"></a>00065 Point,
+<a name="l00066"></a>00066 MultiPolygon,
+<a name="l00067"></a>00067 Strategy,
+<a name="l00068"></a>00068 detail::within::point_in_polygon
+<a name="l00069"></a>00069 &lt;
+<a name="l00070"></a>00070 Point,
+<a name="l00071"></a>00071 typename boost::range_value&lt;MultiPolygon&gt;::type,
+<a name="l00072"></a>00072 Strategy
+<a name="l00073"></a>00073 &gt;
+<a name="l00074"></a>00074 &gt;
+<a name="l00075"></a>00075 {};
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// namespace dispatch</span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080 } <span class="comment">// namespace ggl</span>
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1single__tag.html">ggl::single_tag&lt; Tag &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.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="l00019"></a><a class="code" href="structggl_1_1multi__point__tag.html">00019</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="l00020"></a>00020
+<a name="l00022"></a><a class="code" href="structggl_1_1multi__linestring__tag.html">00022</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="l00023"></a>00023
+<a name="l00025"></a><a class="code" href="structggl_1_1multi__polygon__tag.html">00025</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="l00026"></a>00026
+<a name="l00028"></a><a class="code" href="structggl_1_1geometry__collection__tag.html">00028</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="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag&gt;
+<a name="l00038"></a><a class="code" href="structggl_1_1single__tag.html">00038</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1single__tag.html" title="Meta-function to get for a tag of a multi-geometry the tag of the corresponding single-geometry...">single_tag</a>
+<a name="l00039"></a>00039 {};
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;&gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1single__tag.html" title="Meta-function to get for a tag of a multi-geometry the tag of the corresponding single-geometry...">single_tag</a>&lt;<a class="code" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a>&gt;
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">point_tag</a> type;
+<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>single_tag&lt;multi_linestring_tag&gt;
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 <span class="keyword">typedef</span> linestring_tag type;
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>single_tag&lt;multi_polygon_tag&gt;
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> polygon_tag type;
+<a name="l00059"></a>00059 };
+<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 } <span class="comment">// namespace ggl</span>
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/check.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2geometries_2concepts_2check_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/check.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_CONCEPTS_CHECK_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;boost/type_traits/is_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<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="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="multi__point__concept_8hpp.html">ggl/multi/geometries/concepts/multi_point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="multi__linestring__concept_8hpp.html">ggl/multi/geometries/concepts/multi_linestring_concept.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="multi__polygon__concept_8hpp.html">ggl/multi/geometries/concepts/multi_polygon_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="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_point_tag, Geometry, true&gt;
+<a name="l00035"></a>00035 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstMultiPoint&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_point_tag, Geometry, false&gt;
+<a name="l00041"></a>00041 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::MultiPoint&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00046"></a>00046 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_linestring_tag, Geometry, true&gt;
+<a name="l00047"></a>00047 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstMultiLinestring&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_linestring_tag, Geometry, false&gt;
+<a name="l00053"></a>00053 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::MultiLinestring&lt;Geometry&gt; &gt;
+<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> Geometry&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_polygon_tag, Geometry, true&gt;
+<a name="l00059"></a>00059 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::ConstMultiPolygon&lt;Geometry&gt; &gt;
+<a name="l00060"></a>00060 {};
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00064"></a>00064 <span class="keyword">struct </span><a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;multi_polygon_tag, Geometry, false&gt;
+<a name="l00065"></a>00065 : detail::concept_check::<a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>&lt;concept::MultiPolygon&lt;Geometry&gt; &gt;
+<a name="l00066"></a>00066 {};
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 } <span class="comment">// namespace dispatch</span>
+<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 } <span class="comment">// namespace ggl</span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/iterators/range_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi_2iterators_2range__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/iterators/range_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_MULTI_ITERATORS_RANGE_TYPE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ITERATORS_RANGE_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="multi_2core_2is__multi_8hpp.html">ggl/multi/core/is_multi.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2range__type_8hpp.html">ggl/iterators/range_type.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="comment">// multi-point acts itself as a range</span>
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00027"></a>00027 <span class="keyword">struct </span>range_type&lt;multi_point_tag, Geometry&gt;
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keyword">typedef</span> Geometry type;
+<a name="l00030"></a>00030 };
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span>range_type&lt;multi_linestring_tag, Geometry&gt;
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type type;
+<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> Geometry&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>range_type&lt;multi_polygon_tag, Geometry&gt;
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="comment">// Call its single-version</span>
+<a name="l00044"></a>00044 <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="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type
+<a name="l00047"></a>00047 &gt;::type type;
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 } <span class="comment">// namespace dispatch</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<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_ITERATORS_RANGE_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 class="mdescLeft">&nbsp;</td><td class="mdescRight">multi_line, a collection of <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> 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_LINESTRING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_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/requires.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="linestring__concept_8hpp.html">ggl/geometries/concepts/linestring_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.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="l00030"></a>00030 <span class="keyword">template</span>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <span class="keyword">typename</span> L,
+<a name="l00033"></a>00033 <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="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1multi__linestring.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__linestring.html" title="multi_line, a collection of linestring">multi_linestring</a> : <span class="keyword">public</span> V&lt;L, A&lt;L&gt; &gt;
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <a class="code" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">concept::Linestring&lt;L&gt;</a>) );
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span>
+<a name="l00047"></a>00047 &lt;
+<a name="l00048"></a>00048 <span class="keyword">typename</span> L,
+<a name="l00049"></a>00049 <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="l00050"></a>00050 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00051"></a>00051 &gt;
+<a name="l00052"></a>00052 <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" title="multi_line, a collection of linestring">multi_linestring</a>&lt;L, V, A&gt; &gt;
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <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="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 } <span class="comment">// namespace traits</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 } <span class="comment">// namespace ggl</span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_LINESTRING_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ggl::concept::ConstMultiLinestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-linestring (const version) 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_1concept_1_1_multi_linestring.html">ggl::concept::MultiLinestring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__linestring__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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_MULTI_GEOMETRIES_CONCEPTS_MULTI_LINESTRING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_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 <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="linestring__concept_8hpp.html">ggl/geometries/concepts/linestring_concept.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 { <span class="keyword">namespace </span>concept {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00037"></a><a class="code" href="classggl_1_1concept_1_1_multi_linestring.html">00037</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_multi_linestring.html" title="multi-linestring concept">MultiLinestring</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type linestring_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">concept::Linestring&lt;linestring_type&gt;</a>) );
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">public</span> :
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_multi_linestring.html" title="multi-linestring concept">MultiLinestring</a>)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 }
+<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
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00060"></a><a class="code" href="classggl_1_1concept_1_1_const_multi_linestring.html">00060</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_multi_linestring.html" title="concept for multi-linestring (const version)">ConstMultiLinestring</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type linestring_type;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_linestring.html" title="Linestring concept (const version).">concept::ConstLinestring&lt;linestring_type&gt;</a>) );
+<a name="l00066"></a>00066 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">public</span> :
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_multi_linestring.html" title="concept for multi-linestring (const version)">ConstMultiLinestring</a>)
+<a name="l00072"></a>00072 {
+<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>00076
+<a name="l00077"></a>00077 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_LINESTRING_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a>, a collection 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;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="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.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="l00030"></a>00030 <span class="keyword">template</span>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <span class="keyword">typename</span> P,
+<a name="l00033"></a>00033 <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="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1multi__point.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <a class="code" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;P&gt;</a>) );
+<a name="l00039"></a>00039 };
+<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
+<a name="l00045"></a>00045 <span class="keyword">template</span>
+<a name="l00046"></a>00046 &lt;
+<a name="l00047"></a>00047 <span class="keyword">typename</span> P,
+<a name="l00048"></a>00048 <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="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00050"></a>00050 &gt;
+<a name="l00051"></a>00051 <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" title="multi_point, a collection of points">multi_point</a>&lt;P, V, A&gt; &gt;
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <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="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace traits</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
+<a name="l00059"></a>00059 } <span class="comment">// namespace ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_multi_point.html">ggl::concept::ConstMultiPoint&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-point (const version) 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_1concept_1_1_multi_point.html">ggl::concept::MultiPoint&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__point__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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</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_GEOMETRIES_CONCEPTS_MULTI_POINT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_POINT_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 <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="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.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 { <span class="keyword">namespace </span>concept {
+<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> Geometry&gt;
+<a name="l00036"></a><a class="code" href="classggl_1_1concept_1_1_multi_point.html">00036</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::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="l00040"></a>00040
+<a name="l00041"></a>00041 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;point_type&gt;</a>) );
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">public</span> :
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a>)
+<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
+<a name="l00053"></a>00053
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00059"></a><a class="code" href="classggl_1_1concept_1_1_const_multi_point.html">00059</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_multi_point.html" title="concept for multi-point (const version)">ConstMultiPoint</a>
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::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="l00063"></a>00063
+<a name="l00064"></a>00064 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;point_type&gt;</a>) );
+<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">public</span> :
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_multi_point.html" title="concept for multi-point (const version)">ConstMultiPoint</a>)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 }
+<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 ggl::concept</span>
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_POINT_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a>, a collection of <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> 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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;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="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="polygon__concept_8hpp.html">ggl/geometries/concepts/polygon_concept.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="l00030"></a>00030 <span class="keyword">template</span>
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 <span class="keyword">typename</span> P,
+<a name="l00033"></a>00033 <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="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1multi__polygon.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <a class="code" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">concept::Polygon&lt;P&gt;</a>) );
+<a name="l00039"></a>00039 };
+<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
+<a name="l00045"></a>00045 <span class="keyword">template</span>
+<a name="l00046"></a>00046 &lt;
+<a name="l00047"></a>00047 <span class="keyword">typename</span> P,
+<a name="l00048"></a>00048 <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="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00050"></a>00050 &gt;
+<a name="l00051"></a>00051 <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" title="multi_polygon, a collection of linestring">multi_polygon</a>&lt;P, V, A&gt; &gt;
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <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="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace traits</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
+<a name="l00059"></a>00059 } <span class="comment">// namespace ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_multi_polygon.html">ggl::concept::ConstMultiPolygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-polygon (const version) 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_1concept_1_1_multi_polygon.html">ggl::concept::MultiPolygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__polygon__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/multi/geometries/concepts/multi_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
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_POLYGON_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_POLYGON_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 <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="polygon__concept_8hpp.html">ggl/geometries/concepts/polygon_concept.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 { <span class="keyword">namespace </span>concept {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00037"></a><a class="code" href="classggl_1_1concept_1_1_multi_polygon.html">00037</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_multi_polygon.html" title="multi-polygon concept">MultiPolygon</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type polygon_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">concept::Polygon&lt;polygon_type&gt;</a>) );
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">public</span> :
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_multi_polygon.html" title="multi-polygon concept">MultiPolygon</a>)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 }
+<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
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00060"></a><a class="code" href="classggl_1_1concept_1_1_const_multi_polygon.html">00060</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_multi_polygon.html" title="concept for multi-polygon (const version)">ConstMultiPolygon</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Geometry&gt;::type polygon_type;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_polygon.html" title="Polygon concept (const version).">concept::ConstPolygon&lt;polygon_type&gt;</a>) );
+<a name="l00066"></a>00066 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">public</span> :
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_multi_polygon.html" title="concept for multi-polygon (const version)">ConstMultiPolygon</a>)
+<a name="l00072"></a>00072 {
+<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>00076
+<a name="l00077"></a>00077 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_CONCEPTS_MULTI_POLYGON_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> ReturnType,
+<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> ReturnType 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 ReturnType sum = ReturnType();
+<a name="l00033"></a>00033 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00034"></a>00034 &lt;
+<a name="l00035"></a>00035 MultiGeometry
+<a name="l00036"></a>00036 &gt;::type it = boost::begin(geometry);
+<a name="l00037"></a>00037 it != boost::end(geometry);
+<a name="l00038"></a>00038 ++it)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 sum += Policy::apply(*it, strategy);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> sum;
+<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 detail</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>
+<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_SUM_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,1601 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_1add__const__if__c.html">add_const_if_c</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const 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_1area__result.html">area_result</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of area function. 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 plane angle: 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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1equal__to.html">equal_to</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equal To functor, to compare if points are equal. 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_1greater.html">greater</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater functor. 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" title="multi_point, a collection of points">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 plane angle: 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_1length__result.html">length_result</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of length function. 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 functor, to sort points in ascending order. 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="mdescLeft">&nbsp;</td><td class="mdescRight">multi_line, a collection of <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> 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">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="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a>, a collection 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_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="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a>, a collection of <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> 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">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_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__order.html">point_order</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_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 plane angle: 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_1range__iterator__const__if__c.html">range_iterator_const_if_c</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const boost range iterator. 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_1range__type.html">range_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining a type which is a boost-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_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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html">segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function selecting the "calculation" 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_1select__coordinate__type.html">select_coordinate_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function 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">Meta-function 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_1single__tag.html">single_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry. 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__parse.html">strategy_parse</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tagraits 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_point1_00_01_point2_01_4_01_4.html">strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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_point44a0bc328e7ec9bd6c5d771967a8f024.html">strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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_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="classggl_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 colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> { <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a> = 1,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a> = 2,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">order_undetermined</a> = 0
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&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 Geometry , 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#ge6ff0cb391fb5a3c3a312defe15b4909">append</a> (Geometry &amp;geometry, RoP const &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>, 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 specified <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;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">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 (<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 Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g99e0a8eac282cd44fbdb1a47666ea084">as_range</a> (Geometry &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 (<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 , 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 Geometry , 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="group__access.html#g01c6d019dc45f5ce8879dd80f782164a">assign</a> (Geometry &amp;geometry, Range 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 Geometry , typename Type &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#g20da5a3c93b6acef4960d64403058684">assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type const &amp;c3, Type const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Type &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#g0cad7f19a3953827f4e0103a4d8c5de7">assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type const &amp;c2, Type 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 Geometry , typename Type &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#g8048129c97cd540dc75d9040d8d95c0e">assign</a> (Geometry &amp;geometry, Type const &amp;c1, Type 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 Box , 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__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">assign_box_corners</a> (Box const &amp;<a class="el" href="classggl_1_1box.html">box</a>, Point &amp;lower_left, Point &amp;lower_right, Point &amp;upper_left, Point &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 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__access.html#g490821bd25a63cc584be1319375794f0">assign_inverse</a> (Geometry &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;std::size_t Index, typename Point , 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__access.html#ge488e5481766be6f054c615743e7cc8e">assign_point_from_index</a> (Geometry const &amp;geometry, Point &amp;<a class="el" href="classggl_1_1point.html">point</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Index, typename Geometry , 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__access.html#gfebbca0a1f8d9668e0622efa07f731f4">assign_point_to_index</a> (Point const &amp;<a class="el" href="classggl_1_1point.html">point</a>, Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;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__access.html#g3b95c5faaa108785681e58099b48dc35">assign_zero</a> (Geometry &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 Geometry , 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__centroid.html#gc7e9651663cd19868cae40c20c72afdc">centroid</a> (Geometry const &amp;geometry, Point &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 Geometry , typename Point , typename Strategy &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#gba3c6357cc1112519a4909cdbb4733e2">centroid</a> (Geometry const &amp;geometry, Point &amp;c, Strategy 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 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__access.html#g6834d3a54e36ad3c0b56065aaaf27771">clear</a> (Geometry &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 Geometry1 , typename Geometry2 &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#gbfc62905cd1defe17d9547c4d60e1347">convert</a> (Geometry1 const &amp;geometry1, Geometry2 &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 Geometry1 , typename Geometry2 &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__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">convex_hull</a> (Geometry1 const &amp;geometry, Geometry2 &amp;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 Geometry1 , typename Geometry2 , typename Strategy &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#f0167b50b6c00d851aa7ef49cbd938b2">convex_hull</a> (Geometry1 const &amp;geometry, Geometry2 &amp;out, Strategy const &amp;strategy)</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#g33e400e40f14217ab0239d33fa6def72">convex_hull_inserter</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, output-iterator version. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">convex_hull_inserter</a> (Geometry const &amp;geometry, OutputIterator out, Strategy const &amp;strategy)</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#f8cee6dd577bebfd1dbbe4cc503304d4">copy_coordinates</a> (Src const &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 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="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> (Geometry &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__disjoint.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_1select__coordinate__type.html">select_coordinate_type</a>&lt; P1, P2 &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">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">detail::dsv::dsv_manipulator<br class="typebreak">
+&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">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 Geometry , typename Box &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#gd12dc40a65c8b7d39e77d6f802d1cb67">envelope</a> (Geometry const &amp;geometry, Box &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 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__equals.html#g122b1fd835cee0742da7c97dfdda94c5">equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detect if two geometries are spatially equal. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Polygon &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; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">exterior_ring</a> (Polygon const &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 Polygon &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; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b">exterior_ring</a> (Polygon &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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#66bf40f0ee4dc883d9d3b621aeb2e81d">for_each_point</a> (Geometry &amp;geometry, Functor 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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f">for_each_point</a> (Geometry const &amp;geometry, Functor 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 Geometry , typename Actor &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#a609a2b887fc937c5c16ead5058a3bcc">for_each_range</a> (Geometry const &amp;geometry, Actor &amp;actor)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#529f5655aa7702e9f143263b484ff91b">for_each_segment</a> (Geometry &amp;geometry, Functor 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 Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e">for_each_segment</a> (Geometry const &amp;geometry, Functor 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;std::size_t Dimension, typename Geometry &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; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gce53c5555841f90ccf60767c26e20499">get</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>get coordinate value of a Point ( / Sphere) </li></ul>
+ <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Dimension, typename Geometry &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; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">get_as_radian</a> (const Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get 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;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#g8c12093b8b10102bd3458b0603c31df6">get_section</a> (Geometry const &amp;geometry, Section const &amp;<a class="el" href="structggl_1_1section.html">section</a>, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &gt;::type &amp;begin, typename boost::range_const_iterator&lt; typename <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::type &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 Polygon &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; Polygon &gt;<br class="typebreak">
+::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge9208940558274328792addd99f32ef8">interior_rings</a> (Polygon const &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 Polygon &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; Polygon &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f">interior_rings</a> (Polygon &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 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__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">intersection_inserter</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. <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__intersects.html#g51c1843f2bcb7f6a566fa991da656102">intersects</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection. <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__intersects.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 Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1length__result.html">length_result</a>&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">length</a> (Geometry const &amp;geometry, Strategy 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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1length__result.html">length_result</a>&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">length</a> (Geometry const &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 Geometry , typename Range &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e878f0d195f2420bc0ff7f4f56063b38">make</a> (Range const &amp;range)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#55512df81f94e5813af9bec903dcf8a6">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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga43be6c1b57d34c59ceb740ac75abc76">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 Geometry , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">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 Point , typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">make_centroid</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return 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 Point , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">make_centroid</a> (Geometry const &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 Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">make_envelope</a> (Geometry 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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">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 Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Geometry&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g75bdbf2d950a0f5612e4bfcfa2bf4179">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 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#gb13419230cdc76a88bf2afb902776305">num_interior_rings</a> (Geometry const &amp;geometry)</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 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__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">overlaps</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</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"><a class="el" href="structggl_1_1length__result.html">length_result</a>&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">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"><a class="el" href="structggl_1_1length__result.html">length_result</a>&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">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 &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__utility.html#ge415174744cad8935889144cc286a0fb">point_on_border</a> (Geometry const &amp;geometry, typename <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt; Geometry &gt;::type &amp;<a class="el" href="classggl_1_1point.html">point</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on a border. <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;std::size_t Dimension, 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__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">set</a> (Geometry &amp;geometry, typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; Geometry &gt;::type const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><ul>
+<li>set coordinate value of a Point ( / Sphere) </li></ul>
+ <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t Dimension, 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__access.html#g1501c74dcded8b0bc6c43156a371094e">set_from_radian</a> (Geometry &amp;geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; Geometry &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set coordinate value (in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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;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__simplify.html#g953e1055914400f9ad3191adc5b42270">simplify</a> (Geometry const &amp;geometry, Geometry &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 Geometry , typename Strategy &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#g752a5b4c8a40756da0e717c1ae4d2d8d">simplify</a> (Geometry const &amp;geometry, Geometry &amp;out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify 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 Geometry , 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__simplify.html#g4285888f1598725bca124878ac16c656">simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator , typename Strategy &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#gbe0df65c97527e83bcab80ec3232d45a">simplify_inserter</a> (Geometry const &amp;geometry, OutputIterator out, double max_distance, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry, using an output iterator and 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#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 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__transform.html#gea84c2b86b120e9c79a1a3a111229b60">transform</a> (Geometry1 const &amp;geometry1, Geometry2 &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 Geometry1 , typename Geometry2 , typename Strategy &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#g69b7e7f328a6092efb8edc9d857504d1">transform</a> (Geometry1 const &amp;geometry1, Geometry2 &amp;geometry2, Strategy 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 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__union.html#gad3ab1d71c3997edad12f94764616988">union_inserter</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines two geometries which each other. <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">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__within.html#g052af0474ab2dafcb875ce64a9361611">within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another 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__within.html#g599c2aa76cf2037eb40514e449ace28d">within</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within, examine if a geometry is within another geometry. <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="classggl_1_1segment.html">segment</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="classggl_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="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>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d"></a><!-- doxytag: member="ggl::order_selector" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl::order_selector</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c"></a><!-- doxytag: member="clockwise" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c" args="" -->clockwise</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a"></a><!-- doxytag: member="counterclockwise" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a" args="" -->counterclockwise</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84"></a><!-- doxytag: member="order_undetermined" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84" args="" -->order_undetermined</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00022">22</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="c748276bc142deaad1ce28af84d4edf8"></a><!-- doxytag: member="ggl::assert_dimension_greater_equal" ref="c748276bc142deaad1ce28af84d4edf8" args="()" -->
+<div class="memitem">
+<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="f0167b50b6c00d851aa7ef49cbd938b2"></a><!-- doxytag: member="ggl::convex_hull" ref="f0167b50b6c00d851aa7ef49cbd938b2" args="(Geometry1 const &amp;geometry, Geometry2 &amp;out, 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">void ggl::convex_hull </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</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>
+<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#l00167">167</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0a67d55bd204163377ee3634fe834e53"></a><!-- doxytag: member="ggl::convex_hull_inserter" ref="0a67d55bd204163377ee3634fe834e53" args="(Geometry const &amp;geometry, OutputIterator out, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename OutputIterator , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">OutputIterator ggl::convex_hull_inserter </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>
+ </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>
+
+<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00223">223</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f5be8c0fed6b4db5244f20aaf6e97763"></a><!-- doxytag: member="ggl::correct" ref="f5be8c0fed6b4db5244f20aaf6e97763" args="(Geometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::correct </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &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#l00183">183</a> of file <a class="el" href="algorithms_2correct_8hpp_source.html">correct.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0cdb7f23bf7395ba3f385e9cf01a601f"></a><!-- doxytag: member="ggl::for_each_point" ref="0cdb7f23bf7395ba3f385e9cf01a601f" args="(Geometry const &amp;geometry, Functor f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Functor &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Functor ggl::for_each_point </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">Functor&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="algorithms_2for__each_8hpp_source.html#l00269">269</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="66bf40f0ee4dc883d9d3b621aeb2e81d"></a><!-- doxytag: member="ggl::for_each_point" ref="66bf40f0ee4dc883d9d3b621aeb2e81d" args="(Geometry &amp;geometry, Functor f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Functor &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Functor ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Functor&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="algorithms_2for__each_8hpp_source.html#l00292">292</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e8453eab0e9db146184d7ccef687a33e"></a><!-- doxytag: member="ggl::for_each_segment" ref="e8453eab0e9db146184d7ccef687a33e" args="(Geometry const &amp;geometry, Functor f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Functor &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Functor ggl::for_each_segment </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">Functor&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="algorithms_2for__each_8hpp_source.html#l00316">316</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="529f5655aa7702e9f143263b484ff91b"></a><!-- doxytag: member="ggl::for_each_segment" ref="529f5655aa7702e9f143263b484ff91b" args="(Geometry &amp;geometry, Functor f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Functor &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Functor ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">Geometry &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Functor&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="algorithms_2for__each_8hpp_source.html#l00339">339</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="55512df81f94e5813af9bec903dcf8a6"></a><!-- doxytag: member="ggl::make" ref="55512df81f94e5813af9bec903dcf8a6" 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 Geometry , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry 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#l00066">66</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e878f0d195f2420bc0ff7f4f56063b38"></a><!-- doxytag: member="ggl::make" ref="e878f0d195f2420bc0ff7f4f56063b38" args="(Range const &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Range &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Geometry ggl::make </td>
+ <td>(</td>
+ <td class="paramtype">Range 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#l00083">83</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#l00534">534</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#l00109">109</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#l00116">116</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#l00128">128</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f8cee6dd577bebfd1dbbe4cc503304d4"></a><!-- doxytag: member="ggl::copy_coordinates" ref="f8cee6dd577bebfd1dbbe4cc503304d4" args="(Src const &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">Src const &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#l00062">62</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="a609a2b887fc937c5c16ead5058a3bcc"></a><!-- doxytag: member="ggl::for_each_range" ref="a609a2b887fc937c5c16ead5058a3bcc" args="(Geometry const &amp;geometry, Actor &amp;actor)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Actor &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::for_each_range </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">Actor &amp;&nbsp;</td>
+ <td class="paramname"> <em>actor</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__range_8hpp_source.html#l00100">100</a> of file <a class="el" href="for__each__range_8hpp_source.html">for_each_range.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#l00050">50</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#l00051">51</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html">Box</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid. 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_1concept_1_1_const_box.html">ConstBox</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_box.html" title="Box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_multi_linestring.html">ConstMultiLinestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-linestring (const version) 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_1concept_1_1_const_multi_point.html">ConstMultiPoint</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-point (const version) 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_1concept_1_1_const_multi_polygon.html">ConstMultiPolygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceggl_1_1concept.html">concept</a> for multi-polygon (const version) 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_1concept_1_1_const_point.html">ConstPoint</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_convex_hull_strategy.html">ConvexHullStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for convex_hull. 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_1concept_1_1_linestring.html">Linestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_multi_linestring.html">MultiLinestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-linestring <a class="el" href="namespaceggl_1_1concept.html">concept</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_1concept_1_1_multi_point.html">MultiPoint</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_multi_point.html" title="MultiPoint concept.">MultiPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_multi_polygon.html">MultiPolygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multi-polygon <a class="el" href="namespaceggl_1_1concept.html">concept</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_1concept_1_1_point.html">Point</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;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__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">check</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
+<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">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">check_concepts_and_equal_dimensions</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of two geometries, and if they have equal dimensions. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: Radians.">radian</a>. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">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="group__utility.html#geda38de76b567b170a5c9cadbe660311">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="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">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>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#l00083">83</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#l00084">84</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#l00085">85</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#l00086">86</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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__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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_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_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_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_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_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_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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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__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>
+<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_1huiller.html">huiller</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Area calculation by spherical excess / Huiller's formula. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid__.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid__.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>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_1compare_1_1detail.html">detail</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">circular_comparator</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 spherical coordinates. 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_1compare_1_1default__strategy.html">default_strategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, indicates the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare_1_1detail.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare_1_1detail.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>::<a class="el" href="namespaceggl_1_1strategy_1_1compare_1_1detail.html">detail</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::detail Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">shift</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_1compare_1_1detail_1_1shift_3_01degree_01_4.html">shift&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_1compare_1_1detail_1_1shift_3_01radian_01_4.html">shift&lt; radian &gt;</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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__andrew.html">graham_andrew</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graham scan <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate convex hull. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_1cross__track.html">cross_track</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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation. 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">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">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="classggl_1_1segment.html" title="Class segment: small class 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_1side__by__triangle.html">side_by_triangle</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a></td></tr>
+
+<tr><td class="mdescLeft">&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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_00_01_dimension_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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__order.html">point_order</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>
+ <li>Enumerations</li>
+ <li>Enumerator</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>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#ge6ff0cb391fb5a3c3a312defe15b4909">ggl</a>
+<li>area()
+: <a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">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#g01c6d019dc45f5ce8879dd80f782164a">ggl</a>
+<li>assign_box_corners()
+: <a class="el" href="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">ggl</a>
+<li>assign_inverse()
+: <a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl</a>
+<li>assign_point_from_index()
+: <a class="el" href="group__access.html#ge488e5481766be6f054c615743e7cc8e">ggl</a>
+<li>assign_point_to_index()
+: <a class="el" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4">ggl</a>
+<li>assign_zero()
+: <a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>box_2d
+: <a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl</a>
+<li>box_3d
+: <a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>centroid()
+: <a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl</a>
+<li>check()
+: <a class="el" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept</a>
+<li>check_concepts_and_equal_dimensions()
+: <a class="el" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">ggl::concept</a>
+<li>clear()
+: <a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl</a>
+<li>clockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl</a>
+<li>close_to_zero()
+: <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#gbfc62905cd1defe17d9547c4d60e1347">ggl</a>
+<li>convex_hull()
+: <a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl</a>
+<li>convex_hull_inserter()
+: <a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">ggl</a>
+<li>copy_coordinates()
+: <a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">ggl</a>
+<li>copy_segments()
+: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
+<li>correct()
+: <a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl</a>
+<li>counterclockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>d2r
+: <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math</a>
+<li>disjoint()
+: <a class="el" href="group__disjoint.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#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl</a>
+<li>dsv()
+: <a class="el" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">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#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl</a>
+<li>equals()
+: <a class="el" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
+, <a class="el" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
+<li>exterior_ring()
+: <a class="el" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">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="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f">ggl</a>
+<li>for_each_range()
+: <a class="el" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">ggl</a>
+<li>for_each_segment()
+: <a class="el" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="group__access.html#gce53c5555841f90ccf60767c26e20499">ggl</a>
+<li>get_as_radian()
+: <a class="el" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">ggl</a>
+<li>get_intersection_points()
+: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
+<li>get_section()
+: <a class="el" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hav()
+: <a class="el" href="group__utility.html#geda38de76b567b170a5c9cadbe660311">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#gaee58ea9a166a2ca07597daf34433d7f">ggl</a>
+<li>intersection_inserter()
+: <a class="el" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">ggl</a>
+<li>intersects()
+: <a class="el" href="group__intersects.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#g3ff05ea6b83363ce847770d3abe156bf">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>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>make()
+: <a class="el" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">ggl</a>
+<li>make_centroid()
+: <a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl</a>
+<li>make_distance_result()
+: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
+<li>make_envelope()
+: <a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl</a>
+<li>make_inverse()
+: <a class="el" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">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#g75bdbf2d950a0f5612e4bfcfa2bf4179">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#gb13419230cdc76a88bf2afb902776305">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>order_selector
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl</a>
+<li>order_undetermined
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl</a>
+<li>overlaps()
+: <a class="el" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>perimeter()
+: <a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">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>point_on_border()
+: <a class="el" href="group__utility.html#ge415174744cad8935889144cc286a0fb">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>set()
+: <a class="el" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">ggl</a>
+<li>set_from_radian()
+: <a class="el" href="group__access.html#g1501c74dcded8b0bc6c43156a371094e">ggl</a>
+<li>simplify()
+: <a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl</a>
+<li>simplify_inserter()
+: <a class="el" href="group__simplify.html#g4285888f1598725bca124878ac16c656">ggl</a>
+<li>sqr()
+: <a class="el" href="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">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#g69b7e7f328a6092efb8edc9d857504d1">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_u">- u -</a></h3><ul>
+<li>union_inserter()
+: <a class="el" href="group__union.html#gad3ab1d71c3997edad12f94764616988">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>within()
+: <a class="el" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d">ggl</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li class="current">Namespace Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li class="current">Enumerations</li>
+ <li>Enumerator</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>order_selector
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_eval.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_eval.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li class="current">Namespace Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Enumerations</li>
+ <li class="current">Enumerator</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>clockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl</a>
+<li>counterclockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl</a>
+<li>order_undetermined
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>
+ <li>Enumerations</li>
+ <li>Enumerator</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</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>u</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#ge6ff0cb391fb5a3c3a312defe15b4909">ggl</a>
+<li>area()
+: <a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">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#g01c6d019dc45f5ce8879dd80f782164a">ggl</a>
+<li>assign_box_corners()
+: <a class="el" href="group__access.html#g9ddc8c5f7803a48d3ce186f89072c9ed">ggl</a>
+<li>assign_inverse()
+: <a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl</a>
+<li>assign_point_from_index()
+: <a class="el" href="group__access.html#ge488e5481766be6f054c615743e7cc8e">ggl</a>
+<li>assign_point_to_index()
+: <a class="el" href="group__access.html#gfebbca0a1f8d9668e0622efa07f731f4">ggl</a>
+<li>assign_zero()
+: <a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>centroid()
+: <a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl</a>
+<li>check()
+: <a class="el" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept</a>
+<li>check_concepts_and_equal_dimensions()
+: <a class="el" href="group__concepts.html#g3913efc5e63c4c6d355cda06a3422470">ggl::concept</a>
+<li>clear()
+: <a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl</a>
+<li>close_to_zero()
+: <a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl</a>
+<li>combine()
+: <a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">ggl</a>
+<li>convert()
+: <a class="el" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347">ggl</a>
+<li>convex_hull()
+: <a class="el" href="namespaceggl.html#f0167b50b6c00d851aa7ef49cbd938b2">ggl</a>
+<li>convex_hull_inserter()
+: <a class="el" href="namespaceggl.html#0a67d55bd204163377ee3634fe834e53">ggl</a>
+<li>copy_coordinates()
+: <a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">ggl</a>
+<li>copy_segments()
+: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
+<li>correct()
+: <a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>disjoint()
+: <a class="el" href="group__disjoint.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#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl</a>
+<li>dsv()
+: <a class="el" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">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#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl</a>
+<li>equals()
+: <a class="el" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
+, <a class="el" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
+<li>exterior_ring()
+: <a class="el" href="group__access.html#g2fa58b6bb8b81000b8d14780092046e7">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="namespaceggl.html#0cdb7f23bf7395ba3f385e9cf01a601f">ggl</a>
+<li>for_each_range()
+: <a class="el" href="namespaceggl.html#a609a2b887fc937c5c16ead5058a3bcc">ggl</a>
+<li>for_each_segment()
+: <a class="el" href="namespaceggl.html#e8453eab0e9db146184d7ccef687a33e">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="group__access.html#gce53c5555841f90ccf60767c26e20499">ggl</a>
+<li>get_as_radian()
+: <a class="el" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">ggl</a>
+<li>get_intersection_points()
+: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
+<li>get_section()
+: <a class="el" href="group__sectionalize.html#g8c12093b8b10102bd3458b0603c31df6">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hav()
+: <a class="el" href="group__utility.html#geda38de76b567b170a5c9cadbe660311">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#gaee58ea9a166a2ca07597daf34433d7f">ggl</a>
+<li>intersection_inserter()
+: <a class="el" href="group__intersection.html#gebe4cbe7f224f01d9d92f604888002a1">ggl</a>
+<li>intersects()
+: <a class="el" href="group__intersects.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#g3ff05ea6b83363ce847770d3abe156bf">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>make()
+: <a class="el" href="group__access.html#g7f6040cfd490d2d831d2011a7b40eee7">ggl</a>
+<li>make_centroid()
+: <a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl</a>
+<li>make_distance_result()
+: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
+<li>make_envelope()
+: <a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl</a>
+<li>make_inverse()
+: <a class="el" href="group__access.html#gf2b35e1cd13accb0a425b330922956cf">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#g75bdbf2d950a0f5612e4bfcfa2bf4179">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#gb13419230cdc76a88bf2afb902776305">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__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>perimeter()
+: <a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">ggl</a>
+<li>point_on_border()
+: <a class="el" href="group__utility.html#ge415174744cad8935889144cc286a0fb">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>set()
+: <a class="el" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3">ggl</a>
+<li>set_from_radian()
+: <a class="el" href="group__access.html#g1501c74dcded8b0bc6c43156a371094e">ggl</a>
+<li>simplify()
+: <a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl</a>
+<li>simplify_inserter()
+: <a class="el" href="group__simplify.html#g4285888f1598725bca124878ac16c656">ggl</a>
+<li>sqr()
+: <a class="el" href="group__utility.html#gc23ed0ce6b779976def3d4b3d633d337">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#g69b7e7f328a6092efb8edc9d857504d1">ggl</a>
+<li>traverse()
+: <a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>union_inserter()
+: <a class="el" href="group__union.html#gad3ab1d71c3997edad12f94764616988">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>within()
+: <a class="el" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d">ggl</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>
+ <li>Enumerations</li>
+ <li>Enumerator</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>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>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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>
+ <li>Enumerations</li>
+ <li>Enumerator</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaces.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/namespaces.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 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_1compare_1_1detail.html">ggl::strategy::compare::detail</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_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ogc.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ogc.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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><a class="el" href="structggl_1_1multi__point.html">multi_point</a>: collection of points</li><li><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>: collection of linestrings</li><li><a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>: 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_1segment.html">segment</a>: Segment, helper class, used for e.g. intersections</li></ul>
+<p>
+Finally geometry types can be added as extensions. This is e.g. done with an "n-sphere" meaning "circle" and "sphere". Circle is convenient for selections.<h2><a class="anchor" name="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"</li><li>Union and intersection are currently named "X_inserter" to indicate that they insert there produced geometries (if any) as an OutputIterator</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 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__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">ggl::overlaps</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a> {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keyword">typename</span> Box1,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> Box2,
+<a name="l00038"></a>00038 std::size_t Dimension,
+<a name="l00039"></a>00039 std::size_t DimensionCount
+<a name="l00040"></a>00040 &gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>box_box_loop
+<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> apply(Box1 <span class="keyword">const</span>&amp; b1, Box2 <span class="keyword">const</span>&amp; b2,
+<a name="l00044"></a>00044 <span class="keywordtype">bool</span>&amp; <a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>, <span class="keywordtype">bool</span>&amp; one_in_two, <span class="keywordtype">bool</span>&amp; two_in_one)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 assert_dimension_equal&lt;Box1, Box2&gt;();
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box1&gt;::type coordinate_type1;
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box2&gt;::type coordinate_type2;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 coordinate_type1 <span class="keyword">const</span>&amp; min1 = get&lt;min_corner, Dimension&gt;(b1);
+<a name="l00052"></a>00052 coordinate_type1 <span class="keyword">const</span>&amp; max1 = get&lt;max_corner, Dimension&gt;(b1);
+<a name="l00053"></a>00053 coordinate_type2 <span class="keyword">const</span>&amp; min2 = get&lt;min_corner, Dimension&gt;(b2);
+<a name="l00054"></a>00054 coordinate_type2 <span class="keyword">const</span>&amp; max2 = get&lt;max_corner, Dimension&gt;(b2);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// We might use the (not yet accepted) Boost.Interval</span>
+<a name="l00057"></a>00057 <span class="comment">// submission in the future</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="comment">// If:</span>
+<a name="l00060"></a>00060 <span class="comment">// B1: |-------|</span>
+<a name="l00061"></a>00061 <span class="comment">// B2: |------|</span>
+<a name="l00062"></a>00062 <span class="comment">// in any dimension -&gt; no overlap</span>
+<a name="l00063"></a>00063 <span class="keywordflow">if</span> (max1 &lt;= min2 || min1 &gt;= max2)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 overlaps = <span class="keyword">false</span>;
+<a name="l00066"></a>00066 <span class="keywordflow">return</span>;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="comment">// If:</span>
+<a name="l00070"></a>00070 <span class="comment">// B1: |--------------------|</span>
+<a name="l00071"></a>00071 <span class="comment">// B2: |-------------|</span>
+<a name="l00072"></a>00072 <span class="comment">// in all dimensions -&gt; within, then no overlap</span>
+<a name="l00073"></a>00073 <span class="comment">// B1: |--------------------|</span>
+<a name="l00074"></a>00074 <span class="comment">// B2: |-------------|</span>
+<a name="l00075"></a>00075 <span class="comment">// this is "within-touch" -&gt; then no overlap. So use &lt; and &gt;</span>
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (min1 &lt; min2 || max1 &gt; max2)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 one_in_two = <span class="keyword">false</span>;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 <span class="comment">// Same other way round</span>
+<a name="l00081"></a>00081 <span class="keywordflow">if</span> (min2 &lt; min1 || max2 &gt; max1)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 two_in_one = <span class="keyword">false</span>;
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 box_box_loop
+<a name="l00087"></a>00087 &lt;
+<a name="l00088"></a>00088 Box1,
+<a name="l00089"></a>00089 Box2,
+<a name="l00090"></a>00090 Dimension + 1,
+<a name="l00091"></a>00091 DimensionCount
+<a name="l00092"></a>00092 &gt;::apply(b1, b2, overlaps, one_in_two, two_in_one);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">template</span>
+<a name="l00097"></a>00097 &lt;
+<a name="l00098"></a>00098 <span class="keyword">typename</span> Box1,
+<a name="l00099"></a>00099 <span class="keyword">typename</span> Box2,
+<a name="l00100"></a>00100 std::size_t DimensionCount
+<a name="l00101"></a>00101 &gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>box_box_loop&lt;Box1, Box2, DimensionCount, DimensionCount&gt;
+<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(Box1 <span class="keyword">const</span>&amp; , Box2 <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span>&amp;, <span class="keywordtype">bool</span>&amp;, <span class="keywordtype">bool</span>&amp;)
+<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>
+<a name="l00110"></a>00110 &lt;
+<a name="l00111"></a>00111 <span class="keyword">typename</span> Box1,
+<a name="l00112"></a>00112 <span class="keyword">typename</span> Box2
+<a name="l00113"></a>00113 &gt;
+<a name="l00114"></a>00114 <span class="keyword">struct </span>box_box
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>&amp; b1, Box2 <span class="keyword">const</span>&amp; b2)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 <span class="keywordtype">bool</span> overlaps = <span class="keyword">true</span>;
+<a name="l00119"></a>00119 <span class="keywordtype">bool</span> within1 = <span class="keyword">true</span>;
+<a name="l00120"></a>00120 <span class="keywordtype">bool</span> within2 = <span class="keyword">true</span>;
+<a name="l00121"></a>00121 box_box_loop
+<a name="l00122"></a>00122 &lt;
+<a name="l00123"></a>00123 Box1,
+<a name="l00124"></a>00124 Box2,
+<a name="l00125"></a>00125 0,
+<a name="l00126"></a>00126 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box1&gt;::type::value</a>
+<a name="l00127"></a>00127 &gt;::apply(b1, b2, overlaps, within1, within2);
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">/*</span>
+<a name="l00130"></a>00130 <span class="comment"> \see http://docs.codehaus.org/display/GEOTDOC/02+Geometry+Relationships#02GeometryRelationships-Overlaps>
+<a name="l00131"></a>00131 <span class="comment"> where is stated that "inside" is not an "overlap",</span>
+<a name="l00132"></a>00132 <span class="comment"> this is true and is implemented as such.</span>
+<a name="l00133"></a>00133 <span class="comment"> */</span>
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> overlaps &amp;&amp; ! within1 &amp;&amp; ! within2;
+<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
+<a name="l00140"></a>00140 }} <span class="comment">// namespace detail::overlaps</span>
+<a name="l00141"></a>00141 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span>
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="keyword">template</span>
+<a name="l00149"></a>00149 &lt;
+<a name="l00150"></a>00150 <span class="keyword">typename</span> Tag1,
+<a name="l00151"></a>00151 <span class="keyword">typename</span> Tag2,
+<a name="l00152"></a>00152 <span class="keyword">typename</span> Geometry1,
+<a name="l00153"></a>00153 <span class="keyword">typename</span> Geometry2
+<a name="l00154"></a>00154 &gt;
+<a name="l00155"></a>00155 <span class="keyword">struct </span><a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>
+<a name="l00156"></a>00156 {};
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2&gt;
+<a name="l00160"></a>00160 <span class="keyword">struct </span><a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>&lt;box_tag, box_tag, Box1, Box2&gt;
+<a name="l00161"></a>00161 : detail::<a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>::box_box&lt;Box1, Box2&gt;
+<a name="l00162"></a>00162 {};
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 } <span class="comment">// namespace dispatch</span>
+<a name="l00168"></a>00168 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00169"></a>00169 <span class="preprocessor"></span>
+<a name="l00170"></a>00170
+<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00177"></a><a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b">00177</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">overlaps</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 concept::check&lt;const Geometry1&gt;();
+<a name="l00180"></a>00180 concept::check&lt;const Geometry2&gt;();
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="keywordflow">return</span> <a class="code" href="group__overlaps.html#g556251d4b34a3225ac8c0c1a4ff7a19b" title="Determines overlap between two geometries.">dispatch::overlaps</a>
+<a name="l00183"></a>00183 &lt;
+<a name="l00184"></a>00184 <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="l00185"></a>00185 <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="l00186"></a>00186 Geometry1,
+<a name="l00187"></a>00187 Geometry2
+<a name="l00188"></a>00188 &gt;::apply(geometry1, geometry2);
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 } <span class="comment">// namespace ggl</span>
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/pages.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/pages.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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="strategy.html">Strategy rationale</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>
+
+<li><a class="el" href="art09.html">A Generic Geometry Library (web-copy of article for BoostCon'09)</a>
+
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/parse.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__parse.html">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tagraits class binding a parsing <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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/parse_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/parse.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_PARSE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_PARSE_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00027"></a><a class="code" href="structggl_1_1strategy__parse.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__parse.html" title="Tagraits class binding a parsing strategy to a coordinate system.">strategy_parse</a>
+<a name="l00028"></a>00028 {
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy__parse.html#b4de98483bf66e76b42b9855977b1f7f">00029</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="l00030"></a>00030 };
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<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 <span class="preprocessor">#endif // GGL_STRATEGIES_PARSE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/performance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/performance.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+<a name="l00084"></a>00084 &lt;
+<a name="l00085"></a>00085 <span class="keyword">typename</span> CoordinateType,
+<a name="l00086"></a>00086 std::size_t DimensionCount,
+<a name="l00087"></a>00087 <span class="keyword">typename</span> CoordinateSystem
+<a name="l00088"></a>00088 &gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>tag&lt;point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt; &gt;
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> point_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> CoordinateType,
+<a name="l00097"></a>00097 std::size_t DimensionCount,
+<a name="l00098"></a>00098 <span class="keyword">typename</span> CoordinateSystem
+<a name="l00099"></a>00099 &gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span>coordinate_type&lt;point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt; &gt;
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> CoordinateType type;
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span>
+<a name="l00106"></a>00106 &lt;
+<a name="l00107"></a>00107 <span class="keyword">typename</span> CoordinateType,
+<a name="l00108"></a>00108 std::size_t DimensionCount,
+<a name="l00109"></a>00109 <span class="keyword">typename</span> CoordinateSystem
+<a name="l00110"></a>00110 &gt;
+<a name="l00111"></a>00111 <span class="keyword">struct </span>coordinate_system&lt;point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt; &gt;
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="keyword">typedef</span> CoordinateSystem type;
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keyword">template</span>
+<a name="l00117"></a>00117 &lt;
+<a name="l00118"></a>00118 <span class="keyword">typename</span> CoordinateType,
+<a name="l00119"></a>00119 std::size_t DimensionCount,
+<a name="l00120"></a>00120 <span class="keyword">typename</span> CoordinateSystem
+<a name="l00121"></a>00121 &gt;
+<a name="l00122"></a>00122 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt; &gt;
+<a name="l00123"></a>00123 : boost::mpl::int_&lt;DimensionCount&gt;
+<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> CoordinateType,
+<a name="l00129"></a>00129 std::size_t DimensionCount,
+<a name="l00130"></a>00130 <span class="keyword">typename</span> CoordinateSystem,
+<a name="l00131"></a>00131 std::size_t Dimension
+<a name="l00132"></a>00132 &gt;
+<a name="l00133"></a>00133 <span class="keyword">struct </span>access&lt;point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt;, Dimension&gt;
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(
+<a name="l00136"></a>00136 point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keywordflow">return</span> p.template get&lt;Dimension&gt;();
+<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> <span class="keywordtype">void</span> <span class="keyword">set</span>(
+<a name="l00142"></a>00142 point&lt;CoordinateType, DimensionCount, CoordinateSystem&gt;&amp; p,
+<a name="l00143"></a>00143 CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 p.template set&lt;Dimension&gt;(value);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147 };
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 } <span class="comment">// namespace traits</span>
+<a name="l00150"></a>00150 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span>
+<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_GEOMETRIES_POINT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/point_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library Point concept</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<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_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00024"></a>00024
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00080"></a><a class="code" href="classggl_1_1concept_1_1_point.html">00080</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a>
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00084"></a>00084 <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;Geometry&gt;::type</a> ctype;
+<a name="l00085"></a>00085 <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;Geometry&gt;::type</a> csystem;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <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;Geometry&gt;::value</a> };
+<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> P, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span>dimension_checker
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 P* p;
+<a name="l00096"></a>00096 ggl::set&lt;Dimension&gt;(*p, ggl::get&lt;Dimension&gt;(*p));
+<a name="l00097"></a>00097 dimension_checker&lt;P, Dimension+1, DimensionCount&gt;::apply();
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00103"></a>00103 <span class="keyword">struct </span>dimension_checker&lt;P, DimensionCount, DimensionCount&gt;
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">public</span>:
+<a name="l00109"></a>00109
+<a name="l00111"></a>00111 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">Point</a>)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 dimension_checker&lt;Geometry, 0, ccount&gt;::apply();
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>};
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00126"></a><a class="code" href="classggl_1_1concept_1_1_const_point.html">00126</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">ConstPoint</a>
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span>
+<a name="l00130"></a>00130 <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;Geometry&gt;::type</a> ctype;
+<a name="l00131"></a>00131 <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;Geometry&gt;::type</a> csystem;
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <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;Geometry&gt;::value</a> };
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <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="l00137"></a>00137 <span class="keyword">struct </span>dimension_checker
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="keyword">const</span> P* p = 0;
+<a name="l00142"></a>00142 ctype coord(ggl::get&lt;Dimension&gt;(*p));
+<a name="l00143"></a>00143 boost::ignore_unused_variable_warning(coord);
+<a name="l00144"></a>00144 dimension_checker&lt;P, Dimension+1, DimensionCount&gt;::apply();
+<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">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00150"></a>00150 <span class="keyword">struct </span>dimension_checker&lt;P, DimensionCount, DimensionCount&gt;
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keyword">public</span>:
+<a name="l00156"></a>00156
+<a name="l00158"></a>00158 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">ConstPoint</a>)
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160 dimension_checker&lt;Geometry, 0, ccount&gt;::apply();
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
+<a name="l00163"></a>00163 <span class="preprocessor"></span>};
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_POINT_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/point_in_poly.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__within.html">ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/point_in_poly.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_POINT_IN_POLY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_POINT_IN_POLY_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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="l00017"></a>00017
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagPo<span class="keywordtype">int</span>, <span class="keyword">typename</span> TagSegment, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00027"></a><a class="code" href="structggl_1_1strategy__within.html">00027</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="l00028"></a>00028 {
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">00029</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="l00030"></a>00030 };
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<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 <span class="preprocessor">#endif // GGL_STRATEGIES_POINT_IN_POLY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::crossings_multiply&lt; Point, PointOfSegment, CalculationType &gt;::flags</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a> {
+<a name="l00020"></a>00020
+<a name="l00027"></a>00027 <span class="keyword">template</span>
+<a name="l00028"></a>00028 &lt;
+<a name="l00029"></a>00029 <span class="keyword">typename</span> Point,
+<a name="l00030"></a>00030 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00031"></a>00031 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00032"></a>00032 &gt;
+<a name="l00033"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">00033</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html" title="Within detection using cross counting,.">crossings_multiply</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Meta-function selecting the &amp;quot;calculation&amp;quot; type.">select_calculation_type</a>
+<a name="l00036"></a>00036 &lt;
+<a name="l00037"></a>00037 Point,
+<a name="l00038"></a>00038 PointOfSegment,
+<a name="l00039"></a>00039 CalculationType
+<a name="l00040"></a>00040 &gt;::type calculation_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">class </span>flags
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordtype">bool</span> inside_flag;
+<a name="l00045"></a>00045 <span class="keywordtype">bool</span> first;
+<a name="l00046"></a>00046 <span class="keywordtype">bool</span> yflag0;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">public</span> :
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html" title="Within detection using cross counting,.">crossings_multiply</a>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">inline</span> flags()
+<a name="l00053"></a>00053 : inside_flag(<span class="keyword">false</span>)
+<a name="l00054"></a>00054 , first(<span class="keyword">true</span>)
+<a name="l00055"></a>00055 , yflag0(<span class="keyword">false</span>)
+<a name="l00056"></a>00056 {}
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">public</span> :
+<a name="l00060"></a>00060
+<a name="l00061"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">00061</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00062"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">00062</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a>;
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">00063</a> <span class="keyword">typedef</span> flags <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a>;
+<a name="l00064"></a>00064
+<a name="l00065"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">00065</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a>(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00066"></a>00066 PointOfSegment <span class="keyword">const</span>&amp; seg1, PointOfSegment <span class="keyword">const</span>&amp; seg2,
+<a name="l00067"></a>00067 flags&amp; state)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 calculation_type <span class="keyword">const</span> tx = get&lt;0&gt;(point);
+<a name="l00070"></a>00070 calculation_type <span class="keyword">const</span> ty = get&lt;1&gt;(point);
+<a name="l00071"></a>00071 calculation_type <span class="keyword">const</span> x0 = get&lt;0&gt;(seg1);
+<a name="l00072"></a>00072 calculation_type <span class="keyword">const</span> y0 = get&lt;1&gt;(seg1);
+<a name="l00073"></a>00073 calculation_type <span class="keyword">const</span> x1 = get&lt;0&gt;(seg2);
+<a name="l00074"></a>00074 calculation_type <span class="keyword">const</span> y1 = get&lt;1&gt;(seg2);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (state.first)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 state.first = <span class="keyword">false</span>;
+<a name="l00079"></a>00079 state.yflag0 = y0 &gt;= ty;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> yflag1 = y1 &gt;= ty;
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (state.yflag0 != yflag1)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> ( ((y1-ty) * (x0-x1) &gt;= (x1-tx) * (y0-y1)) == yflag1 )
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 state.inside_flag = ! state.inside_flag;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 state.yflag0 = yflag1;
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">00095</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a>(flags <span class="keyword">const</span>&amp; state)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> state.inside_flag;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 } <span class="comment">// namespace ggl</span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/point_in_poly_franklin.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::franklin&lt; Point, PointOfSegment, CalculationType &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/point_in_poly_franklin.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &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__calculation__type_8hpp.html">ggl/util/select_calculation_type.hpp</a>&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="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a> {
+<a name="l00021"></a>00021
+<a name="l00032"></a>00032 <span class="keyword">template</span>
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 <span class="keyword">typename</span> Point,
+<a name="l00035"></a>00035 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00036"></a>00036 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html">00038</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Meta-function selecting the &amp;quot;calculation&amp;quot; type.">select_calculation_type</a>
+<a name="l00041"></a>00041 &lt;
+<a name="l00042"></a>00042 Point,
+<a name="l00043"></a>00043 PointOfSegment,
+<a name="l00044"></a>00044 CalculationType
+<a name="l00045"></a>00045 &gt;::type calculation_type;
+<a name="l00046"></a>00046
+<a name="l00048"></a>00048 <span class="keyword">class </span>crossings
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> crosses;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">public</span> :
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>;
+<a name="l00055"></a>00055 <span class="keyword">inline</span> crossings()
+<a name="l00056"></a>00056 : crosses(<span class="keyword">false</span>)
+<a name="l00057"></a>00057 {}
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">public</span> :
+<a name="l00061"></a>00061
+<a name="l00062"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">00062</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">00063</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a>;
+<a name="l00064"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">00064</a> <span class="keyword">typedef</span> crossings <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a>;
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">00066</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a>(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00067"></a>00067 PointOfSegment <span class="keyword">const</span>&amp; seg1, PointOfSegment <span class="keyword">const</span>&amp; seg2,
+<a name="l00068"></a>00068 crossings&amp; state)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 calculation_type <span class="keyword">const</span>&amp; px = get&lt;0&gt;(point);
+<a name="l00071"></a>00071 calculation_type <span class="keyword">const</span>&amp; py = get&lt;1&gt;(point);
+<a name="l00072"></a>00072 calculation_type <span class="keyword">const</span>&amp; x1 = get&lt;0&gt;(seg1);
+<a name="l00073"></a>00073 calculation_type <span class="keyword">const</span>&amp; y1 = get&lt;1&gt;(seg1);
+<a name="l00074"></a>00074 calculation_type <span class="keyword">const</span>&amp; x2 = get&lt;0&gt;(seg2);
+<a name="l00075"></a>00075 calculation_type <span class="keyword">const</span>&amp; y2 = get&lt;1&gt;(seg2);
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (
+<a name="l00078"></a>00078 ( (y2 &lt;= py &amp;&amp; py &lt; y1) || (y1 &lt;= py &amp;&amp; py &lt; y2) )
+<a name="l00079"></a>00079 &amp;&amp; (px &lt; (x1 - x2) * (py - y2) / (y1 - y2) + x2)
+<a name="l00080"></a>00080 )
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 state.crosses = ! state.crosses;
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a>(crossings <span class="keyword">const</span>&amp; state)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> state.crosses;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 } <span class="comment">// namespace ggl</span>
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/point_in_poly_winding.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &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">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::winding&lt; Point, PointOfSegment, CalculationType &gt;::counter</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/point_in_poly_winding.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly_8hpp.html">ggl/strategies/point_in_poly.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
+<a name="l00023"></a><a class="code" href="namespaceggl_1_1strategy_1_1within.html">00023</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a> {
+<a name="l00024"></a>00024
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keyword">typename</span> Point,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00038"></a>00038 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00039"></a>00039 &gt;
+<a name="l00040"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html">00040</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Meta-function selecting the &amp;quot;calculation&amp;quot; type.">select_calculation_type</a>
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 Point,
+<a name="l00045"></a>00045 PointOfSegment,
+<a name="l00046"></a>00046 CalculationType
+<a name="l00047"></a>00047 &gt;::type calculation_type;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__side.html" title="Traits class binding a side determination strategy to a coordinate system.">strategy_side</a>
+<a name="l00051"></a>00051 &lt;
+<a name="l00052"></a>00052 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;Point&gt;::type</a>
+<a name="l00053"></a>00053 &gt;::type <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_side_type</a>;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00057"></a>00057 <span class="keyword">class </span>counter
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordtype">int</span> count;
+<a name="l00060"></a>00060 <span class="keywordtype">bool</span> touches;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">inline</span> <span class="keywordtype">bool</span> within_no_touch()<span class="keyword"> const</span>
+<a name="l00063"></a>00063 <span class="keyword"> </span>{
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> ! touches &amp;&amp; count != 0;
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 <span class="keyword">public</span> :
+<a name="l00067"></a>00067 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">inline</span> counter()
+<a name="l00070"></a>00070 : count(0)
+<a name="l00071"></a>00071 , touches(<span class="keyword">false</span>)
+<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
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt;
+<a name="l00078"></a>00078 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00079"></a>00079 PointOfSegment <span class="keyword">const</span>&amp; seg1, PointOfSegment <span class="keyword">const</span>&amp; seg2,
+<a name="l00080"></a>00080 counter&amp; state)
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 calculation_type <span class="keyword">const</span> p = get&lt;D&gt;(point);
+<a name="l00083"></a>00083 calculation_type <span class="keyword">const</span> s1 = get&lt;D&gt;(seg1);
+<a name="l00084"></a>00084 calculation_type <span class="keyword">const</span> s2 = get&lt;D&gt;(seg2);
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> ((s1 &lt;= p &amp;&amp; s2 &gt;= p) || (s2 &lt;= p &amp;&amp; s1 &gt;= p))
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 state.touches = <span class="keyword">true</span>;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> 0;
+<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="keywordtype">size_t</span> D&gt;
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(Point <span class="keyword">const</span>&amp; point,
+<a name="l00095"></a>00095 PointOfSegment <span class="keyword">const</span>&amp; seg1, PointOfSegment <span class="keyword">const</span>&amp; seg2,
+<a name="l00096"></a>00096 counter&amp; state)
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 calculation_type <span class="keyword">const</span> p = get&lt;D&gt;(point);
+<a name="l00099"></a>00099 calculation_type <span class="keyword">const</span> s1 = get&lt;D&gt;(seg1);
+<a name="l00100"></a>00100 calculation_type <span class="keyword">const</span> s2 = get&lt;D&gt;(seg2);
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="comment">// Check if one of segment endpoints is at same level of point</span>
+<a name="l00103"></a>00103 <span class="keywordtype">bool</span> eq1 = <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">math::equals</a>(s1, p);
+<a name="l00104"></a>00104 <span class="keywordtype">bool</span> eq2 = <a class="code" href="group__equals.html#g122b1fd835cee0742da7c97dfdda94c5" title="Detect if two geometries are spatially equal.">math::equals</a>(s2, p);
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (eq1 &amp;&amp; eq2)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="comment">// Both equal p -&gt; segment is horizontal (or vertical for D=0)</span>
+<a name="l00109"></a>00109 <span class="comment">// The only thing which has to be done is check if point is ON segment</span>
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> check_touch&lt;1 - D&gt;(point, seg1, seg2,state);
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keywordflow">return</span>
+<a name="l00114"></a>00114 eq1 ? (s2 &gt; p ? 1 : -1) <span class="comment">// Point on level s1, UP/DOWN depending on s2</span>
+<a name="l00115"></a>00115 : eq2 ? (s1 &gt; p ? -1 : 1) <span class="comment">// idem</span>
+<a name="l00116"></a>00116 : s1 &lt; p &amp;&amp; s2 &gt; p ? 2 <span class="comment">// Point between s1 -&gt; s2 --&gt; UP</span>
+<a name="l00117"></a>00117 : s2 &lt; p &amp;&amp; s1 &gt; p ? -2 <span class="comment">// Point between s2 -&gt; s1 --&gt; DOWN</span>
+<a name="l00118"></a>00118 : 0;
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">public</span> :
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="comment">// Typedefs and static methods to fulfill the concept</span>
+<a name="l00127"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">00127</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="l00128"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">00128</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a>;
+<a name="l00129"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">00129</a> <span class="keyword">typedef</span> counter <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a>;
+<a name="l00130"></a>00130
+<a name="l00131"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">00131</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a>(Point <span class="keyword">const</span>&amp; point,
+<a name="l00132"></a>00132 PointOfSegment <span class="keyword">const</span>&amp; s1, PointOfSegment <span class="keyword">const</span>&amp; s2,
+<a name="l00133"></a>00133 counter&amp; state)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keywordtype">int</span> count = check_segment&lt;1&gt;(point, s1, s2, state);
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (count != 0)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keywordtype">int</span> side = <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">strategy_side_type::apply</a>(s1, s2, point);
+<a name="l00139"></a>00139 <span class="keywordflow">if</span> (side == 0)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="comment">// Point is lying on segment</span>
+<a name="l00142"></a>00142 state.touches = <span class="keyword">true</span>;
+<a name="l00143"></a>00143 state.count = 0;
+<a name="l00144"></a>00144 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// Side is NEG for right, POS for left.</span>
+<a name="l00148"></a>00148 <span class="comment">// The count is -2 for down, 2 for up (or -1/1)</span>
+<a name="l00149"></a>00149 <span class="comment">// Side positive thus means UP and LEFTSIDE or DOWN and RIGHTSIDE</span>
+<a name="l00150"></a>00150 <span class="comment">// See accompagnying figure (TODO)</span>
+<a name="l00151"></a>00151 <span class="keywordflow">if</span> (side * count &gt; 0)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 state.count += count;
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> ! state.touches;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">00160</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a>(counter <span class="keyword">const</span>&amp; state)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keywordflow">return</span> state.within_no_touch();
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span>
+<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> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span>strategy_within&lt;cartesian_tag, cartesian_tag, Point, PointOfSegment&gt;
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="keyword">typedef</span> strategy::within::winding&lt;Point, PointOfSegment&gt; <a class="code" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">type</a>;
+<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> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00178"></a>00178 <span class="keyword">struct </span>strategy_within&lt;geographic_tag, geographic_tag, Point, PointOfSegment&gt;
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> strategy::within::winding&lt;Point, PointOfSegment&gt; <a class="code" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">type</a>;
+<a name="l00181"></a>00181 };
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="preprocessor">#endif</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span>
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 } <span class="comment">// namespace ggl</span>
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/point_on_border.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__utility.html#ge415174744cad8935889144cc286a0fb">ggl::point_on_border</a> (Geometry const &amp;geometry, typename point_type&lt; Geometry &gt;::type &amp;point)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on a border. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__on__border_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/detail/point_on_border.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="core_2point__type_8hpp.html">ggl/core/point_type.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
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.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__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a> {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span>
+<a name="l00029"></a>00029 &lt;
+<a name="l00030"></a>00030 <span class="keyword">typename</span> Range,
+<a name="l00031"></a>00031 <span class="keyword">typename</span> Point
+<a name="l00032"></a>00032 &gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>point_on_range
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Range <span class="keyword">const</span>&amp; range, Point&amp; point)
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (boost::size(range) &gt; 0)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 point = *boost::begin(range);
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<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="keyword">template</span>
+<a name="l00048"></a>00048 &lt;
+<a name="l00049"></a>00049 <span class="keyword">typename</span> Polygon,
+<a name="l00050"></a>00050 <span class="keyword">typename</span> Point
+<a name="l00051"></a>00051 &gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>point_on_polygon
+<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(Polygon <span class="keyword">const</span>&amp; polygon, Point&amp; point)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> point_on_range
+<a name="l00057"></a>00057 &lt;
+<a name="l00058"></a>00058 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00059"></a>00059 Point
+<a name="l00060"></a>00060 &gt;::apply(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), point);
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span>
+<a name="l00066"></a>00066 &lt;
+<a name="l00067"></a>00067 <span class="keyword">typename</span> Box,
+<a name="l00068"></a>00068 <span class="keyword">typename</span> Point
+<a name="l00069"></a>00069 &gt;
+<a name="l00070"></a>00070 <span class="keyword">struct </span>point_on_box
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box <span class="keyword">const</span>&amp; box, Point&amp; point)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 detail::assign::assign_box_2d_corner&lt;min_corner, min_corner&gt;(box, point);
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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 detail::point_on_border</span>
+<a name="l00081"></a>00081 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span>
+<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>dispatch
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">template</span>
+<a name="l00089"></a>00089 &lt;
+<a name="l00090"></a>00090 <span class="keyword">typename</span> GeometryTag,
+<a name="l00091"></a>00091 <span class="keyword">typename</span> Geometry,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> Point
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 &gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>
+<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="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>
+<a name="l00102"></a>00102 &lt;
+<a name="l00103"></a>00103 point_tag, Point, Point
+<a name="l00104"></a>00104 &gt;
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp; source, Point&amp; destination)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 destination = source;
+<a name="l00109"></a>00109 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00115"></a>00115 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>&lt;linestring_tag, Linestring, Point&gt;
+<a name="l00116"></a>00116 : detail::<a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>::point_on_range&lt;Linestring, Point&gt;
+<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> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00121"></a>00121 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>&lt;ring_tag, Ring, Point&gt;
+<a name="l00122"></a>00122 : detail::<a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>::point_on_range&lt;Ring, Point&gt;
+<a name="l00123"></a>00123 {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00127"></a>00127 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>&lt;polygon_tag, Polygon, Point&gt;
+<a name="l00128"></a>00128 : detail::<a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>::point_on_polygon&lt;Polygon, Point&gt;
+<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> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00133"></a>00133 <span class="keyword">struct </span><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>&lt;box_tag, Box, Point&gt;
+<a name="l00134"></a>00134 : detail::<a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>::point_on_box&lt;Box, Point&gt;
+<a name="l00135"></a>00135 {};
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 } <span class="comment">// namespace dispatch</span>
+<a name="l00139"></a>00139 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>
+<a name="l00141"></a>00141
+<a name="l00152"></a>00152 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00153"></a><a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb">00153</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">point_on_border</a>(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00154"></a>00154 <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>&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <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="l00157"></a>00157
+<a name="l00158"></a>00158 concept::check&lt;const Geometry&gt;();
+<a name="l00159"></a>00159 concept::check&lt;point_type&gt;();
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">dispatch::point_on_border</a>
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 <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="l00164"></a>00164 Geometry,
+<a name="l00165"></a>00165 point_type
+<a name="l00166"></a>00166 &gt;::apply(geometry, point);
+<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 ggl</span>
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/core/point_order.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__order.html">ggl::point_order&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__order.html">ggl::traits::point_order&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl::order_selector</a> { <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl::clockwise</a> = 1,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl::counterclockwise</a> = 2,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl::order_undetermined</a> = 0
+ }</td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__order_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/core/point_order.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_CORE_POINT_ORDER_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_POINT_ORDER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00014"></a>00014
+<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
+<a name="l00022"></a><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">00022</a> <span class="keyword">enum</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> { <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a> = 1, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a> = 2, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">order_undetermined</a> = 0 };
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>traits {
+<a name="l00025"></a>00025
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00039"></a><a class="code" href="structggl_1_1traits_1_1point__order.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1point__order.html" title="Traits class indicating the order of contained points within a ring or (multi)polygon...">point_order</a>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a><a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">00041</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 } <span class="comment">// namespace traits</span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span><a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">point_order</a>
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span>point_order&lt;ring_tag, Ring&gt;
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = <a class="code" href="structggl_1_1traits_1_1point__order.html" title="Traits class indicating the order of contained points within a ring or (multi)polygon...">ggl::traits::point_order&lt;Ring&gt;::value</a>;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// Specialization for polygon: the order is the order of its rings</span>
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>point_order&lt;polygon_tag, Polygon&gt;
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = core_dispatch::point_order
+<a name="l00071"></a>00071 &lt;
+<a name="l00072"></a>00072 ring_tag,
+<a name="l00073"></a>00073 <span class="keyword">typename</span> ring_type&lt;polygon_tag, Polygon&gt;::type
+<a name="l00074"></a>00074 &gt;::value ;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00086"></a><a class="code" href="structggl_1_1point__order.html">00086</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">point_order</a>
+<a name="l00087"></a>00087 {
+<a name="l00088"></a><a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">00088</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>;
+<a name="l00089"></a><a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">00089</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a> = core_dispatch::point_order
+<a name="l00090"></a>00090 &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 <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>
+<a name="l00093"></a>00093 &gt;<a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">::value</a>;
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 } <span class="comment">// namespace ggl</span>
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="preprocessor">#endif // GGL_CORE_POINT_ORDER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// Adapt the point_xy to the concept</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<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> CoordinateType, <span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span>tag&lt;point_xy&lt;CoordinateType, CoordinateSystem&gt; &gt;
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">typedef</span> point_tag type;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CoordinateType, <span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span>coordinate_type&lt;point_xy&lt;CoordinateType, CoordinateSystem&gt; &gt;
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> CoordinateType <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>;
+<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> CoordinateType, <span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>coordinate_system&lt;point_xy&lt;CoordinateType, CoordinateSystem&gt; &gt;
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> CoordinateSystem <a class="code" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</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> CoordinateType, <span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;point_xy&lt;CoordinateType, CoordinateSystem&gt; &gt;
+<a name="l00080"></a>00080 : boost::mpl::int_&lt;2&gt;
+<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> CoordinateType, <span class="keyword">typename</span> CoordinateSystem, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>access&lt;point_xy&lt;CoordinateType, CoordinateSystem&gt;, Dimension &gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(
+<a name="l00087"></a>00087 point_xy&lt;CoordinateType, CoordinateSystem&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> p.template get&lt;Dimension&gt;();
+<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>(point_xy&lt;CoordinateType, CoordinateSystem&gt;&amp; p,
+<a name="l00093"></a>00093 CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 p.template set&lt;Dimension&gt;(value);
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 } <span class="comment">// namespace traits</span>
+<a name="l00100"></a>00100 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</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_GEOMETRIES_POINT_XY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/policies/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_1equal__to.html">ggl::equal_to&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equal To functor, to compare if points are equal. 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_1greater.html">ggl::greater&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater functor. 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">ggl::less&lt; Point, Dimension, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less functor, to sort points in ascending order. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/policies_2compare_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/policies/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 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_POLICIES_COMPARE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_POLICIES_COMPARE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2compare_8hpp.html">ggl/strategies/compare.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="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>compare {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keywordtype">int</span> Direction,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> Point,
+<a name="l00038"></a>00038 <span class="keyword">typename</span> Strategy,
+<a name="l00039"></a>00039 std::size_t Dimension,
+<a name="l00040"></a>00040 std::size_t DimensionCount
+<a name="l00041"></a>00041 &gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>compare_loop
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy::compare::detail::select_strategy
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 Strategy, Direction, Point, Dimension
+<a name="l00047"></a>00047 &gt;::type compare_type;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <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;Point&gt;::type</a> coordinate_type;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp; left, Point <span class="keyword">const</span>&amp; right)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 coordinate_type <span class="keyword">const</span>&amp; cleft = ggl::get&lt;Dimension&gt;(left);
+<a name="l00054"></a>00054 coordinate_type <span class="keyword">const</span>&amp; cright = ggl::get&lt;Dimension&gt;(right);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keywordflow">if</span> (<a class="code" href="group__utility.html#gd90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(cleft, cright))
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> compare_loop
+<a name="l00059"></a>00059 &lt;
+<a name="l00060"></a>00060 Direction, Point, Strategy,
+<a name="l00061"></a>00061 Dimension + 1, DimensionCount
+<a name="l00062"></a>00062 &gt;::apply(left, right);
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 <span class="keywordflow">else</span>
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 compare_type compare;
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> compare(cleft, cright);
+<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>
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 <span class="keywordtype">int</span> Direction,
+<a name="l00075"></a>00075 <span class="keyword">typename</span> Point,
+<a name="l00076"></a>00076 <span class="keyword">typename</span> Strategy,
+<a name="l00077"></a>00077 std::size_t DimensionCount
+<a name="l00078"></a>00078 &gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>compare_loop&lt;Direction, Point, Strategy, DimensionCount, DimensionCount&gt;
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>&amp;, Point <span class="keyword">const</span>&amp;)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<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="keywordtype">int</span> Direction, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>compare_in_all_dimensions
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(Point <span class="keyword">const</span>&amp; left, Point <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00092"></a>00092 <span class="keyword"> </span>{
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> detail::compare::compare_loop
+<a name="l00094"></a>00094 &lt;
+<a name="l00095"></a>00095 Direction, Point, Strategy,
+<a name="l00096"></a>00096 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="l00097"></a>00097 &gt;::apply(left, right);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span>
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 <span class="keyword">typename</span> Point,
+<a name="l00105"></a>00105 <span class="keyword">typename</span> Strategy,
+<a name="l00106"></a>00106 std::size_t Dimension
+<a name="l00107"></a>00107 &gt;
+<a name="l00108"></a>00108 <span class="keyword">class </span>compare_in_one_dimension
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 Strategy compare;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">public</span> :
+<a name="l00113"></a>00113 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(Point <span class="keyword">const</span>&amp; left, Point <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00114"></a>00114 <span class="keyword"> </span>{
+<a name="l00115"></a>00115 <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;Point&gt;::type</a> coordinate_type;
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 coordinate_type <span class="keyword">const</span>&amp; cleft = get&lt;Dimension&gt;(left);
+<a name="l00118"></a>00118 coordinate_type <span class="keyword">const</span>&amp; cright = get&lt;Dimension&gt;(right);
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> compare(cleft, cright);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 };
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 }} <span class="comment">// namespace detail::compare</span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="preprocessor">#endif</span>
+<a name="l00126"></a>00126 <span class="preprocessor"></span>
+<a name="l00127"></a>00127 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">template</span>
+<a name="l00132"></a>00132 &lt;
+<a name="l00133"></a>00133 <span class="keywordtype">int</span> Direction,
+<a name="l00134"></a>00134 <span class="keyword">typename</span> Point,
+<a name="l00135"></a>00135 <span class="keyword">typename</span> Strategy,
+<a name="l00136"></a>00136 <span class="keywordtype">int</span> Dimension
+<a name="l00137"></a>00137 &gt;
+<a name="l00138"></a>00138 <span class="keyword">struct </span>compare_geometries
+<a name="l00139"></a>00139 : detail::compare::compare_in_one_dimension
+<a name="l00140"></a>00140 &lt;
+<a name="l00141"></a>00141 Point,
+<a name="l00142"></a>00142 typename strategy::compare::detail::select_strategy
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 Strategy, Direction, Point, Dimension
+<a name="l00145"></a>00145 &gt;::type,
+<a name="l00146"></a>00146 Dimension
+<a name="l00147"></a>00147 &gt;
+<a name="l00148"></a>00148 {};
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="comment">// Specialization with -1: compare in all dimensions</span>
+<a name="l00152"></a>00152 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Direction, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00153"></a>00153 <span class="keyword">struct </span>compare_geometries&lt;Direction, Point, Strategy, -1&gt;
+<a name="l00154"></a>00154 : detail::compare::compare_in_all_dimensions&lt;Direction, Point, Strategy&gt;
+<a name="l00155"></a>00155 {};
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace dispatch</span>
+<a name="l00160"></a>00160 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00161"></a>00161 <span class="preprocessor"></span>
+<a name="l00162"></a>00162
+<a name="l00178"></a>00178 <span class="keyword">template</span>
+<a name="l00179"></a>00179 &lt;
+<a name="l00180"></a>00180 <span class="keyword">typename</span> Point,
+<a name="l00181"></a>00181 <span class="keywordtype">int</span> Dimension = -1,
+<a name="l00182"></a>00182 <span class="keyword">typename</span> Strategy = strategy::compare::default_strategy
+<a name="l00183"></a>00183 &gt;
+<a name="l00184"></a><a class="code" href="structggl_1_1less.html">00184</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">less</a>
+<a name="l00185"></a>00185 : dispatch::compare_geometries
+<a name="l00186"></a>00186 &lt;
+<a name="l00187"></a>00187 1, <span class="comment">// indicates ascending</span>
+<a name="l00188"></a>00188 Point,
+<a name="l00189"></a>00189 Strategy,
+<a name="l00190"></a>00190 Dimension
+<a name="l00191"></a>00191 &gt;
+<a name="l00192"></a>00192 {};
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194
+<a name="l00201"></a>00201 <span class="keyword">template</span>
+<a name="l00202"></a>00202 &lt;
+<a name="l00203"></a>00203 <span class="keyword">typename</span> Point,
+<a name="l00204"></a>00204 <span class="keywordtype">int</span> Dimension = -1,
+<a name="l00205"></a>00205 <span class="keyword">typename</span> Strategy = <a class="code" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html" title="Default strategy, indicates the default strategy for comparisons.">strategy::compare::default_strategy</a>
+<a name="l00206"></a>00206 &gt;
+<a name="l00207"></a><a class="code" href="structggl_1_1greater.html">00207</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1greater.html" title="Greater functor.">greater</a>
+<a name="l00208"></a>00208 : dispatch::compare_geometries
+<a name="l00209"></a>00209 &lt;
+<a name="l00210"></a>00210 -1, <span class="comment">// indicates descending</span>
+<a name="l00211"></a>00211 Point,
+<a name="l00212"></a>00212 Strategy,
+<a name="l00213"></a>00213 Dimension
+<a name="l00214"></a>00214 &gt;
+<a name="l00215"></a>00215 {};
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217
+<a name="l00227"></a>00227 <span class="keyword">template</span>
+<a name="l00228"></a>00228 &lt;
+<a name="l00229"></a>00229 <span class="keyword">typename</span> Point,
+<a name="l00230"></a>00230 <span class="keywordtype">int</span> Dimension = 0,
+<a name="l00231"></a>00231 <span class="keyword">typename</span> Strategy = <a class="code" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html" title="Default strategy, indicates the default strategy for comparisons.">strategy::compare::default_strategy</a>
+<a name="l00232"></a>00232 &gt;
+<a name="l00233"></a><a class="code" href="structggl_1_1equal__to.html">00233</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1equal__to.html" title="Equal To functor, to compare if points are equal.">equal_to</a>
+<a name="l00234"></a>00234 : dispatch::compare_geometries
+<a name="l00235"></a>00235 &lt;
+<a name="l00236"></a>00236 0,
+<a name="l00237"></a>00237 Point,
+<a name="l00238"></a>00238 Strategy,
+<a name="l00239"></a>00239 Dimension
+<a name="l00240"></a>00240 &gt;
+<a name="l00241"></a>00241 {};
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243
+<a name="l00244"></a>00244 } <span class="comment">// namespace ggl</span>
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 <span class="preprocessor">#endif // GGL_POLICIES_COMPARE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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, ClockWise, 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/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="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 <span class="keyword">typename</span> Point,
+<a name="l00045"></a>00045 <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="l00046"></a>00046 <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="l00047"></a>00047 <span class="keywordtype">bool</span> ClockWise = <span class="keyword">true</span>,
+<a name="l00048"></a>00048 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc = std::allocator,
+<a name="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc = std::allocator
+<a name="l00050"></a>00050 &gt;
+<a name="l00051"></a><a class="code" href="classggl_1_1polygon.html">00051</a> <span class="keyword">class </span><a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">public</span>:
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// Member types</span>
+<a name="l00058"></a><a class="code" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">00058</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00059"></a><a class="code" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">00059</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1linear__ring.html">linear_ring&lt;Point, PointList, ClockWise, PointAlloc&gt;</a> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>;
+<a name="l00060"></a><a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">00060</a> <span class="keyword">typedef</span> RingList&lt;ring_type , RingAlloc&lt;ring_type &gt; &gt; <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a>;
+<a name="l00061"></a>00061
+<a name="l00062"></a><a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">00062</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a> <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_outer; }
+<a name="l00063"></a><a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">00063</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_inners; }
+<a name="l00064"></a>00064
+<a name="l00065"></a><a class="code" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">00065</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>&amp; <a class="code" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a>() { <span class="keywordflow">return</span> m_outer; }
+<a name="l00066"></a><a class="code" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">00066</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> &amp; <a class="code" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a>() { <span class="keywordflow">return</span> m_inners; }
+<a name="l00067"></a>00067
+<a name="l00069"></a><a class="code" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">00069</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf" title="Utility method, clears outer and inner rings.">clear</a>()
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 m_outer.clear();
+<a name="l00072"></a>00072 m_inners.clear();
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">private</span>:
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> m_outer;
+<a name="l00078"></a>00078 <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> m_inners;
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keyword">template</span>
+<a name="l00087"></a>00087 &lt;
+<a name="l00088"></a>00088 <span class="keyword">typename</span> Point,
+<a name="l00089"></a>00089 <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="l00090"></a>00090 <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="l00091"></a>00091 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00092"></a>00092 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00094"></a>00094 &gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span>tag&lt;polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> polygon_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span>
+<a name="l00101"></a>00101 &lt;
+<a name="l00102"></a>00102 <span class="keyword">typename</span> Point,
+<a name="l00103"></a>00103 <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="l00104"></a>00104 <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="l00105"></a>00105 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00106"></a>00106 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00107"></a>00107 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00108"></a>00108 &gt;
+<a name="l00109"></a>00109 <span class="keyword">struct </span>ring_type&lt;polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
+<a name="l00112"></a>00112 &lt;
+<a name="l00113"></a>00113 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc
+<a name="l00114"></a>00114 &gt;::ring_type type;
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">template</span>
+<a name="l00118"></a>00118 &lt;
+<a name="l00119"></a>00119 <span class="keyword">typename</span> Point,
+<a name="l00120"></a>00120 <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="l00121"></a>00121 <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="l00122"></a>00122 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00123"></a>00123 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00124"></a>00124 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00125"></a>00125 &gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span>interior_type&lt; polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
+<a name="l00129"></a>00129 &lt;
+<a name="l00130"></a>00130 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc
+<a name="l00131"></a>00131 &gt;::inner_container_type type;
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keyword">template</span>
+<a name="l00135"></a>00135 &lt;
+<a name="l00136"></a>00136 <span class="keyword">typename</span> Point,
+<a name="l00137"></a>00137 <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="l00138"></a>00138 <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="l00139"></a>00139 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00141"></a>00141 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00142"></a>00142 &gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" 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, ClockWise, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> polygon&lt;Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc&gt; polygon_type;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type&amp; <span class="keyword">get</span>(polygon_type&amp; p)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="keywordflow">return</span> p.outer();
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type <span class="keyword">const</span> &amp; <span class="keyword">get</span>(polygon_type <span class="keyword">const</span>&amp; p)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keywordflow">return</span> p.outer();
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">template</span>
+<a name="l00159"></a>00159 &lt;
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Point,
+<a name="l00161"></a>00161 <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="l00162"></a>00162 <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="l00163"></a>00163 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00164"></a>00164 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00165"></a>00165 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00166"></a>00166 &gt;
+<a name="l00167"></a>00167 <span class="keyword">struct </span><a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" 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, ClockWise, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 <span class="keyword">typedef</span> polygon&lt;Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc&gt; polygon_type;
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type&amp; <span class="keyword">get</span>(
+<a name="l00172"></a>00172 polygon_type&amp; p)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> p.inners();
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type <span class="keyword">const</span>&amp; <span class="keyword">get</span>(
+<a name="l00178"></a>00178 polygon_type <span class="keyword">const</span>&amp; p)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keywordflow">return</span> p.inners();
+<a name="l00181"></a>00181 }
+<a name="l00182"></a>00182 };
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 } <span class="comment">// namespace traits</span>
+<a name="l00185"></a>00185 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00186"></a>00186 <span class="preprocessor"></span>
+<a name="l00187"></a>00187 } <span class="comment">// namespace ggl</span>
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="preprocessor">#endif // GGL_GEOMETRIES_POLYGON_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/polygon_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<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_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.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_2ring__type_8hpp.html">ggl/core/ring_type.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/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="ring__concept_8hpp.html">ggl/geometries/concepts/ring_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00049"></a><a class="code" href="classggl_1_1concept_1_1_polygon.html">00049</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a>
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span> <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="l00053"></a>00053 <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;Geometry&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="l00054"></a>00054 <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;Geometry&gt;::type</a> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a>;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;point_type&gt;</a>) );
+<a name="l00057"></a>00057 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_ring.html" title="ring concept">concept::Ring&lt;ring_type&gt;</a>) );
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;interior_type&gt;) );
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">struct </span>checker
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply()
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 Geometry* poly;
+<a name="l00066"></a>00066 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>&amp; e = <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00067"></a>00067 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> <span class="keyword">const</span>&amp; ce = <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <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>&amp; i = <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00070"></a>00070 <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a> <span class="keyword">const</span>&amp; ci = <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 boost::ignore_unused_variable_warning(e);
+<a name="l00073"></a>00073 boost::ignore_unused_variable_warning(ce);
+<a name="l00074"></a>00074 boost::ignore_unused_variable_warning(i);
+<a name="l00075"></a>00075 boost::ignore_unused_variable_warning(ci);
+<a name="l00076"></a>00076 boost::ignore_unused_variable_warning(poly);
+<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">public</span>:
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Polygon concept.">Polygon</a>)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="comment">// Check if it can be modified</span>
+<a name="l00087"></a>00087 <span class="comment">// TODO</span>
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="comment">//Geometry* poly;</span>
+<a name="l00090"></a>00090 <span class="comment">//clear(*poly);</span>
+<a name="l00091"></a>00091 <span class="comment">//append(*poly, point_type());</span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 checker::apply();
+<a name="l00094"></a>00094 }
+<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="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00106"></a><a class="code" href="classggl_1_1concept_1_1_const_polygon.html">00106</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_polygon.html" title="Polygon concept (const version).">ConstPolygon</a>
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00110"></a>00110 <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="l00111"></a>00111 <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;Geometry&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="l00112"></a>00112 <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;Geometry&gt;::type</a> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a>;
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;point_type&gt;</a>) );
+<a name="l00115"></a>00115 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="(linear) ring concept (const version)">concept::ConstRing&lt;ring_type&gt;</a>) );
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;interior_type&gt;) );
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">struct </span>checker
+<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> apply()
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 Geometry* poly;
+<a name="l00124"></a>00124 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> <span class="keyword">const</span>&amp; ce = <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00125"></a>00125 <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a> <span class="keyword">const</span>&amp; ci = <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 boost::ignore_unused_variable_warning(ce);
+<a name="l00128"></a>00128 boost::ignore_unused_variable_warning(ci);
+<a name="l00129"></a>00129 boost::ignore_unused_variable_warning(poly);
+<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="keyword">public</span>:
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_polygon.html" title="Polygon concept (const version).">ConstPolygon</a>)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 checker::apply();
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 <span class="preprocessor">#endif</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>};
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 Dimension, typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">ggl::get_as_radian</a> (const Geometry &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get 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 Dimension, 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__access.html#g1501c74dcded8b0bc6c43156a371094e">ggl::set_from_radian</a> (Geometry &amp;geometry, const typename coordinate_type&lt; Geometry &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set coordinate value (in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> Dimension, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> DegreeOrRadian&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>
+<a name="l00037"></a>00037 &lt;
+<a name="l00038"></a>00038 std::size_t Dimension,
+<a name="l00039"></a>00039 <span class="keyword">typename</span> Geometry,
+<a name="l00040"></a>00040 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordinateSystem
+<a name="l00041"></a>00041 &gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>radian_access&lt;Dimension, Geometry, CoordinateSystem&lt;radian&gt; &gt;
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type coordinate_type;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(geometry);
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Geometry&amp; geometry, coordinate_type <span class="keyword">const</span>&amp; radians)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 ggl::set&lt;Dimension&gt;(geometry, radians);
+<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>
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 std::size_t Dimension,
+<a name="l00060"></a>00060 <span class="keyword">typename</span> Geometry,
+<a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordinateSystem
+<a name="l00062"></a>00062 &gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span>radian_access&lt;Dimension, Geometry, CoordinateSystem&lt;degree&gt; &gt;
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Geometry&gt;::type coordinate_type;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> boost::numeric_cast
+<a name="l00070"></a>00070 &lt;
+<a name="l00071"></a>00071 coordinate_type
+<a name="l00072"></a>00072 &gt;(ggl::get&lt;Dimension&gt;(geometry) * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math::d2r</a>);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Geometry&amp; geometry, coordinate_type <span class="keyword">const</span>&amp; radians)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 ggl::set&lt;Dimension&gt;(geometry, boost::numeric_cast
+<a name="l00078"></a>00078 &lt;
+<a name="l00079"></a>00079 coordinate_type
+<a name="l00080"></a>00080 &gt;(radians * <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math::r2d</a>));
+<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 } <span class="comment">// namespace detail</span>
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00102"></a><a class="code" href="group__access.html#g9846948061bd42e390021d2d3e1ce701">00102</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;Geometry&gt;::type</a> <a class="code" href="group__access.html#g9846948061bd42e390021d2d3e1ce701" title="get coordinate value of a point, result is in Radian">get_as_radian</a>(<span class="keyword">const</span> Geometry&amp; geometry)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keywordflow">return</span> detail::radian_access&lt;Dimension, Geometry,
+<a name="l00105"></a>00105 <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;Geometry&gt;::type</a>&gt;<a class="code" href="group__access.html#gce53c5555841f90ccf60767c26e20499" title="get coordinate value of a Point ( / Sphere)">::get</a>(geometry);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> Dimension, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00122"></a><a class="code" href="group__access.html#g1501c74dcded8b0bc6c43156a371094e">00122</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g1501c74dcded8b0bc6c43156a371094e" title="set coordinate value (in radian) to a point">set_from_radian</a>(Geometry&amp; geometry,
+<a name="l00123"></a>00123 <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;Geometry&gt;::type</a>&amp; radians)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 detail::radian_access&lt;Dimension, Geometry,
+<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;Geometry&gt;::type</a>&gt;<a class="code" href="group__access.html#gca27eb28ef9bc6c55932dcf3a5266da3" title="set coordinate value of a Point ( / Sphere)">::set</a>(geometry, radians);
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 } <span class="comment">// namespace ggl</span>
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/range_iterator_const_if_c.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_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to define a const or non const boost range iterator. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/range__iterator__const__if__c_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/range_iterator_const_if_c.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_UTIL_RANGE_ITERATOR_CONST_IF_C_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_RANGE_ITERATOR_CONST_IF_C_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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
+<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
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> IsConst, <span class="keyword">typename</span> Range&gt;
+<a name="l00031"></a><a class="code" href="structggl_1_1range__iterator__const__if__c.html">00031</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1range__iterator__const__if__c.html" title="Meta-function to define a const or non const boost range iterator.">range_iterator_const_if_c</a>
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00034"></a>00034 &lt;
+<a name="l00035"></a>00035 IsConst,
+<a name="l00036"></a>00036 <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> boost::range_iterator&lt;Range&gt;::type
+<a name="l00038"></a><a class="code" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">00038</a> &gt;<a class="code" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">::type</a> <a class="code" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a>;
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<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 // GGL_UTIL_RANGE_ITERATOR_CONST_IF_C_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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#l00100">100</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#l00107">107</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#l00113">113</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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 D&gt; \</span>
+<a name="l00019"></a>00019 <span class="preprocessor">struct indexed_access&lt;Box, min_corner, D&gt; \</span>
+<a name="l00020"></a>00020 <span class="preprocessor">{ \</span>
+<a name="l00021"></a>00021 <span class="preprocessor"> typedef typename coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00022"></a>00022 <span class="preprocessor"> static inline ct get(Box const&amp; b) \</span>
+<a name="l00023"></a>00023 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. MinCorner); } \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) \</span>
+<a name="l00025"></a>00025 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. MinCorner, value); } \</span>
+<a name="l00026"></a>00026 <span class="preprocessor">}; \</span>
+<a name="l00027"></a>00027 <span class="preprocessor">template &lt;size_t D&gt; \</span>
+<a name="l00028"></a>00028 <span class="preprocessor">struct indexed_access&lt;Box, max_corner, D&gt; \</span>
+<a name="l00029"></a>00029 <span class="preprocessor">{ \</span>
+<a name="l00030"></a>00030 <span class="preprocessor"> typedef typename coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00031"></a>00031 <span class="preprocessor"> static inline ct get(Box const&amp; b) \</span>
+<a name="l00032"></a>00032 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. MaxCorner); } \</span>
+<a name="l00033"></a>00033 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) \</span>
+<a name="l00034"></a>00034 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. MaxCorner, value); } \</span>
+<a name="l00035"></a>00035 <span class="preprocessor">};</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \</span>
+<a name="l00039"></a>00039 <span class="preprocessor">template &lt;typename P, size_t D&gt; \</span>
+<a name="l00040"></a>00040 <span class="preprocessor">struct indexed_access&lt;Box&lt;P&gt;, min_corner, D&gt; \</span>
+<a name="l00041"></a>00041 <span class="preprocessor">{ \</span>
+<a name="l00042"></a>00042 <span class="preprocessor"> typedef typename coordinate_type&lt;P&gt;::type ct; \</span>
+<a name="l00043"></a>00043 <span class="preprocessor"> static inline ct get(Box&lt;P&gt; const&amp; b) \</span>
+<a name="l00044"></a>00044 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. MinCorner); } \</span>
+<a name="l00045"></a>00045 <span class="preprocessor"> static inline void set(Box&lt;P&gt;&amp; b, ct const&amp; value) \</span>
+<a name="l00046"></a>00046 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. MinCorner, value); } \</span>
+<a name="l00047"></a>00047 <span class="preprocessor">}; \</span>
+<a name="l00048"></a>00048 <span class="preprocessor">template &lt;typename P, size_t D&gt; \</span>
+<a name="l00049"></a>00049 <span class="preprocessor">struct indexed_access&lt;Box&lt;P&gt;, max_corner, D&gt; \</span>
+<a name="l00050"></a>00050 <span class="preprocessor">{ \</span>
+<a name="l00051"></a>00051 <span class="preprocessor"> typedef typename coordinate_type&lt;P&gt;::type ct; \</span>
+<a name="l00052"></a>00052 <span class="preprocessor"> static inline ct get(Box&lt;P&gt; const&amp; b) \</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. MaxCorner); } \</span>
+<a name="l00054"></a>00054 <span class="preprocessor"> static inline void set(Box&lt;P&gt;&amp; b, ct const&amp; value) \</span>
+<a name="l00055"></a>00055 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. MaxCorner, value); } \</span>
+<a name="l00056"></a>00056 <span class="preprocessor">};</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, Point, Left, Bottom, Right, Top) \</span>
+<a name="l00060"></a>00060 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Box, min_corner, 0&gt; \</span>
+<a name="l00061"></a>00061 <span class="preprocessor">{ \</span>
+<a name="l00062"></a>00062 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00063"></a>00063 <span class="preprocessor"> static inline ct get(Box const&amp; b) { return b. Left; } \</span>
+<a name="l00064"></a>00064 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) { b. Left = value; } \</span>
+<a name="l00065"></a>00065 <span class="preprocessor">}; \</span>
+<a name="l00066"></a>00066 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Box, min_corner, 1&gt; \</span>
+<a name="l00067"></a>00067 <span class="preprocessor">{ \</span>
+<a name="l00068"></a>00068 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00069"></a>00069 <span class="preprocessor"> static inline ct get(Box const&amp; b) { return b. Bottom; } \</span>
+<a name="l00070"></a>00070 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) { b. Bottom = value; } \</span>
+<a name="l00071"></a>00071 <span class="preprocessor">}; \</span>
+<a name="l00072"></a>00072 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Box, max_corner, 0&gt; \</span>
+<a name="l00073"></a>00073 <span class="preprocessor">{ \</span>
+<a name="l00074"></a>00074 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> static inline ct get(Box const&amp; b) { return b. Right; } \</span>
+<a name="l00076"></a>00076 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) { b. Right = value; } \</span>
+<a name="l00077"></a>00077 <span class="preprocessor">}; \</span>
+<a name="l00078"></a>00078 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Box, max_corner, 1&gt; \</span>
+<a name="l00079"></a>00079 <span class="preprocessor">{ \</span>
+<a name="l00080"></a>00080 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00081"></a>00081 <span class="preprocessor"> static inline ct get(Box const&amp; b) { return b. Top; } \</span>
+<a name="l00082"></a>00082 <span class="preprocessor"> static inline void set(Box&amp; b, ct const&amp; value) { b. Top = value; } \</span>
+<a name="l00083"></a>00083 <span class="preprocessor">};</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00089"></a>00089 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Box &gt; { typedef box_tag type; }; \</span>
+<a name="l00090"></a>00090 <span class="preprocessor"> template&lt;&gt; struct point_type&lt;Box &gt; { typedef PointType type; };</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \</span>
+<a name="l00093"></a>00093 <span class="preprocessor"> template&lt;typename P&gt; struct tag&lt;Box&lt;P&gt; &gt; { typedef box_tag type; }; \</span>
+<a name="l00094"></a>00094 <span class="preprocessor"> template&lt;typename P&gt; struct point_type&lt;Box&lt;P&gt; &gt; { typedef P type; };</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<a name="l00096"></a>00096 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a><a class="code" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">00100</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX(Box, PointType, MinCorner, MaxCorner) \</span>
+<a name="l00101"></a>00101 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00102"></a>00102 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00103"></a>00103 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, PointType, MinCorner, MaxCorner) \</span>
+<a name="l00104"></a>00104 <span class="preprocessor">}}</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00106"></a>00106
+<a name="l00107"></a><a class="code" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">00107</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX_TEMPLATIZED(Box, MinCorner, MaxCorner) \</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_BOX_TRAITS_TEMPLATIZED(Box) \</span>
+<a name="l00110"></a>00110 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \</span>
+<a name="l00111"></a>00111 <span class="preprocessor">}}</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span>
+<a name="l00113"></a><a class="code" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">00113</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX_2D_4VALUES(Box, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00114"></a>00114 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00115"></a>00115 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00116"></a>00116 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00117"></a>00117 <span class="preprocessor">}}</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="comment">// CONST versions are for boxes probably not that common. Postponed.</span>
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c03__custom__linestring__example_8cpp-example.html#a1">c03_custom_linestring_example.cpp</a>.</dl>
+<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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>, <a class="el" href="c02__custom__box__example_8cpp-example.html#a0">c02_custom_box_example.cpp</a>, and <a class="el" href="c03__custom__linestring__example_8cpp-example.html#a0">c03_custom_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00103">103</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#l00111">111</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#l00121">121</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#l00129">129</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#l00138">138</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#l00148">148</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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", </span>
+<a name="l00016"></a>00016 <span class="comment">// for registration of custom geometry types</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#ifndef DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="comment">// Starting point, specialize basic traits necessary to register a point</span>
+<a name="l00021"></a>00021 <span class="comment">// (the 'accessor' is technically not specialization but definition, specialized in another macro)</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, Dim, CoordinateType, CoordinateSystem) \</span>
+<a name="l00023"></a>00023 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Point&gt; { typedef point_tag type; }; \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> template&lt;&gt; struct dimension&lt;Point&gt; : boost::mpl::int_&lt;Dim&gt; {}; \</span>
+<a name="l00025"></a>00025 <span class="preprocessor"> template&lt;&gt; struct coordinate_type&lt;Point&gt; { typedef CoordinateType type; }; \</span>
+<a name="l00026"></a>00026 <span class="preprocessor"> template&lt;&gt; struct coordinate_system&lt;Point&gt; { typedef CoordinateSystem type; }; \</span>
+<a name="l00027"></a>00027 <span class="preprocessor"> template&lt;std::size_t Dimension&gt; struct Point##accessor {};</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// Non Const version</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00032"></a>00032 <span class="preprocessor"> template&lt;std::size_t Dimension&gt; struct access&lt;Point, Dimension&gt; { \</span>
+<a name="l00033"></a>00033 <span class="preprocessor"> static inline CoordinateType get(Point const&amp; p) \</span>
+<a name="l00034"></a>00034 <span class="preprocessor"> { return Point##accessor&lt;Dimension&gt;::get(p); } \</span>
+<a name="l00035"></a>00035 <span class="preprocessor"> static inline void set(Point&amp; p, CoordinateType const&amp; value) \</span>
+<a name="l00036"></a>00036 <span class="preprocessor"> { Point##accessor&lt;Dimension&gt;::set(p, value); } \</span>
+<a name="l00037"></a>00037 <span class="preprocessor"> };</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span>
+<a name="l00039"></a>00039 <span class="comment">// Const version</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00041"></a>00041 <span class="preprocessor"> template&lt;std::size_t Dimension&gt; struct access&lt;Point, Dimension&gt; { \</span>
+<a name="l00042"></a>00042 <span class="preprocessor"> static inline CoordinateType get(Point const&amp; p) \</span>
+<a name="l00043"></a>00043 <span class="preprocessor"> { return Point##accessor&lt;Dimension&gt;::get(p); } \</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
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// Specialize the point-specific-accessor class, declared below, per dimension</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, Dim, CoordinateType, Get, Set) \</span>
+<a name="l00051"></a>00051 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00052"></a>00052 <span class="preprocessor"> { \</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> static inline CoordinateType get(Point const&amp; p) { return p. Get; } \</span>
+<a name="l00054"></a>00054 <span class="preprocessor"> static inline void set(Point&amp; p, CoordinateType const&amp; value) { p. Set = value; } \</span>
+<a name="l00055"></a>00055 <span class="preprocessor"> };</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// Const version</span>
+<a name="l00059"></a>00059 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, Dim, CoordinateType, Get) \</span>
+<a name="l00060"></a>00060 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00061"></a>00061 <span class="preprocessor"> { \</span>
+<a name="l00062"></a>00062 <span class="preprocessor"> static inline CoordinateType get(Point const&amp; p) \</span>
+<a name="l00063"></a>00063 <span class="preprocessor"> { return p. Get; } \</span>
+<a name="l00064"></a>00064 <span class="preprocessor"> };</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// Get/set version</span>
+<a name="l00068"></a>00068 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, Dim, CoordinateType, Get, Set) \</span>
+<a name="l00069"></a>00069 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00070"></a>00070 <span class="preprocessor"> { \</span>
+<a name="l00071"></a>00071 <span class="preprocessor"> static inline CoordinateType get(Point const&amp; p) \</span>
+<a name="l00072"></a>00072 <span class="preprocessor"> { return p. Get (); } \</span>
+<a name="l00073"></a>00073 <span class="preprocessor"> static inline void set(Point&amp; p, CoordinateType const&amp; value) \</span>
+<a name="l00074"></a>00074 <span class="preprocessor"> { p. Set ( value ); } \</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> };</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_2D(Point, CoordinateType, Get0, Get1, Set0, Set1) \</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"></span>
+<a name="l00083"></a>00083 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_3D(Point, CoordinateType, Get0, Get1, Get2, Set0, Set1, Set2) \</span>
+<a name="l00084"></a>00084 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00085"></a>00085 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00086"></a>00086 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 2, CoordinateType, Get2, Set2)</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088 <span class="comment">// Const versions</span>
+<a name="l00089"></a>00089 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_2D(Point, CoordinateType, Get0, Get1) \</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"></span>
+<a name="l00093"></a>00093 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_3D(Point, CoordinateType, Get0, Get1, Get2) \</span>
+<a name="l00094"></a>00094 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 0, CoordinateType, Get0) \</span>
+<a name="l00095"></a>00095 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 1, CoordinateType, Get1) \</span>
+<a name="l00096"></a>00096 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 2, CoordinateType, Get2)</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00098"></a>00098 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00099"></a>00099 <span class="preprocessor"></span>
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="comment">// Library user macro to register a custom 2D point</span>
+<a name="l00103"></a><a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">00103</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \</span>
+<a name="l00104"></a>00104 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00105"></a>00105 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00106"></a>00106 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00107"></a>00107 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_2D(Point, CoordinateType, Field0, Field1, Field0, Field1) \</span>
+<a name="l00108"></a>00108 <span class="preprocessor">}}</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00110"></a>00110 <span class="comment">// Library user macro to register a custom 3D point</span>
+<a name="l00111"></a><a class="code" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">00111</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \</span>
+<a name="l00112"></a>00112 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00113"></a>00113 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00114"></a>00114 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00115"></a>00115 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_3D(Point, CoordinateType, Field0, Field1, Field2, Field0, Field1, Field2) \</span>
+<a name="l00116"></a>00116 <span class="preprocessor">}}</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="comment">// Library user macro to register a custom 2D point (CONST version)</span>
+<a name="l00121"></a><a class="code" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">00121</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1) \</span>
+<a name="l00122"></a>00122 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00123"></a>00123 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00124"></a>00124 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00125"></a>00125 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_2D(Point, CoordinateType, Field0, Field1) \</span>
+<a name="l00126"></a>00126 <span class="preprocessor">}}</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>
+<a name="l00128"></a>00128 <span class="comment">// Library user macro to register a custom 3D point (CONST version)</span>
+<a name="l00129"></a><a class="code" href="register_2point_8hpp.html#bb96f6a00cda5806f0d7114f731ac971">00129</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \</span>
+<a name="l00130"></a>00130 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00131"></a>00131 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00132"></a>00132 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00133"></a>00133 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_3D(Point, CoordinateType, Field0, Field1, Field2) \</span>
+<a name="l00134"></a>00134 <span class="preprocessor">}}</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span>
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// Library user macro to register a custom 2D point (having separate get/set methods)</span>
+<a name="l00138"></a><a class="code" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">00138</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1) \</span>
+<a name="l00139"></a>00139 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00140"></a>00140 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00141"></a>00141 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00142"></a>00142 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00143"></a>00143 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00144"></a>00144 <span class="preprocessor">}}</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span>
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// Library user macro to register a custom 3D point (having separate get/set methods)</span>
+<a name="l00148"></a><a class="code" href="register_2point_8hpp.html#505d8eb529cc02313bf107f59c8dcc65">00148</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2) \</span>
+<a name="l00149"></a>00149 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00150"></a>00150 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00151"></a>00151 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00152"></a>00152 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00153"></a>00153 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00154"></a>00154 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 2, CoordinateType, Get2, Set2) \</span>
+<a name="l00155"></a>00155 <span class="preprocessor">}}</span>
+<a name="l00156"></a>00156 <span class="preprocessor"></span>
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/register/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>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_2segment_8hpp.html#3bd9e3c96fd164678ea079e4fc9594c2">GEOMETRY_REGISTER_SEGMENT</a>(Segment, PointType, Index0, Index1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2segment_8hpp.html#be3b18dcfa8fd367ad2a30012ba594fe">GEOMETRY_REGISTER_SEGMENT_2D_4VALUES</a>(Segment, 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_2segment_8hpp.html#b34820b69342317345b4b228d927175d">GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED</a>(Segment, Index0, Index1)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="3bd9e3c96fd164678ea079e4fc9594c2"></a><!-- doxytag: member="segment.hpp::GEOMETRY_REGISTER_SEGMENT" ref="3bd9e3c96fd164678ea079e4fc9594c2" args="(Segment, PointType, Index0, Index1)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_SEGMENT </td>
+ <td>(</td>
+ <td class="paramtype">Segment, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Index0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Index1&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_SEGMENT_TRAITS(Segment, PointType) \
+ GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS(Segment, PointType, Index0, Index1) \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2segment_8hpp_source.html#l00100">100</a> of file <a class="el" href="register_2segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b34820b69342317345b4b228d927175d"></a><!-- doxytag: member="segment.hpp::GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED" ref="b34820b69342317345b4b228d927175d" args="(Segment, Index0, Index1)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED </td>
+ <td>(</td>
+ <td class="paramtype">Segment, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Index0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Index1&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_SEGMENT_TRAITS_TEMPLATIZED(Segment) \
+ GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_TEMPLATIZED(Segment, Index0, Index1) \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2segment_8hpp_source.html#l00107">107</a> of file <a class="el" href="register_2segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="be3b18dcfa8fd367ad2a30012ba594fe"></a><!-- doxytag: member="segment.hpp::GEOMETRY_REGISTER_SEGMENT_2D_4VALUES" ref="be3b18dcfa8fd367ad2a30012ba594fe" args="(Segment, PointType, Left, Bottom, Right, Top)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_SEGMENT_2D_4VALUES </td>
+ <td>(</td>
+ <td class="paramtype">Segment, <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_SEGMENT_TRAITS(Segment, PointType) \
+ GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_4VALUES(Segment, PointType, Left, Bottom, Right, Top) \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2segment_8hpp_source.html#l00113">113</a> of file <a class="el" href="register_2segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/register_2segment_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/register/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
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_REGISTER_SEGMENT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_REGISTER_SEGMENT_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
+<a name="l00017"></a>00017 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS(Segment, Point, Index0, Index1) \</span>
+<a name="l00018"></a>00018 <span class="preprocessor">template &lt;size_t D&gt; \</span>
+<a name="l00019"></a>00019 <span class="preprocessor">struct indexed_access&lt;Segment, min_corner, D&gt; \</span>
+<a name="l00020"></a>00020 <span class="preprocessor">{ \</span>
+<a name="l00021"></a>00021 <span class="preprocessor"> typedef typename coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00022"></a>00022 <span class="preprocessor"> static inline ct get(Segment const&amp; b) \</span>
+<a name="l00023"></a>00023 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. Index0); } \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) \</span>
+<a name="l00025"></a>00025 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. Index0, value); } \</span>
+<a name="l00026"></a>00026 <span class="preprocessor">}; \</span>
+<a name="l00027"></a>00027 <span class="preprocessor">template &lt;size_t D&gt; \</span>
+<a name="l00028"></a>00028 <span class="preprocessor">struct indexed_access&lt;Segment, max_corner, D&gt; \</span>
+<a name="l00029"></a>00029 <span class="preprocessor">{ \</span>
+<a name="l00030"></a>00030 <span class="preprocessor"> typedef typename coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00031"></a>00031 <span class="preprocessor"> static inline ct get(Segment const&amp; b) \</span>
+<a name="l00032"></a>00032 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. Index1); } \</span>
+<a name="l00033"></a>00033 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) \</span>
+<a name="l00034"></a>00034 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. Index1, value); } \</span>
+<a name="l00035"></a>00035 <span class="preprocessor">};</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_TEMPLATIZED(Segment, Index0, Index1) \</span>
+<a name="l00039"></a>00039 <span class="preprocessor">template &lt;typename P, size_t D&gt; \</span>
+<a name="l00040"></a>00040 <span class="preprocessor">struct indexed_access&lt;Segment&lt;P&gt;, min_corner, D&gt; \</span>
+<a name="l00041"></a>00041 <span class="preprocessor">{ \</span>
+<a name="l00042"></a>00042 <span class="preprocessor"> typedef typename coordinate_type&lt;P&gt;::type ct; \</span>
+<a name="l00043"></a>00043 <span class="preprocessor"> static inline ct get(Segment&lt;P&gt; const&amp; b) \</span>
+<a name="l00044"></a>00044 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. Index0); } \</span>
+<a name="l00045"></a>00045 <span class="preprocessor"> static inline void set(Segment&lt;P&gt;&amp; b, ct const&amp; value) \</span>
+<a name="l00046"></a>00046 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. Index0, value); } \</span>
+<a name="l00047"></a>00047 <span class="preprocessor">}; \</span>
+<a name="l00048"></a>00048 <span class="preprocessor">template &lt;typename P, size_t D&gt; \</span>
+<a name="l00049"></a>00049 <span class="preprocessor">struct indexed_access&lt;Segment&lt;P&gt;, max_corner, D&gt; \</span>
+<a name="l00050"></a>00050 <span class="preprocessor">{ \</span>
+<a name="l00051"></a>00051 <span class="preprocessor"> typedef typename coordinate_type&lt;P&gt;::type ct; \</span>
+<a name="l00052"></a>00052 <span class="preprocessor"> static inline ct get(Segment&lt;P&gt; const&amp; b) \</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> { return ggl::get&lt;D&gt;(b. Index1); } \</span>
+<a name="l00054"></a>00054 <span class="preprocessor"> static inline void set(Segment&lt;P&gt;&amp; b, ct const&amp; value) \</span>
+<a name="l00055"></a>00055 <span class="preprocessor"> { ggl::set&lt;D&gt;(b. Index1, value); } \</span>
+<a name="l00056"></a>00056 <span class="preprocessor">};</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_4VALUES(Segment, Point, Left, Bottom, Right, Top) \</span>
+<a name="l00060"></a>00060 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Segment, min_corner, 0&gt; \</span>
+<a name="l00061"></a>00061 <span class="preprocessor">{ \</span>
+<a name="l00062"></a>00062 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00063"></a>00063 <span class="preprocessor"> static inline ct get(Segment const&amp; b) { return b. Left; } \</span>
+<a name="l00064"></a>00064 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) { b. Left = value; } \</span>
+<a name="l00065"></a>00065 <span class="preprocessor">}; \</span>
+<a name="l00066"></a>00066 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Segment, min_corner, 1&gt; \</span>
+<a name="l00067"></a>00067 <span class="preprocessor">{ \</span>
+<a name="l00068"></a>00068 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00069"></a>00069 <span class="preprocessor"> static inline ct get(Segment const&amp; b) { return b. Bottom; } \</span>
+<a name="l00070"></a>00070 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) { b. Bottom = value; } \</span>
+<a name="l00071"></a>00071 <span class="preprocessor">}; \</span>
+<a name="l00072"></a>00072 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Segment, max_corner, 0&gt; \</span>
+<a name="l00073"></a>00073 <span class="preprocessor">{ \</span>
+<a name="l00074"></a>00074 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> static inline ct get(Segment const&amp; b) { return b. Right; } \</span>
+<a name="l00076"></a>00076 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) { b. Right = value; } \</span>
+<a name="l00077"></a>00077 <span class="preprocessor">}; \</span>
+<a name="l00078"></a>00078 <span class="preprocessor">template &lt;&gt; struct indexed_access&lt;Segment, max_corner, 1&gt; \</span>
+<a name="l00079"></a>00079 <span class="preprocessor">{ \</span>
+<a name="l00080"></a>00080 <span class="preprocessor"> typedef coordinate_type&lt;Point&gt;::type ct; \</span>
+<a name="l00081"></a>00081 <span class="preprocessor"> static inline ct get(Segment const&amp; b) { return b. Top; } \</span>
+<a name="l00082"></a>00082 <span class="preprocessor"> static inline void set(Segment&amp; b, ct const&amp; value) { b. Top = value; } \</span>
+<a name="l00083"></a>00083 <span class="preprocessor">};</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS(Segment, PointType) \</span>
+<a name="l00089"></a>00089 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Segment &gt; { typedef segment_tag type; }; \</span>
+<a name="l00090"></a>00090 <span class="preprocessor"> template&lt;&gt; struct point_type&lt;Segment &gt; { typedef PointType type; };</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS_TEMPLATIZED(Segment) \</span>
+<a name="l00093"></a>00093 <span class="preprocessor"> template&lt;typename P&gt; struct tag&lt;Segment&lt;P&gt; &gt; { typedef segment_tag type; }; \</span>
+<a name="l00094"></a>00094 <span class="preprocessor"> template&lt;typename P&gt; struct point_type&lt;Segment&lt;P&gt; &gt; { typedef P type; };</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<a name="l00096"></a>00096 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a><a class="code" href="register_2segment_8hpp.html#3bd9e3c96fd164678ea079e4fc9594c2">00100</a> <span class="preprocessor">#define GEOMETRY_REGISTER_SEGMENT(Segment, PointType, Index0, Index1) \</span>
+<a name="l00101"></a>00101 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00102"></a>00102 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS(Segment, PointType) \</span>
+<a name="l00103"></a>00103 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS(Segment, PointType, Index0, Index1) \</span>
+<a name="l00104"></a>00104 <span class="preprocessor">}}</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00106"></a>00106
+<a name="l00107"></a><a class="code" href="register_2segment_8hpp.html#b34820b69342317345b4b228d927175d">00107</a> <span class="preprocessor">#define GEOMETRY_REGISTER_SEGMENT_TEMPLATIZED(Segment, Index0, Index1) \</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_SEGMENT_TRAITS_TEMPLATIZED(Segment) \</span>
+<a name="l00110"></a>00110 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_TEMPLATIZED(Segment, Index0, Index1) \</span>
+<a name="l00111"></a>00111 <span class="preprocessor">}}</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span>
+<a name="l00113"></a><a class="code" href="register_2segment_8hpp.html#be3b18dcfa8fd367ad2a30012ba594fe">00113</a> <span class="preprocessor">#define GEOMETRY_REGISTER_SEGMENT_2D_4VALUES(Segment, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00114"></a>00114 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00115"></a>00115 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS(Segment, PointType) \</span>
+<a name="l00116"></a>00116 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_4VALUES(Segment, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00117"></a>00117 <span class="preprocessor">}}</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="comment">// CONST versions are for segments probably not that common. Postponed.</span>
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="preprocessor">#endif // GGL_GEOMETRIES_REGISTER_SEGMENT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">template</span> &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="l00038"></a>00038 <span class="keyword">struct </span>replace_point_type {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>replace_point_type&lt;point_tag, Geometry, NewPointType&gt;
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> NewPointType type;
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>replace_point_type&lt;linestring_tag, Geometry, NewPointType&gt;
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> linestring&lt;NewPointType&gt; type;
+<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> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>replace_point_type&lt;segment_tag, Geometry, NewPointType&gt;
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> segment&lt;NewPointType&gt; 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> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>replace_point_type&lt;ring_tag, Geometry, NewPointType&gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> linear_ring&lt;NewPointType&gt; type;
+<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> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>replace_point_type&lt;box_tag, Geometry, NewPointType&gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> box&lt;NewPointType&gt; 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> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>replace_point_type&lt;polygon_tag, Geometry, NewPointType&gt;
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> polygon&lt;NewPointType&gt; type;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <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="l00082"></a><a class="code" href="structggl_1_1replace__point__type.html">00082</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a> : core_dispatch::<a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a>
+<a name="l00083"></a>00083 &lt;
+<a name="l00084"></a>00084 typename tag&lt;Geometry&gt;::type,
+<a name="l00085"></a>00085 typename boost::remove_const&lt;Geometry&gt;::type,
+<a name="l00086"></a>00086 NewPointType
+<a name="l00087"></a>00087 &gt;
+<a name="l00088"></a>00088 {};
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 } <span class="comment">// namespace ggl</span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#endif // GGL_CORE_REPLACE_POINT_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<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="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> GeometryId1, std::<span class="keywordtype">size_t</span> GeometryId2&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>reverse_dispatch : boost::mpl::if_c
+<a name="l00031"></a>00031 &lt;
+<a name="l00032"></a>00032 (GeometryId1 &gt; GeometryId2),
+<a name="l00033"></a>00033 boost::true_type,
+<a name="l00034"></a>00034 boost::false_type
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a>00036 {};
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="comment">// Same geometry: never reverse_dispatch</span>
+<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> GeometryId&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>reverse_dispatch&lt;GeometryId, GeometryId&gt; : boost::false_type {};
+<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="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00049"></a><a class="code" href="structggl_1_1reverse__dispatch.html">00049</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="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 geometry_id&lt;Geometry1&gt;::type::value,
+<a name="l00052"></a>00052 geometry_id&lt;Geometry2&gt;::type::value
+<a name="l00053"></a>00053 &gt;
+<a name="l00054"></a>00054 {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 } <span class="comment">// namespace ggl</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/ring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &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 <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="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="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="check__clear_8hpp.html">ggl/geometries/concepts/detail/check_clear.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="check__append_8hpp.html">ggl/geometries/concepts/detail/check_append.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00047"></a><a class="code" href="classggl_1_1concept_1_1_ring.html">00047</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_ring.html" title="ring concept">Ring</a>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span> <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="l00051"></a>00051
+<a name="l00052"></a>00052 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;point_type&gt;</a>) );
+<a name="l00053"></a>00053 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">public</span> :
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_ring.html" title="ring concept">Ring</a>)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="comment">// Check if it can be modified</span>
+<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> use_std = <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00062"></a>00062 &lt;
+<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type
+<a name="l00064"></a>00064 &gt;::value;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 Geometry* ring;
+<a name="l00067"></a>00067 detail::check_clear&lt;Geometry, use_std&gt;::apply(*ring);
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>* p;
+<a name="l00070"></a>00070 detail::check_append&lt;Geometry, point_type, use_std&gt;::apply(*ring, *p);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>};
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00083"></a><a class="code" href="classggl_1_1concept_1_1_const_ring.html">00083</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="(linear) ring concept (const version)">ConstRing</a>
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span> <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="l00087"></a>00087
+<a name="l00088"></a>00088 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;point_type&gt;</a>) );
+<a name="l00089"></a>00089 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;Geometry&gt;) );
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">public</span> :
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="(linear) ring concept (const version)">ConstRing</a>)
+<a name="l00095"></a>00095 {
+<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
+<a name="l00100"></a>00100 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/geometries/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="l00036"></a>00036 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ConstOrNonConstPo<span class="keywordtype">int</span>&gt;
+<a name="l00037"></a><a class="code" href="classggl_1_1segment.html">00037</a> <span class="keyword">class </span><a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (
+<a name="l00040"></a>00040 <span class="keyword">typename</span> boost::mpl::if_
+<a name="l00041"></a>00041 &lt;
+<a name="l00042"></a>00042 boost::is_const&lt;ConstOrNonConstPoint&gt;,
+<a name="l00043"></a>00043 <a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;ConstOrNonConstPoint&gt;</a>,
+<a name="l00044"></a>00044 <a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;ConstOrNonConstPoint&gt;</a>
+<a name="l00045"></a>00045 &gt;
+<a name="l00046"></a>00046 ) );
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> ConstOrNonConstPoint <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00049"></a>00049
+<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_1segment.html#76c7f18dd19699ccb7353137b8981c65">00052</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>&amp; <a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>;
+<a name="l00053"></a><a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">00053</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>&amp; <a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>;
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">00055</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">segment</a>(<a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>&amp; p1, <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>&amp; p2)
+<a name="l00056"></a>00056 : <a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>(p1)
+<a name="l00057"></a>00057 , <a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>(p2)
+<a name="l00058"></a>00058 {}
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">// Traits specializations for segment above</span>
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ConstOrNonConstPo<span class="keywordtype">int</span>&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span>tag&lt;segment&lt;ConstOrNonConstPoint&gt; &gt;
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> segment_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<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> ConstOrNonConstPo<span class="keywordtype">int</span>&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>point_type&lt;segment&lt;ConstOrNonConstPoint&gt; &gt;
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> ConstOrNonConstPoint type;
+<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> ConstOrNonConstPo<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>indexed_access&lt;segment&lt;ConstOrNonConstPoint&gt;, 0, Dimension&gt;
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> segment&lt;ConstOrNonConstPoint&gt; segment_type;
+<a name="l00082"></a>00082 <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="l00083"></a>00083
+<a name="l00084"></a>00084 <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="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(s.first);
+<a name="l00087"></a>00087 }
+<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> <span class="keyword">set</span>(segment_type&amp; s, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 ggl::set&lt;Dimension&gt;(s.first, value);
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ConstOrNonConstPo<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00097"></a>00097 <span class="keyword">struct </span>indexed_access&lt;segment&lt;ConstOrNonConstPoint&gt;, 1, Dimension&gt;
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> segment&lt;ConstOrNonConstPoint&gt; segment_type;
+<a name="l00100"></a>00100 <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="l00101"></a>00101
+<a name="l00102"></a>00102 <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="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(s.second);
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(segment_type&amp; s, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 ggl::set&lt;Dimension&gt;(s.second, value);
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 } <span class="comment">// namespace traits</span>
+<a name="l00114"></a>00114 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span>
+<a name="l00116"></a>00116 } <span class="comment">// namespace ggl</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> More...<br></td></tr>
+<tr><td 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/concepts/segment_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &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/geometries/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="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00047"></a><a class="code" href="classggl_1_1concept_1_1_segment.html">00047</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span> <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="l00051"></a>00051
+<a name="l00052"></a>00052 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Point concept.">concept::Point&lt;point_type&gt;</a>) );
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> Dimension, <span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>dimension_checker
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 Geometry* s;
+<a name="l00061"></a>00061 ggl::set&lt;Index, Dimension&gt;(*s, ggl::get&lt;Index, Dimension&gt;(*s));
+<a name="l00062"></a>00062 dimension_checker&lt;Index, Dimension + 1, DimensionCount&gt;::apply();
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span>dimension_checker&lt;Index, DimensionCount, DimensionCount&gt;
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00070"></a>00070 };
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">public</span> :
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_segment.html" title="segment concept">Segment</a>)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <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;point_type&gt;::type::value</a>;
+<a name="l00077"></a>00077 dimension_checker&lt;0, 0, n&gt;::apply();
+<a name="l00078"></a>00078 dimension_checker&lt;1, 0, n&gt;::apply();
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>};
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00091"></a><a class="code" href="classggl_1_1concept_1_1_const_segment.html">00091</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_segment.html" title="Segment concept (const version).">ConstSegment</a>
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span> <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="l00095"></a>00095 <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;Geometry&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="l00096"></a>00096
+<a name="l00097"></a>00097 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="point concept (const version)">concept::ConstPoint&lt;point_type&gt;</a>) );
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> Dimension, <span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>dimension_checker
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">const</span> Geometry* s = 0;
+<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...">coordinate_type</a> coord(ggl::get&lt;Index, Dimension&gt;(*s));
+<a name="l00107"></a>00107 boost::ignore_unused_variable_warning(coord);
+<a name="l00108"></a>00108 dimension_checker&lt;Index, Dimension + 1, DimensionCount&gt;::apply();
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span>dimension_checker&lt;Index, DimensionCount, DimensionCount&gt;
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">public</span> :
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_const_segment.html" title="Segment concept (const version).">ConstSegment</a>)
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <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;point_type&gt;::type::value</a>;
+<a name="l00123"></a>00123 dimension_checker&lt;0, 0, n&gt;::apply();
+<a name="l00124"></a>00124 dimension_checker&lt;1, 0, n&gt;::apply();
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 <span class="preprocessor">#endif</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>};
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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
+<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="comment">// Internal struct to uniquely identify a segment</span>
+<a name="l00025"></a>00025 <span class="comment">// on a linestring,ring</span>
+<a name="l00026"></a>00026 <span class="comment">// or polygon (needs ring_index)</span>
+<a name="l00027"></a>00027 <span class="comment">// or multi-geometry (needs multi_index)</span>
+<a name="l00028"></a><a class="code" href="structggl_1_1segment__identifier.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__identifier.html">segment_identifier</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a><a class="code" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">00030</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">segment_identifier</a>()
+<a name="l00031"></a>00031 : <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>(-1)
+<a name="l00032"></a>00032 , <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>(-1)
+<a name="l00033"></a>00033 , <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>(-1)
+<a name="l00034"></a>00034 , <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>(-1)
+<a name="l00035"></a>00035 {}
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="structggl_1_1segment__identifier.html#234763767167c7173155b563fc4586d1">00037</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="l00038"></a>00038 : <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>(src)
+<a name="l00039"></a>00039 , <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>(mul)
+<a name="l00040"></a>00040 , <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>(rin)
+<a name="l00041"></a>00041 , <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>(seg)
+<a name="l00042"></a>00042 {}
+<a name="l00043"></a>00043
+<a name="l00044"></a><a class="code" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">00044</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="l00045"></a>00045 <span class="keyword"> </span>{
+<a name="l00046"></a>00046 <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="l00047"></a>00047 : <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="l00048"></a>00048 : <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="l00049"></a>00049 : <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="l00050"></a>00050 ;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">00053</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="l00054"></a>00054 <span class="keyword"> </span>{
+<a name="l00055"></a>00055 <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="l00056"></a>00056 &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="l00057"></a>00057 &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="l00058"></a>00058 &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="l00059"></a>00059 ;
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00063"></a>00063 <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="l00064"></a>00064 {
+<a name="l00065"></a>00065 std::cout
+<a name="l00066"></a>00066 &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="l00067"></a>00067 &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="l00068"></a>00068 ;
+<a name="l00069"></a>00069 <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="l00070"></a>00070 <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="l00071"></a>00071 <span class="keywordflow">return</span> os;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span>
+<a name="l00075"></a><a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">00075</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>;
+<a name="l00076"></a><a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">00076</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>;
+<a name="l00077"></a><a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">00077</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>;
+<a name="l00078"></a><a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">00078</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>;
+<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="comment">// namespace ggl</span>
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="classggl_1_1segment.html">ggl::segment&lt;Point&gt;</a> <a class="code" href="classggl_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="classggl_1_1segment.html">segment_type</a> <a class="code" href="classggl_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="classggl_1_1segment.html">segment_type</a>* <a class="code" href="classggl_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="classggl_1_1segment.html">segment_type</a>&amp; <a class="code" href="classggl_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 }
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="structggl_1_1segment__iterator.html#44f6909b510f65b300fa9ae0fa473b2c">00053</a> <a class="code" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a>(Base <span class="keyword">const</span>&amp; it, Base <span class="keyword">const</span>&amp; end)
+<a name="l00054"></a>00054 : m_segment(p1 , p2)
+<a name="l00055"></a>00055 , m_prev(it)
+<a name="l00056"></a>00056 , m_it(it)
+<a name="l00057"></a>00057 , m_end(end)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (m_it != m_end)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 BOOST_ASSERT(m_prev != m_end);
+<a name="l00062"></a>00062 ++m_it;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">00066</a> <a class="code" href="classggl_1_1segment.html">reference</a> <a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>()
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 BOOST_ASSERT(m_it != m_end &amp;&amp; m_prev != m_end);
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 p1 = *m_prev;
+<a name="l00071"></a>00071 p2 = *m_it;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> m_segment;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">00076</a> <a class="code" href="classggl_1_1segment.html">pointer</a> <a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">operator-&gt;</a>()
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> &amp;(<a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>());
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">00081</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a>&amp; <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>()
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 ++m_prev;
+<a name="l00084"></a>00084 ++m_it;
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087
+<a name="l00088"></a><a class="code" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">00088</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>(<span class="keywordtype">int</span>)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> it(*<span class="keyword">this</span>);
+<a name="l00091"></a>00091 ++(*this);
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> it;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">00095</a> Base <span class="keyword">const</span>&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="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keyword">private</span>:
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p1;
+<a name="l00100"></a>00100 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p2;
+<a name="l00101"></a>00101 <a class="code" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">segment_type</a> m_segment;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 Base m_prev;
+<a name="l00104"></a>00104 Base m_it;
+<a name="l00105"></a>00105 Base m_end;
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00109"></a><a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">00109</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">operator==</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; lhs,
+<a name="l00110"></a>00110 <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="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() == rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00116"></a><a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">00116</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">operator!=</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; lhs,
+<a name="l00117"></a>00117 <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="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() != rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C&gt;
+<a name="l00123"></a>00123 segment_iterator
+<a name="l00124"></a>00124 &lt;
+<a name="l00125"></a>00125 <span class="keyword">typename</span> C::iterator,
+<a name="l00126"></a>00126 <span class="keyword">typename</span> C::value_type
+<a name="l00127"></a>00127 &gt;
+<a name="l00128"></a><a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">00128</a> <a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">make_segment_iterator</a>(C&amp; c)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::iterator base_iterator;
+<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::value_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator&lt;base_iterator, point_type&gt;</a>(c.begin(), c.end());
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 } <span class="comment">// namespace ggl</span>
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="preprocessor">#endif // GGL_ITERATORS_SEGMENT_ITERATOR_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/select_calculation_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function selecting the "calculation" type. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/util/select_calculation_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &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 <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="l00031"></a>00031 <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, <span class="keyword">typename</span> CalculationType&gt;
+<a name="l00032"></a><a class="code" href="structggl_1_1select__calculation__type.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__calculation__type.html" title="Meta-function selecting the &amp;quot;calculation&amp;quot; type.">select_calculation_type</a>
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00035"></a>00035 boost::mpl::if_c
+<a name="l00036"></a>00036 &lt;
+<a name="l00037"></a>00037 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00038"></a>00038 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 Point1,
+<a name="l00041"></a>00041 Point2
+<a name="l00042"></a>00042 &gt;<a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">::type</a>,
+<a name="l00043"></a>00043 CalculationType
+<a name="l00044"></a><a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">00044</a> &gt;<a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">::type</a> <a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>;
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<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_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">Meta-function 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="l00016"></a>00016
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00031"></a><a class="code" href="structggl_1_1select__coordinate__type.html">00031</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__coordinate__type.html" title="Meta-function selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00034"></a>00034 &lt;
+<a name="l00035"></a>00035 <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="l00036"></a>00036 <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="l00037"></a><a class="code" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">00037</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="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
+<a name="l00044"></a>00044 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">Meta-function 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="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>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>select_most_precise {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="comment">// At least one of the types is non-fundamental. Take that one.</span>
+<a name="l00025"></a>00025 <span class="comment">// if both are non-fundamental, the type-to-be-selected</span>
+<a name="l00026"></a>00026 <span class="comment">// is unknown, it should be defined by explicit specialization.</span>
+<a name="l00027"></a>00027 <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="l00028"></a>00028 <span class="keyword">struct </span>select_non_fundamental
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> T1 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> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span>select_non_fundamental&lt;true, false, T1, T2&gt;
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> T2 type;
+<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> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>select_non_fundamental&lt;false, true, T1, T2&gt;
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> T1 type;
+<a name="l00043"></a>00043 };
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="comment">// Selection of largest type (e.g. int of &lt;short int,int&gt;</span>
+<a name="l00047"></a>00047 <span class="comment">// It defaults takes the first one, if second is larger, take the second one</span>
+<a name="l00048"></a>00048 <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="l00049"></a>00049 <span class="keyword">struct </span>select_largest
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> T1 type;
+<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> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>select_largest&lt;true, T1, T2&gt;
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> T2 type;
+<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">// Selection of floating point and specializations:</span>
+<a name="l00063"></a>00063 <span class="comment">// both FP or both !FP does never occur...</span>
+<a name="l00064"></a>00064 <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="l00065"></a>00065 <span class="keyword">struct </span>select_floating_point
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keywordtype">char</span> type;
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// ... so if ONE but not both of these types is floating point, take that one</span>
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>select_floating_point&lt;true, false, T1, T2&gt;
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> T1 type;
+<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> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>select_floating_point&lt;false, true, T1, T2&gt;
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> T2 type;
+<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::select_most_precise</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="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00111"></a><a class="code" href="structggl_1_1select__most__precise.html">00111</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00112"></a>00112 {
+<a name="l00113"></a><a class="code" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">00113</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="l00114"></a><a class="code" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">00114</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="l00115"></a>00115 (boost::is_fundamental&lt;T1&gt;::type::value
+<a name="l00116"></a>00116 &amp;&amp; boost::is_fundamental&lt;T2&gt;::type::value);
+<a name="l00117"></a>00117
+<a name="l00118"></a><a class="code" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">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#606ead26747f5bc9bb5ec53248fd61f7">both_same</a> =
+<a name="l00119"></a>00119 boost::is_floating_point&lt;T1&gt;::type::value
+<a name="l00120"></a>00120 == boost::is_floating_point&lt;T2&gt;::type::value;
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00123"></a>00123 &lt;
+<a name="l00124"></a>00124 <a class="code" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a>,
+<a name="l00125"></a>00125 <span class="keyword">typename</span> detail::select_most_precise::select_non_fundamental
+<a name="l00126"></a>00126 &lt;
+<a name="l00127"></a>00127 boost::is_fundamental&lt;T1&gt;::type::value,
+<a name="l00128"></a>00128 boost::is_fundamental&lt;T2&gt;::type::value,
+<a name="l00129"></a>00129 T1,
+<a name="l00130"></a>00130 T2
+<a name="l00131"></a>00131 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>,
+<a name="l00132"></a>00132 <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00133"></a>00133 &lt;
+<a name="l00134"></a>00134 <a class="code" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a>,
+<a name="l00135"></a>00135 <span class="keyword">typename</span> detail::select_most_precise::select_largest
+<a name="l00136"></a>00136 &lt;
+<a name="l00137"></a>00137 <a class="code" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a>,
+<a name="l00138"></a>00138 T1,
+<a name="l00139"></a>00139 T2
+<a name="l00140"></a>00140 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>,
+<a name="l00141"></a>00141 <span class="keyword">typename</span> detail::select_most_precise::select_floating_point
+<a name="l00142"></a>00142 &lt;
+<a name="l00143"></a>00143 boost::is_floating_point&lt;T1&gt;::type::value,
+<a name="l00144"></a>00144 boost::is_floating_point&lt;T2&gt;::type::value,
+<a name="l00145"></a>00145 T1,
+<a name="l00146"></a>00146 T2
+<a name="l00147"></a>00147 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>
+<a name="l00148"></a>00148 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>
+<a name="l00149"></a><a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">00149</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="l00150"></a>00150 };
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 } <span class="comment">// namespace ggl</span>
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_OVERLAY_SELF_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_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="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="detail_2disjoint_8hpp.html">ggl/algorithms/detail/disjoint.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <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="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>self_intersection_points {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keyword">typename</span> Geometry,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00038"></a>00038 &gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>check_ips
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00042"></a>00042 Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> return_if_found,
+<a name="l00044"></a>00044 IntersectionPoints&amp; intersection_points)
+<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_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00047"></a>00047 &lt;
+<a name="l00048"></a>00048 <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="l00049"></a>00049 &gt; sections_type;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 sections_type sec;
+<a name="l00052"></a>00052 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry, sec);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00055"></a>00055 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections_type&gt;::type
+<a name="l00056"></a>00056 it1 = sec.begin();
+<a name="l00057"></a>00057 it1 != sec.end();
+<a name="l00058"></a>00058 ++it1)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections_type&gt;::type
+<a name="l00061"></a>00061 it2 = sec.begin();
+<a name="l00062"></a>00062 it2 != sec.end();
+<a name="l00063"></a>00063 ++it2)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (! ggl::detail::disjoint::disjoint_box_box(
+<a name="l00066"></a>00066 it1-&gt;bounding_box, it2-&gt;bounding_box)
+<a name="l00067"></a>00067 &amp;&amp; ! it1-&gt;duplicate
+<a name="l00068"></a>00068 &amp;&amp; ! it2-&gt;duplicate
+<a name="l00069"></a>00069 )
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 ggl::detail::get_intersection_points::get_ips_in_sections
+<a name="l00072"></a>00072 &lt;
+<a name="l00073"></a>00073 Geometry, Geometry,
+<a name="l00074"></a>00074 <span class="keyword">typename</span> boost::range_value&lt;sections_type&gt;::type,
+<a name="l00075"></a>00075 <span class="keyword">typename</span> boost::range_value&lt;sections_type&gt;::type,
+<a name="l00076"></a>00076 IntersectionPoints
+<a name="l00077"></a>00077 &gt;::apply(
+<a name="l00078"></a>00078 0, geometry, *it1,
+<a name="l00079"></a>00079 0, geometry, *it2,
+<a name="l00080"></a>00080 return_if_found,
+<a name="l00081"></a>00081 intersection_points, trivial);
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> trivial;
+<a name="l00086"></a>00086 }
+<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::self_intersection_points</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="l00094"></a>00094 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span>
+<a name="l00099"></a>00099 &lt;
+<a name="l00100"></a>00100 <span class="keyword">typename</span> GeometryTag,
+<a name="l00101"></a>00101 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00102"></a>00102 <span class="keyword">typename</span> Geometry,
+<a name="l00103"></a>00103 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 &gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span>self_intersection_points
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 };
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span>self_intersection_points
+<a name="l00113"></a>00113 &lt;
+<a name="l00114"></a>00114 ring_tag, false, Ring,
+<a name="l00115"></a>00115 IntersectionPoints
+<a name="l00116"></a>00116 &gt;
+<a name="l00117"></a>00117 : detail::self_intersection_points::check_ips
+<a name="l00118"></a>00118 &lt;
+<a name="l00119"></a>00119 Ring,
+<a name="l00120"></a>00120 IntersectionPoints
+<a name="l00121"></a>00121 &gt;
+<a name="l00122"></a>00122 {};
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span>self_intersection_points
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 polygon_tag, false, Polygon,
+<a name="l00129"></a>00129 IntersectionPoints
+<a name="l00130"></a>00130 &gt;
+<a name="l00131"></a>00131 : detail::self_intersection_points::check_ips
+<a name="l00132"></a>00132 &lt;
+<a name="l00133"></a>00133 Polygon,
+<a name="l00134"></a>00134 IntersectionPoints
+<a name="l00135"></a>00135 &gt;
+<a name="l00136"></a>00136 {};
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace dispatch</span>
+<a name="l00140"></a>00140 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142
+<a name="l00152"></a>00152 <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="l00153"></a><a class="code" href="group__overlay.html#g402420dc15139d3893450978f30920b9">00153</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="l00154"></a>00154 IntersectionPoints&amp; intersection_points)
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 concept::check&lt;Geometry&gt;();
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> dispatch::self_intersection_points
+<a name="l00161"></a>00161 &lt;
+<a name="l00162"></a>00162 <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="l00163"></a>00163 <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="l00164"></a>00164 ncg_type,
+<a name="l00165"></a>00165 IntersectionPoints
+<a name="l00166"></a>00166 &gt;::apply(geometry, <span class="keyword">false</span>, intersection_points);
+<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 ggl</span>
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_SELF_INTERSECTION_POINTS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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__side.html">ggl::strategy_side&lt; Tag &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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_STRATEGIES_SIDE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SIDE_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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
+<a name="l00025"></a>00025 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag&gt;
+<a name="l00026"></a><a class="code" href="structggl_1_1strategy__side.html">00026</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="l00027"></a>00027 {
+<a name="l00028"></a><a class="code" href="structggl_1_1strategy__side.html#ca35bb0c9871d4a0af3e8b48297b069f">00028</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="l00029"></a>00029 };
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 } <span class="comment">// namespace ggl</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#endif // GGL_STRATEGIES_SIDE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/side_by_triangle.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_1side__by__triangle.html">ggl::strategy::side::side_by_triangle</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/side__by__triangle_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/cartesian/side_by_triangle.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_CARTESIAN_SIDE_BY_TRIANGLE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CARTESIAN_SIDE_BY_TRIANGLE_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="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.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_1side.html">00024</a> <span class="keyword">namespace </span>side
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// Check at which side of a segment a point lies:</span>
+<a name="l00028"></a>00028 <span class="comment">// left of segment (&gt; 0), right of segment (&lt; 0), on segment (0)</span>
+<a name="l00029"></a>00029 <span class="comment">// In fact this is twice the area of a triangle</span>
+<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html">side_by_triangle</a>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// Template member functions, because it is not always trivial</span>
+<a name="l00034"></a>00034 <span class="comment">// or convenient to explicitly mention the typenames in the</span>
+<a name="l00035"></a>00035 <span class="comment">// strategy-struct itself.</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="comment">// Types can be all three different.</span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <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="l00040"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">00040</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_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">apply</a>(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="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Meta-function to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P1&gt;::type</a>,
+<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;P2&gt;::type</a>
+<a name="l00048"></a>00048 &gt;::type,
+<a name="l00049"></a>00049 <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="l00050"></a>00050 &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="l00051"></a>00051
+<a name="l00052"></a>00052 coordinate_type <span class="keyword">const</span> x = get&lt;0&gt;(p);
+<a name="l00053"></a>00053 coordinate_type <span class="keyword">const</span> y = get&lt;1&gt;(p);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 coordinate_type <span class="keyword">const</span> sx1 = get&lt;0&gt;(p1);
+<a name="l00056"></a>00056 coordinate_type <span class="keyword">const</span> sy1 = get&lt;1&gt;(p1);
+<a name="l00057"></a>00057 coordinate_type <span class="keyword">const</span> sx2 = get&lt;0&gt;(p2);
+<a name="l00058"></a>00058 coordinate_type <span class="keyword">const</span> sy2 = get&lt;1&gt;(p2);
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 coordinate_type <span class="keyword">const</span> dx = sx2 - sx1;
+<a name="l00061"></a>00061 coordinate_type <span class="keyword">const</span> dy = sy2 - sy1;
+<a name="l00062"></a>00062 coordinate_type <span class="keyword">const</span> dpx = x - sx1;
+<a name="l00063"></a>00063 coordinate_type <span class="keyword">const</span> dpy = y - sy1;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 coordinate_type s = dx * dpy - dy * dpx;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> s &gt; 0 ? 1 : s &lt; 0 ? -1 : 0;
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 } <span class="comment">// namespace side</span>
+<a name="l00072"></a>00072 } <span class="comment">// namespace strategy</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="keyword">template</span> &lt;&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>strategy_side&lt;cartesian_tag&gt;
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> strategy::side::side_by_triangle <a class="code" href="structggl_1_1strategy__side.html#ca35bb0c9871d4a0af3e8b48297b069f">type</a>;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081 <span class="preprocessor">#endif</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span>
+<a name="l00083"></a>00083 } <span class="comment">// namespace ggl</span>
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // GGL_STRATEGIES_CARTESIAN_SIDE_BY_TRIANGLE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/simplify_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify. 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/simplify_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_SIMPLIFY_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_SIMPLIFY_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;vector&gt;</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/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="distance__concept_8hpp.html">ggl/strategies/concepts/distance_concept.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00027"></a><a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">SimplifyStrategy</a>
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span> <span class="keyword">private</span> :
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// 1) must define distance_strategy_type,</span>
+<a name="l00033"></a>00033 <span class="comment">// defining point-segment distance strategy (to be checked)</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::distance_strategy_type ds_type;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 BOOST_CONCEPT_ASSERT
+<a name="l00037"></a>00037 (
+<a name="l00038"></a>00038 (<a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html" title="Checks strategy for point-segment-distance.">concept::PointSegmentDistanceStrategy&lt;ds_type&gt;</a>)
+<a name="l00039"></a>00039 );
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">struct </span>apply_checker
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 Strategy *str;
+<a name="l00046"></a>00046 std::vector&lt;typename ds_type::point_type&gt; <span class="keyword">const</span>* v1;
+<a name="l00047"></a>00047 std::vector&lt;typename ds_type::point_type&gt; * v2;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// 2) must implement method apply with arguments</span>
+<a name="l00050"></a>00050 <span class="comment">// - Range</span>
+<a name="l00051"></a>00051 <span class="comment">// - OutputIterator</span>
+<a name="l00052"></a>00052 <span class="comment">// - floating point value</span>
+<a name="l00053"></a>00053 str-&gt;apply(*v1, std::back_inserter(*v2), 1.0);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 boost::ignore_unused_variable_warning(str);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">public</span> :
+<a name="l00060"></a>00060 BOOST_CONCEPT_USAGE(<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">SimplifyStrategy</a>)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <a class="code" href="group__concepts.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span>};
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_SIMPLIFY_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/simplify_douglas_peucker.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &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; Point, PointDistanceStrategy &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/agnostic/simplify_douglas_peucker.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_SIMPLIFY_DOUGLAS_PEUCKER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_SIMPLIFY_DOUGLAS_PEUCKER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.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
+<a name="l00020"></a>00020 <span class="comment">//#define GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#endif</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="namespaceggl_1_1strategy_1_1simplify.html">00030</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry using a specified strategy.">simplify</a> {
+<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
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036
+<a name="l00043"></a>00043 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span>douglas_peucker_point
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 Point <span class="keyword">const</span>&amp; p;
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> included;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">inline</span> douglas_peucker_point(Point <span class="keyword">const</span>&amp; ap)
+<a name="l00050"></a>00050 : p(ap)
+<a name="l00051"></a>00051 , included(<span class="keyword">false</span>)
+<a name="l00052"></a>00052 {}
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// Necessary for proper compilation</span>
+<a name="l00055"></a>00055 <span class="keyword">inline</span> douglas_peucker_point&lt;Point&gt; operator=(
+<a name="l00056"></a>00056 douglas_peucker_point&lt;Point&gt; <span class="keyword">const</span>&amp; other)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> douglas_peucker_point&lt;Point&gt;(*this);
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span>
+<a name="l00064"></a>00064
+<a name="l00080"></a>00080 <span class="keyword">template</span>
+<a name="l00081"></a>00081 &lt;
+<a name="l00082"></a>00082 <span class="keyword">typename</span> Point,
+<a name="l00083"></a>00083 <span class="keyword">typename</span> PointDistanceStrategy
+<a name="l00084"></a>00084 &gt;
+<a name="l00085"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">00085</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="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> detail::douglas_peucker_point&lt;Point&gt; dp_point_type;
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;dp_point_type&gt;::iterator iterator_type;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> PointDistanceStrategy::return_type return_type;
+<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> consider(iterator_type begin,
+<a name="l00093"></a>00093 iterator_type end,
+<a name="l00094"></a>00094 return_type <span class="keyword">const</span>&amp; max_dist, <span class="keywordtype">int</span>&amp; n,
+<a name="l00095"></a>00095 PointDistanceStrategy <span class="keyword">const</span>&amp; ps_distance_strategy)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 std::size_t size = end - begin;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="comment">// size must be at least 3</span>
+<a name="l00100"></a>00100 <span class="comment">// because we want to consider a candidate point in between</span>
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (size &lt;= 2)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00104"></a>00104 <span class="preprocessor"></span> <span class="keywordflow">if</span> (begin != end)
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 std::cout &lt;&lt; <span class="stringliteral">"ignore between "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(begin-&gt;p)
+<a name="l00107"></a>00107 &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>((end - 1)-&gt;p)
+<a name="l00108"></a>00108 &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 std::cout &lt;&lt; <span class="stringliteral">"return because size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<a name="l00111"></a>00111 <span class="preprocessor">#endif</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span> <span class="keywordflow">return</span>;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 iterator_type last = end - 1;
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"find between "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(begin-&gt;p)
+<a name="l00119"></a>00119 &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(last-&gt;p)
+<a name="l00120"></a>00120 &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<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 <span class="comment">// Find most distance point, compare to the current segment</span>
+<a name="l00125"></a>00125 <span class="comment">//ggl::segment&lt;const Point&gt; s(begin-&gt;p, last-&gt;p);</span>
+<a name="l00126"></a>00126 return_type md(-1.0); <span class="comment">// any value &lt; 0</span>
+<a name="l00127"></a>00127 iterator_type candidate;
+<a name="l00128"></a>00128 <span class="keywordflow">for</span>(iterator_type it = begin + 1; it != last; ++it)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 return_type dist = ps_distance_strategy.apply(it-&gt;p, begin-&gt;p, last-&gt;p);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"consider "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(it-&gt;p)
+<a name="l00134"></a>00134 &lt;&lt; <span class="stringliteral">" at "</span> &lt;&lt; double(dist)
+<a name="l00135"></a>00135 &lt;&lt; ((dist &gt; max_dist) ? <span class="stringliteral">" maybe"</span> : <span class="stringliteral">" no"</span>)
+<a name="l00136"></a>00136 &lt;&lt; std::endl;
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="preprocessor">#endif</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span> <span class="keywordflow">if</span> (dist &gt; md)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 md = dist;
+<a name="l00142"></a>00142 candidate = it;
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="comment">// If a point is found, set the include flag</span>
+<a name="l00147"></a>00147 <span class="comment">// and handle segments in between recursively</span>
+<a name="l00148"></a>00148 <span class="keywordflow">if</span> (md &gt; max_dist)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"use "</span> &lt;&lt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(candidate-&gt;p) &lt;&lt; std::endl;
+<a name="l00152"></a>00152 <span class="preprocessor">#endif</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span>
+<a name="l00154"></a>00154 candidate-&gt;included = <span class="keyword">true</span>;
+<a name="l00155"></a>00155 n++;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 consider(begin, candidate + 1, max_dist, n, ps_distance_strategy);
+<a name="l00158"></a>00158 consider(candidate, end, max_dist, n, ps_distance_strategy);
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">public</span> :
+<a name="l00164"></a>00164
+<a name="l00165"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">00165</a> <span class="keyword">typedef</span> PointDistanceStrategy <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a>;
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00169"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">00169</a> <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">apply</a>(Range <span class="keyword">const</span>&amp; range,
+<a name="l00170"></a>00170 OutputIterator out, <span class="keywordtype">double</span> max_distance)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 PointDistanceStrategy strategy;
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="comment">// Copy coordinates, a vector of references to all points</span>
+<a name="l00175"></a>00175 std::vector&lt;dp_point_type&gt; ref_candidates(boost::begin(range),
+<a name="l00176"></a>00176 boost::end(range));
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="comment">// Include first and last point of line,</span>
+<a name="l00179"></a>00179 <span class="comment">// they are always part of the line</span>
+<a name="l00180"></a>00180 <span class="keywordtype">int</span> n = 2;
+<a name="l00181"></a>00181 ref_candidates.front().included = <span class="keyword">true</span>;
+<a name="l00182"></a>00182 ref_candidates.back().included = <span class="keyword">true</span>;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="comment">// Get points, recursively, including them if they are further away</span>
+<a name="l00185"></a>00185 <span class="comment">// than the specified distance</span>
+<a name="l00186"></a>00186 <span class="keyword">typedef</span> <span class="keyword">typename</span> PointDistanceStrategy::return_type return_type;
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 consider(boost::begin(ref_candidates), boost::end(ref_candidates),
+<a name="l00189"></a>00189 make_distance_result&lt;return_type&gt;(max_distance), n, strategy);
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">// Copy included elements to the output</span>
+<a name="l00192"></a>00192 <span class="keywordflow">for</span>(<span class="keyword">typename</span> std::vector&lt;dp_point_type&gt;::const_iterator it
+<a name="l00193"></a>00193 = boost::begin(ref_candidates);
+<a name="l00194"></a>00194 it != boost::end(ref_candidates);
+<a name="l00195"></a>00195 ++it)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keywordflow">if</span> (it-&gt;included)
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <span class="comment">// copy-coordinates does not work because OutputIterator</span>
+<a name="l00200"></a>00200 <span class="comment">// does not model Point (??)</span>
+<a name="l00201"></a>00201 <span class="comment">//ggl::copy_coordinates(it-&gt;p, *out);</span>
+<a name="l00202"></a>00202 *out = it-&gt;p;
+<a name="l00203"></a>00203 out++;
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> out;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 };
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 }} <span class="comment">// namespace strategy::simplify</span>
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 } <span class="comment">// namespace ggl</span>
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_SIMPLIFY_DOUGLAS_PEUCKER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/sort_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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/sort__interior__rings_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/overlay/sort_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 <span class="preprocessor">#ifndef GGL_ALGORITHMS_OVERLAY_SORT_INTERIOR_RINGS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_SORT_INTERIOR_RINGS_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 <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="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__on__border_8hpp.html">ggl/algorithms/detail/point_on_border.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
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>overlay {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">struct </span>sortable
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keywordtype">int</span> index; <span class="comment">// zero-based (ZB) index to ring in rings</span>
+<a name="l00029"></a>00029 <span class="keywordtype">double</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>;
+<a name="l00030"></a>00030 <span class="keywordtype">int</span> index_of_parent; <span class="comment">// ZB index to parent-ring</span>
+<a name="l00031"></a>00031 std::vector&lt;int&gt; index_of_holes; <span class="comment">// ZB index to holes</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">inline</span> sortable(<span class="keywordtype">int</span> i, <span class="keywordtype">double</span> a)
+<a name="l00034"></a>00034 : index(i)
+<a name="l00035"></a>00035 , <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(a)
+<a name="l00036"></a>00036 , index_of_parent(-1)
+<a name="l00037"></a>00037 {}
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(sortable <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00040"></a>00040 <span class="keyword"> </span>{
+<a name="l00041"></a>00041 <span class="comment">// sort in reverse order</span>
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> &gt; other.area;
+<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 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Container&gt;
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> sort_interior_rings(Container <span class="keyword">const</span>&amp; rings, std::vector&lt;sortable&gt;&amp; sorted_rings, <span class="keywordtype">int</span> factor)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Container&gt;::type ring_type;
+<a name="l00052"></a>00052 <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;ring_type&gt;::type</a> point_type;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// Because of the whole followed procedure, the orientations (cw or ccw)</span>
+<a name="l00055"></a>00055 <span class="comment">// of parents and holes are OK, and their areas are positive (parents)</span>
+<a name="l00056"></a>00056 <span class="comment">// or negative (children)</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// Create a copy (without copying geometries), with area (and envelope)</span>
+<a name="l00059"></a>00059 std::size_t n = 0;
+<a name="l00060"></a>00060 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;Container&gt;::type
+<a name="l00061"></a>00061 it = boost::begin(rings);
+<a name="l00062"></a>00062 it != boost::end(rings);
+<a name="l00063"></a>00063 ++it, ++n)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 sorted_rings.push_back(sortable(n, factor * <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(*it)));
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="comment">// Sort in reverse order -&gt; largest rings first, holes (neg. area) last</span>
+<a name="l00069"></a>00069 std::sort(sorted_rings.begin(), sorted_rings.end());
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// Check which holes are in which polygons</span>
+<a name="l00072"></a>00072 <span class="keywordflow">for</span> (std::size_t hole = 1; hole &lt; n; hole++)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="comment">// It is a hole if its area is negative</span>
+<a name="l00075"></a>00075 <span class="keywordflow">if</span> (sorted_rings[hole].<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> &lt; 0 || factor &lt; 0)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="comment">// So check if it is lying in one of the earlier rings</span>
+<a name="l00078"></a>00078 <span class="keywordtype">bool</span> parent_found = <span class="keyword">false</span>;
+<a name="l00079"></a>00079 <span class="keywordflow">for</span> (std::size_t parent = 0;
+<a name="l00080"></a>00080 parent &lt; hole
+<a name="l00081"></a>00081 &amp;&amp; ! parent_found
+<a name="l00082"></a>00082 &amp;&amp; sorted_rings[parent].area &gt; 0;
+<a name="l00083"></a>00083 parent++)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="comment">// note that "hole" is indexed in sorted rings,</span>
+<a name="l00086"></a>00086 <span class="comment">// so make new "h" that is indexed in original rings</span>
+<a name="l00087"></a>00087 <span class="keywordtype">int</span> <span class="keyword">const</span> h = sorted_rings[hole].index;
+<a name="l00088"></a>00088 <span class="keywordtype">int</span> <span class="keyword">const</span> p = sorted_rings[parent].index;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 point_type point;
+<a name="l00091"></a>00091 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(rings[h], point);
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (<a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(point, rings[p]))
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="comment">// Update registration</span>
+<a name="l00095"></a>00095 sorted_rings[hole].index_of_parent = p;
+<a name="l00096"></a>00096 sorted_rings[parent].index_of_holes.push_back(h);
+<a name="l00097"></a>00097 parent_found = <span class="keyword">true</span>;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="comment">/***</span>
+<a name="l00104"></a>00104 <span class="comment"> for (std::size_t i = 0; i &lt; n; i++)</span>
+<a name="l00105"></a>00105 <span class="comment"> {</span>
+<a name="l00106"></a>00106 <span class="comment"> std::cout &lt;&lt; "i: " &lt;&lt; i</span>
+<a name="l00107"></a>00107 <span class="comment"> &lt;&lt; " area: " &lt;&lt; sorted_rings[i].area</span>
+<a name="l00108"></a>00108 <span class="comment"> &lt;&lt; " count: " &lt;&lt; rings[sorted_rings[i].index].size()</span>
+<a name="l00109"></a>00109 <span class="comment"> &lt;&lt; " parent: " &lt;&lt; sorted_rings[i].index_of_parent</span>
+<a name="l00110"></a>00110 <span class="comment"> &lt;&lt; " holes: ";</span>
+<a name="l00111"></a>00111 <span class="comment"> for (int j = 0; j &lt; boost::size(sorted_rings[i].index_of_holes); j++)</span>
+<a name="l00112"></a>00112 <span class="comment"> {</span>
+<a name="l00113"></a>00113 <span class="comment"> std::cout &lt;&lt; " " &lt;&lt; sorted_rings[i].index_of_holes[j];</span>
+<a name="l00114"></a>00114 <span class="comment"> }</span>
+<a name="l00115"></a>00115 <span class="comment"> std::cout &lt;&lt; std::endl;</span>
+<a name="l00116"></a>00116 <span class="comment"> }</span>
+<a name="l00117"></a>00117 <span class="comment"> ***/</span>
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 }} <span class="comment">// namespace detail::overlay</span>
+<a name="l00123"></a>00123 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00124"></a>00124 <span class="preprocessor"></span>
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 } <span class="comment">// namespace ggl</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_SORT_INTERIOR_RINGS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/status.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/status.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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 <b>Boost</b> <b>Formal</b> <b>Review</b>.<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>
+The fourth preview implemented concepts for all geometries. Besides that tag dispatching was introduced internally. All algorithms were made generic.<p>
+This Formal Review, continues with the design of the fourth preview, making it more consistent (apply everywhere, all implementation within struct's, structs used as building blocks for multi-implementations, etc). Things were made more conform Boost standards (template parameters, no tabs, etc).<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>
+There are the following changes:<ul>
+<li>implementation of spatial set relations (intersection, union)</li><li>implementation of some spatial boolean relations (disjoint, equal, intersects, overlaps)</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>
+<b>Breaking</b> <b>changes</b> <ul>
+<li>there is now distinction between functions using an output iterator, and functions resulting in modifying geometries. Functions using an output iterator are called _inserter, so convex_hull_inserter inserts points (the hull) into something.</li><li>many headerfiles are moved and/or renamed</li><li>...</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_STD_AS_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_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 GGL_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>00018 <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="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<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 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>util
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">struct </span>std_as_linestring
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> linestring_tag type;
+<a name="l00040"></a>00040 };
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 }
+<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 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="comment">// specialization for an iterator pair (read only)</span>
+<a name="l00050"></a>00050 <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="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// Indicate that std::library is not used to add things to std::pair.</span>
+<a name="l00053"></a>00053 <span class="comment">// Don't implement anything else -&gt; adding points or clearing not possible</span>
+<a name="l00054"></a>00054 <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="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// specializations for a std:: containers: vector, deque, list</span>
+<a name="l00057"></a>00057 <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="l00058"></a>00058 <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="l00059"></a>00059 <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="l00060"></a>00060
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span>}
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_STD_AS_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_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 GGL_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>00018 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/adapted/std_pair_as_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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/std__pair__as__segment_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/geometries/adapted/std_pair_as_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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_ADAPTED_STD_PAIR_AS_SEGMENT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_ADAPTED_STD_PAIR_AS_SEGMENT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="comment">// Only possible if the std::pair is not used for iterator/pair</span>
+<a name="l00013"></a>00013 <span class="comment">// (maybe it is possible to avoid that by detecting in the other file</span>
+<a name="l00014"></a>00014 <span class="comment">// if an iterator was used in the pair)</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#ifdef GGL_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00017"></a>00017 <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="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#define GGL_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<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_TRAITS_SPECIALIZATIONS</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<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>&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>tag&lt;std::pair&lt;Point, Point&gt; &gt;
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> segment_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<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> Po<span class="keywordtype">int</span>&gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span>point_type&lt;std::pair&lt;Point, Point&gt; &gt;
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> Point type;
+<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> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span>indexed_access&lt;std::pair&lt;Point, Point&gt;, 0, Dimension&gt;
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <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;Point&gt;::type</a> coordinate_type;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(std::pair&lt;Point, Point&gt; <span class="keyword">const</span>&amp; s)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(s.first);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(std::pair&lt;Point, Point&gt;&amp; s, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 ggl::set&lt;Dimension&gt;(s.first, value);
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>indexed_access&lt;std::pair&lt;Point, Point&gt;, 1, Dimension&gt;
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <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;Point&gt;::type</a> coordinate_type;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(std::pair&lt;Point, Point&gt; <span class="keyword">const</span>&amp; s)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(s.second);
+<a name="l00075"></a>00075 }
+<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> <span class="keyword">set</span>(std::pair&lt;Point, Point&gt;&amp; s, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 ggl::set&lt;Dimension&gt;(s.second, value);
+<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 traits</span>
+<a name="l00085"></a>00085 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span>
+<a name="l00087"></a>00087 } <span class="comment">// namespace ggl</span>
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="preprocessor">#endif // GGL_GEOMETRIES_ADAPTED_STD_PAIR_AS_SEGMENT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_1strategy__area.html">ggl::strategy_area&lt; Tag, PointOfSegment &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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2area_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_AREA_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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="l00018"></a>00018
+<a name="l00025"></a>00025 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment&gt;
+<a name="l00026"></a><a class="code" href="structggl_1_1strategy__area.html">00026</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="l00027"></a>00027 {
+<a name="l00028"></a><a class="code" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">00028</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="l00029"></a>00029 };
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 } <span class="comment">// namespace ggl</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#endif // GGL_STRATEGIES_AREA_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2centroid_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_STRATEGIES_CENTROID_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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;<a class="code" href="strategies_2tags_8hpp.html">ggl/strategies/tags.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
+<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> CsTag,
+<a name="l00032"></a>00032 <span class="keyword">typename</span> GeometryTag,
+<a name="l00033"></a>00033 std::size_t Dimension,
+<a name="l00034"></a>00034 <span class="keyword">typename</span> Point,
+<a name="l00035"></a>00035 <span class="keyword">typename</span> Geometry
+<a name="l00036"></a>00036 &gt;
+<a name="l00037"></a><a class="code" href="structggl_1_1strategy__centroid.html">00037</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="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">00039</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="l00040"></a>00040 };
+<a name="l00041"></a>00041
+<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 <span class="preprocessor">#endif // GGL_STRATEGIES_CENTROID_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_1default__strategy.html">ggl::strategy::compare::default_strategy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, indicates the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons. 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; Tag, Direction, Point, CoordinateSystem, Dimension &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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2compare_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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,. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_COMPARE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_COMPARE_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;functional&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/mpl/if.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="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&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="strategies_2tags_8hpp.html">ggl/strategies/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
+<a name="l00028"></a>00028
+<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> Tag,
+<a name="l00042"></a>00042 <span class="keywordtype">int</span> Direction,
+<a name="l00043"></a>00043 <span class="keyword">typename</span> Point,
+<a name="l00044"></a>00044 <span class="keyword">typename</span> CoordinateSystem,
+<a name="l00045"></a>00045 std::size_t Dimension
+<a name="l00046"></a>00046 &gt;
+<a name="l00047"></a><a class="code" href="structggl_1_1strategy__compare.html">00047</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="l00048"></a>00048 {
+<a name="l00049"></a><a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">00049</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="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="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// For compare we add defaults specializations,</span>
+<a name="l00058"></a>00058 <span class="comment">// because they defaultly redirect to std::less / greater / equal_to</span>
+<a name="l00059"></a>00059 <span class="keyword">template</span>
+<a name="l00060"></a>00060 &lt;
+<a name="l00061"></a>00061 <span class="keyword">typename</span> Tag,
+<a name="l00062"></a>00062 <span class="keyword">typename</span> Point,
+<a name="l00063"></a>00063 <span class="keyword">typename</span> CoordinateSystem,
+<a name="l00064"></a>00064 std::size_t Dimension
+<a name="l00065"></a>00065 &gt;
+<a name="l00066"></a>00066 <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>&lt;Tag, 1, Point, CoordinateSystem, Dimension&gt;
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> std::less&lt;typename coordinate_type&lt;Point&gt;::type&gt; <a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a>;
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">template</span>
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 <span class="keyword">typename</span> Tag,
+<a name="l00075"></a>00075 <span class="keyword">typename</span> Point,
+<a name="l00076"></a>00076 <span class="keyword">typename</span> CoordinateSystem,
+<a name="l00077"></a>00077 std::size_t Dimension
+<a name="l00078"></a>00078 &gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>strategy_compare&lt;Tag, -1, Point, CoordinateSystem, Dimension&gt;
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> std::greater&lt;typename coordinate_type&lt;Point&gt;::type&gt; <a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a>;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span>
+<a name="l00086"></a>00086 &lt;
+<a name="l00087"></a>00087 <span class="keyword">typename</span> Tag,
+<a name="l00088"></a>00088 <span class="keyword">typename</span> Point,
+<a name="l00089"></a>00089 <span class="keyword">typename</span> CoordinateSystem,
+<a name="l00090"></a>00090 std::size_t Dimension
+<a name="l00091"></a>00091 &gt;
+<a name="l00092"></a>00092 <span class="keyword">struct </span>strategy_compare&lt;Tag, 0, Point, CoordinateSystem, Dimension&gt;
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> std::equal_to&lt;typename coordinate_type&lt;Point&gt;::type&gt; <a class="code" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a>;
+<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="preprocessor">#endif</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a><a class="code" href="namespaceggl_1_1strategy_1_1compare.html">00103</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span>compare {
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00114"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html">00114</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1default__strategy.html" title="Default strategy, indicates the default strategy for comparisons.">default_strategy</a> {};
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt;
+<a name="l00122"></a>00122 <span class="keyword">struct </span>is_default : boost::false_type
+<a name="l00123"></a>00123 {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;&gt;
+<a name="l00127"></a>00127 <span class="keyword">struct </span>is_default&lt;default_strategy&gt; : boost::true_type
+<a name="l00128"></a>00128 {};
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130
+<a name="l00137"></a>00137 <span class="keyword">template</span>
+<a name="l00138"></a>00138 &lt;
+<a name="l00139"></a>00139 <span class="keyword">typename</span> Strategy,
+<a name="l00140"></a>00140 <span class="keywordtype">int</span> Direction,
+<a name="l00141"></a>00141 <span class="keyword">typename</span> Point,
+<a name="l00142"></a>00142 std::size_t Dimension
+<a name="l00143"></a>00143 &gt;
+<a name="l00144"></a>00144 <span class="keyword">struct </span>select_strategy
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00147"></a>00147 boost::mpl::if_
+<a name="l00148"></a>00148 &lt;
+<a name="l00149"></a>00149 is_default&lt;Strategy&gt;,
+<a name="l00150"></a>00150 <span class="keyword">typename</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="l00151"></a>00151 &lt;
+<a name="l00152"></a>00152 <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&gt;::type</a>,
+<a name="l00153"></a>00153 Direction,
+<a name="l00154"></a>00154 Point,
+<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.">coordinate_system&lt;Point&gt;::type</a>,
+<a name="l00156"></a>00156 Dimension
+<a name="l00157"></a>00157 &gt;::type,
+<a name="l00158"></a>00158 Strategy
+<a name="l00159"></a>00159 &gt;::type type;
+<a name="l00160"></a>00160 };
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 } <span class="comment">// namespace detail</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="comment">// namespace strategy::compare</span>
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 } <span class="comment">// namespace ggl</span>
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="preprocessor">#endif // GGL_STRATEGIES_COMPARE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; Tag, Geometry, Point &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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2convex__hull_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_CONVEX_HULL_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONVEX_HULL_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00028"></a>00028 <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>&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy__convex__hull.html">00029</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="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="structggl_1_1strategy__convex__hull.html#ea1634c6de9b2262e12bb89d04d87ef0">00031</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="l00032"></a>00032 };
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 } <span class="comment">// namespace ggl</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#endif // GGL_STRATEGIES_CONVEX_HULL_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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__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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2distance_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_STRATEGIES_DISTANCE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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="strategies_2tags_8hpp.html">ggl/strategies/tags.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
+<a name="l00028"></a>00028 <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="l00029"></a><a class="code" href="structggl_1_1strategy__distance.html">00029</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="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">00031</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="l00032"></a>00032 };
+<a name="l00033"></a>00033
+<a name="l00042"></a>00042 <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="l00043"></a><a class="code" href="structggl_1_1strategy__distance__segment.html">00043</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="l00044"></a>00044 {
+<a name="l00045"></a><a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">00045</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="l00046"></a>00046 };
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 } <span class="comment">// namespace ggl</span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // GGL_STRATEGIES_DISTANCE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_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__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 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2tags_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_STRATEGIES_TAGS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_TAGS_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="l00016"></a>00016 <span class="keyword">namespace </span>strategy
+<a name="l00017"></a>00017 {
+<a name="l00026"></a><a class="code" href="structggl_1_1strategy_1_1not__implemented.html">00026</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="l00027"></a>00027 }
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="structggl_1_1strategy__tag__unknown.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> {};
+<a name="l00033"></a><a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">00033</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="l00034"></a><a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">00034</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="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><a class="code" href="structggl_1_1strategy__tag.html">00037</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">00039</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="l00040"></a>00040 };
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 } <span class="comment">// namespace ggl</span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#endif // GGL_STRATEGIES_TAGS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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__transform.html">ggl::strategy_transform&lt; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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>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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_2transform_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/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_STRATEGIES_TRANSFORM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2tags_8hpp.html">ggl/strategies/tags.hpp</a>&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
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 &lt;
+<a name="l00036"></a>00036 <span class="keyword">typename</span> CoordinateSystemTag1, <span class="keyword">typename</span> CoordinateSystemTag2,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> CoordinateSystem1, <span class="keyword">typename</span> CoordinateSystem2,
+<a name="l00038"></a>00038 std::size_t Dimension1, std::size_t Dimension2,
+<a name="l00039"></a>00039 <span class="keyword">typename</span> Point1, <span class="keyword">typename</span> Point2
+<a name="l00040"></a>00040 &gt;
+<a name="l00041"></a><a class="code" href="structggl_1_1strategy__transform.html">00041</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="l00042"></a>00042 {
+<a name="l00043"></a><a class="code" href="structggl_1_1strategy__transform.html#78fbee09e5f72af93b026bc767cc51a9">00043</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="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 ggl</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="strategies_2tags_8hpp.html">ggl/strategies/tags.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2area_8hpp.html">ggl/strategies/area.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2centroid_8hpp.html">ggl/strategies/centroid.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2compare_8hpp.html">ggl/strategies/compare.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2convex__hull_8hpp.html">ggl/strategies/convex_hull.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2distance_8hpp.html">ggl/strategies/distance.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="parse_8hpp.html">ggl/strategies/parse.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly_8hpp.html">ggl/strategies/point_in_poly.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="side_8hpp.html">ggl/strategies/side.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="strategies_2transform_8hpp.html">ggl/strategies/transform.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="area__by__triangles_8hpp.html">ggl/strategies/cartesian/area_by_triangles.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="centroid__bashein__detmer_8hpp.html">ggl/strategies/cartesian/centroid_bashein_detmer.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="distance__pythagoras_8hpp.html">ggl/strategies/cartesian/distance_pythagoras.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="distance__projected__point_8hpp.html">ggl/strategies/cartesian/distance_projected_point.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly__franklin_8hpp.html">ggl/strategies/cartesian/point_in_poly_franklin.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly__crossings__multiply_8hpp.html">ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp</a>&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="side__by__triangle_8hpp.html">ggl/strategies/cartesian/side_by_triangle.hpp</a>&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="area__huiller_8hpp.html">ggl/strategies/spherical/area_huiller.hpp</a>&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="distance__cross__track_8hpp.html">ggl/strategies/spherical/distance_cross_track.hpp</a>&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="compare__circular_8hpp.html">ggl/strategies/spherical/compare_circular.hpp</a>&gt;</span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="hull__graham__andrew_8hpp.html">ggl/strategies/agnostic/hull_graham_andrew.hpp</a>&gt;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="point__in__poly__winding_8hpp.html">ggl/strategies/agnostic/point_in_poly_winding.hpp</a>&gt;</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="simplify__douglas__peucker_8hpp.html">ggl/strategies/agnostic/simplify_douglas_peucker.hpp</a>&gt;</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>&gt;</span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>&gt;</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;<a class="code" href="map__transformer_8hpp.html">ggl/strategies/transform/map_transformer.hpp</a>&gt;</span>
+<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;<a class="code" href="inverse__transformer_8hpp.html">ggl/strategies/transform/inverse_transformer.hpp</a>&gt;</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // GGL_STRATEGIES_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</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="strategy">Strategy rationale </a></h1><h2><a class="anchor" name="strpar1">
+Purpose of strategies</a></h2>
+A strategy is (Wikipedia, http://en.wikipedia.org/wiki/Strategy_pattern) a software design pattern whereby algorithms can be selected at runtime. According to Wikipedia, it is also known as the Policy pattern. In the C++ template contexts, policies are usually meant as selecting functionality at compile time. so it is reasonable to state that a strategy can also be used at compile-time<p>
+Within GGL the term policy is used (sparsely), but in a broader, or in another context. The term Strategy is used specificly for a computation method targeted to a specific coordinate system<p>
+GGL-Strategies do have the following purposes:<ul>
+<li>for each coordinate system, a default strategy is selected by compile time, using the coordinate system tag. This is effectively tag dispatching.</li><li>users can override the default choice by using the overloaded function, which has a strategy as an extra parameter, and take another strategy</li><li>users can override the default choice by using the overloaded function, to use the default strategy, but constructed with specific parameters</li><li>users can override the default choice by using the overloaded function, to use the default strategy (which can be a templated structure), with other template parameters then the default ones</li><li>users can override the default choice by using the overloaded function, to use the default strategy (which can be a templated structure), with other template parameters then the default ones, with the specific purpose as to select another calculation type (e.g. GMP or another big number type)</li></ul>
+<p>
+All this happens at compile-time.<p>
+For example (this is also explained in the design rationale) the distance functionality. The default distance strategy for point-point is Pythagoras (for cartesian coordinate systems) or Haversine (for spherical) or Andoyer (for geographic). Haversine works on the unit sphere, radius 1. Library users can use the distance function, specifying haversine strategy constructed with a radius of 2. Or they can use the distance function, specifying the more precise Vincenty strategy (for geographic coordinate systems, but that might not even be checked there). Specifying strategies is useful, even if not point-point distance is to be calculated, but e.g. point-polygon distance. In the end it will call the elementary specified functionality. Note that, for this example, the point-segment distance strategy is also "elementary". Note also that it can have an optional template parameter defining the underlying point-point-distance-strategy.<h2><a class="anchor" name="strpar2">
+Properties of strategies</a></h2>
+Because strategies can be constructed outside the calling function, they can be specified as an optional parameter (implemented as an overloaded function), and not as only a template-parameter. Furthermore, strategies might be used several times, in several function calls. Therefore they are declared as const reference parameter, they should be stateless (besides construction information).<p>
+The strategy needs to access construction information (member variables), its calculation method is therefore usually not a static method but a non-static const method. It can then access member variables, while still being const, non-mutable, stateless, being able to be called across several function calls. If often has to keep some calculation information (state), so it should (for some algorithms) declare a state_type. In those cases, that state_type is instantiated before first call and specified in each call. The calculation method is always called <b>apply</b> (as convention in GGL) and gets the most elementary information as a parameter: a point, a segment, a range. It depends on the algorithm and, sometimes, on the source geometry passed. That should actually be the case as least as possisble In most cases, there is an additional method <b>result</b> which returns the calculated result. That result-method is a also non-static const method, and the state is passed. Note that the methods might be non-
static const, but they might also be static. That is not checked by the concept-checker.<p>
+A strategy for a specific algorithm has a concept. The distance-strategy should follow the distance-strategy-concept. The point-in-polygon strategy should follow the point-in-polygon-strategy-concept. Those concepts are not modelled as traits classes (contrary to the geomtries). The reason for this is that it seems not necessary to directly legacy classes as concepts, without modification. A wrapper can than be built. So the strategies should have a method apply and should define some types.<p>
+Which types, and which additional methods (often a method <b>result</b>), is thus dependant on the algorithm.<p>
+Strategies are checked by a strategy-concept-checker. For this checker (and sometimes for checking alone), they should define some types. Because if no types are defined, the methods cannot be checked at compile time... The strategy-concept-checkers are thus implemented per algorithm and they use the Boost Concept Check Library for checking.<h2><a class="anchor" name="strpar3">
+Alternative designs</a></h2>
+So as explained above, the essention of the current design is:<ul>
+<li>function determines default-strategy, or is called with specified strategy</li><li>function calls dispatch (on geometry_tag)</li><li>dispatch calls implementation (in namespace detail), which can be shared for different geometry types and for single/multi</li><li>implementation calls strategy (if applicable), with the smallest common (geometric) element applicable for all calculation method, the common denominator</li></ul>
+<p>
+Some calculations (strategies) might need to take the whole geometry, instead of working on point-per-point or segment-per-segment base. This would bypass the dispatch functionality. Because all strategies would take the whole geometry, it is not necessary to dispatch per geometry type. In fact this dispatching on geometry-type is moved to the strategy_traits class (which are specialized per coordinate system in the current design). So in this alternative design, the strategy traits class specializes on both geometry-tag and coordinate-system-tag, to select the default strategy. For the default strategy, this move from "dispatch" to another dispatch called "strategy_XXX" (XXX is the algorithm) might make sense. However, if library users would call the overloaded function and specify a strategy, the only thing what would happen is that that specified strategy is called. So, for example: <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">bool</span> <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">within</a>(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, S&amp; <span class="keyword">const</span> strategy)
+{
+ <span class="keywordflow">return</span> strategy.apply(g1, g2);
+}
+</pre></div><p>
+The library user could call just this strategy.apply(..) method directly. If more strategies are provided by the library or its extensions, it would still make sense: the user can still call <b>within</b> and does not have to call the <b>apply</b> method of the strategy.<p>
+The convex hull strategy currently works on a whole geometry. However, it is possible that it will be reshaped to work per range (the algorithm internally works per range), plus a mechanism to pass ranges multiple times (it currently is two-pass). </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_STRATEGIES_STRATEGY_TRANSFORM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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
+<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#g69b7e7f328a6092efb8edc9d857504d1" 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#g69b7e7f328a6092efb8edc9d857504d1" 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="Meta-function 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#g69b7e7f328a6092efb8edc9d857504d1" 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#g69b7e7f328a6092efb8edc9d857504d1" 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#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p1, p2);
+<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 };
+<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#g69b7e7f328a6092efb8edc9d857504d1" 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#g69b7e7f328a6092efb8edc9d857504d1" 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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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#78fbee09e5f72af93b026bc767cc51a9">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_STRATEGIES_STRATEGY_TRANSFORM_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::add_const_if_c&lt; IsConst, Type &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a> typedef</td><td><a class="el" href="structggl_1_1add__const__if__c.html">ggl::add_const_if_c&lt; IsConst, Type &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1add__const__if__c.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1add__const__if__c.html">add_const_if_c</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::add_const_if_c&lt; IsConst, Type &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utility meta-functions and functions</a>]</small>
+</h1><!-- doxytag: class="ggl::add_const_if_c" -->Meta-function to define a const or non const type.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+&lt; IsConst, const Type, Type &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;bool IsConst, typename Type&gt;<br>
+ struct ggl::add_const_if_c&lt; IsConst, Type &gt;</h3>
+
+Meta-function to define a const or non const type.
+<p>
+If the boolean template parameter is true, the type parameter will be defined as const, otherwise it will be defined as it was. This meta-function is used to have one implementation for both const and non const references <dl class="note" compact><dt><b>Note:</b></dt><dd>This <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is completely independant from GGL and might be a separate addition to Boost <p>
+Used in ggl::for_each </dd></dl>
+<dl class="user" compact><dt><b>Example</b></dt><dd><div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> foo(<span class="keyword">typename</span> add_const_if_c&lt;IsConst, Point&gt;::type&amp; point)
+</pre></div> </dd></dl>
+
+<p>Definition at line <a class="el" href="add__const__if__c_8hpp_source.html#l00035">35</a> of file <a class="el" href="add__const__if__c_8hpp_source.html">add_const_if_c.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="78c46b047bc63015014efa1a2cd18dc1"></a><!-- doxytag: member="ggl::add_const_if_c::type" ref="78c46b047bc63015014efa1a2cd18dc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;bool IsConst, typename Type &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c&lt; IsConst, const Type, Type &gt;::<a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a> <a class="el" href="structggl_1_1add__const__if__c.html">ggl::add_const_if_c</a>&lt; IsConst, Type &gt;::<a class="el" href="structggl_1_1add__const__if__c.html#78c46b047bc63015014efa1a2cd18dc1">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="add__const__if__c_8hpp_source.html#l00042">42</a> of file <a class="el" href="add__const__if__c_8hpp_source.html">add_const_if_c.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#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>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__area.html">area: calculate area of a geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::area_result" -->Meta-function defining return type of area function.
+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; Geometry &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>&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 <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">
+::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>, <a class="el" href="structggl_1_1point__type.html">point_type</a> &gt;::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">strategy_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#6f843780140b8fa0ac0a4a36c4c00d81">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>
+
+Meta-function defining return type of area function.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> defines the return-type (so this situation is different from length, where distance is sqr/sqrt, but length always squared) </dd></dl>
+
+<p>Definition at line <a class="el" href="area__result_8hpp_source.html#l00029">29</a> of file <a class="el" href="area__result_8hpp_source.html">area_result.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;::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a> <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="area__result_8hpp_source.html#l00031">31</a> of file <a class="el" href="area__result_8hpp_source.html">area_result.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;::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>, <a class="el" href="structggl_1_1point__type.html">point_type</a> &gt;::<a class="el" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a> <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="area__result_8hpp_source.html#l00036">36</a> of file <a class="el" href="area__result_8hpp_source.html">area_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6f843780140b8fa0ac0a4a36c4c00d81"></a><!-- doxytag: member="ggl::area_result::type" ref="6f843780140b8fa0ac0a4a36c4c00d81" 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#6f843780140b8fa0ac0a4a36c4c00d81">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__result_8hpp_source.html#l00038">38</a> of file <a class="el" href="area__result_8hpp_source.html">area_result.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#01473d5ead508079201fa75545622ef5">operator&lt;&lt;</a>(std::basic_ostream&lt; Char, Traits &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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: calculate distance between two geometries</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 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="structggl_1_1cartesian__distance.html#01473d5ead508079201fa75545622ef5">operator&lt;&lt;</a> (std::basic_ostream&lt; Char, Traits &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 </dd></dl>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00041">41</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#l00063">63</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#l00067">67</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#l00085">85</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#l00089">89</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#l00093">93</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#l00118">118</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#l00124">124</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="01473d5ead508079201fa75545622ef5"></a><!-- doxytag: member="ggl::cartesian_distance::operator&lt;&lt;" ref="01473d5ead508079201fa75545622ef5" args="(std::basic_ostream&lt; Char, Traits &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 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="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#l00132">132</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::PointDistanceStrategy&lt; Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::PointDistanceStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+More...
+<p>
+<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 Strategy&gt;<br>
+ struct ggl::concept::PointDistanceStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+<p>Definition at line <a class="el" href="distance__concept_8hpp_source.html#l00028">28</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::concept::PointSegmentDistanceStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+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 Strategy&gt;<br>
+ struct ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+<p>Definition at line <a class="el" href="distance__concept_8hpp_source.html#l00079">79</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::SimplifyStrategy&lt; Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__simplify.html">simplify: remove points from a geometry, keeping shape (simplification or generalization)</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::SimplifyStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify.
+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 Strategy&gt;<br>
+ struct ggl::concept::SimplifyStrategy&lt; Strategy &gt;</h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify.
+<p>Definition at line <a class="el" href="simplify__concept_8hpp_source.html#l00027">27</a> of file <a class="el" href="simplify__concept_8hpp_source.html">simplify_concept.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00054">54</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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#l00069">69</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#l00071">71</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> 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#l00108">108</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#l00110">110</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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#l00095">95</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#l00097">97</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00157">157</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#l00162">162</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,571 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 helper operations (getting intersection points, etc)</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry1, Geometry2 &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; Geometry1, Geometry2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#ae0bb0ccd007862dc7ae0e81e95d9e52">strategy_type</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; Geometry1, Geometry2 &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry1, Geometry2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</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; Geometry1 &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</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; Geometry2 &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</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#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>, typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a><br class="typebreak">
+&lt; <a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a> &gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>, <br class="typebreak">
+<a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a>, <a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#ae0bb0ccd007862dc7ae0e81e95d9e52">strategy_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_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry1, typename Geometry2 = Geometry1&gt;<br>
+ struct ggl::distance_result&lt; Geometry1, Geometry2 &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>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="distance__result_8hpp_source.html#l00253">253</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="a8d6cdce407771fe57a8eda708b15d9a"></a><!-- doxytag: member="ggl::distance_result::point_type1" ref="a8d6cdce407771fe57a8eda708b15d9a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1, typename Geometry2 = Geometry1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt;Geometry1&gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a> <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; Geometry1, Geometry2 &gt;::<a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00255">255</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ab732c2833de69251f9fab39c9cb5976"></a><!-- doxytag: member="ggl::distance_result::point_type2" ref="ab732c2833de69251f9fab39c9cb5976" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1, typename Geometry2 = Geometry1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt;Geometry2&gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a> <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; Geometry1, Geometry2 &gt;::<a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00256">256</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ae0bb0ccd007862dc7ae0e81e95d9e52"></a><!-- doxytag: member="ggl::distance_result::strategy_type" ref="ae0bb0ccd007862dc7ae0e81e95d9e52" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1, typename Geometry2 = Geometry1&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#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a>&gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">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#ab732c2833de69251f9fab39c9cb5976">point_type2</a>&gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a>, <a class="el" href="structggl_1_1distance__result.html#a8d6cdce407771fe57a8eda708b15d9a">point_type1</a>, <a class="el" href="structggl_1_1distance__result.html#ab732c2833de69251f9fab39c9cb5976">point_type2</a> &gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a> <a class="el" href="structg
gl_1_1distance__result.html">ggl::distance_result</a>&lt; Geometry1, Geometry2 &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="distance__result_8hpp_source.html#l00263">263</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="cd1e3eaaac8b421096f0ce533643875a"></a><!-- doxytag: member="ggl::distance_result::type" ref="cd1e3eaaac8b421096f0ce533643875a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1, typename Geometry2 = Geometry1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef strategy_type::return_type <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; Geometry1, Geometry2 &gt;::<a class="el" href="structggl_1_1distance__result.html#cd1e3eaaac8b421096f0ce533643875a">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00264">264</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1equal__to.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1equal__to.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1equal__to.html">equal_to</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::equal_to&lt; Point, Dimension, Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__compare.html">compare: define compare functors for points</a>]</small>
+</h1><!-- doxytag: class="ggl::equal_to" -->Equal To functor, to compare if points are equal.
+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 Point, int Dimension = 0, typename Strategy = strategy::compare::default_strategy&gt;<br>
+ struct ggl::equal_to&lt; Point, Dimension, Strategy &gt;</h3>
+
+Equal To functor, to compare if points are equal.
+<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>the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</em>&nbsp;</td><td>the <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 on, defaults to -1, indicating ALL dimensions. If a <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> is specified, only that <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> is considered </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Strategy</em>&nbsp;</td><td>underlying coordinate comparing functor </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="policies_2compare_8hpp_source.html#l00233">233</a> of file <a class="el" href="policies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00028">28</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00069">69</a> of file <a class="el" href="core_2geometry__id_8hpp_source.html">geometry_id.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1greater.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1greater.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1greater.html">greater</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::greater&lt; Point, Dimension, Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__compare.html">compare: define compare functors for points</a>]</small>
+</h1><!-- doxytag: class="ggl::greater" -->Greater functor.
+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 Point, int Dimension = -1, typename Strategy = strategy::compare::default_strategy&gt;<br>
+ struct ggl::greater&lt; Point, Dimension, Strategy &gt;</h3>
+
+Greater functor.
+<p>
+Can be used to sort points in reverse order <dl class="see" compact><dt><b>See also:</b></dt><dd>Less functor </dd></dl>
+
+<p>Definition at line <a class="el" href="policies_2compare_8hpp_source.html#l00207">207</a> of file <a class="el" href="policies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a> typedef</td><td><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; Geometry &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; 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::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 <br class="typebreak">
+core_dispatch::interior_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_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::interior_type&lt; Geometry &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#l00158">158</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="fe590fce4d5604d64a318733439e3036"></a><!-- doxytag: member="ggl::interior_type::type" ref="fe590fce4d5604d64a318733439e3036" 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::interior_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a> <a class="el" href="structggl_1_1interior__type.html">ggl::interior_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1interior__type.html#fe590fce4d5604d64a318733439e3036">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00164">164</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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" title="multi_point, a collection of points">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" title="multi_point, a collection of points">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 plane angle: 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 plane angle: Radians.">radian</a>.
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00171">171</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::length_result&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1length__result.html">ggl::length_result&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a> typedef</td><td><a class="el" href="structggl_1_1length__result.html">ggl::length_result&lt; Geometry &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1length__result.html">length_result</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::length_result&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__length.html">length: calculate length of a linear geometry</a>]</small>
+</h1><!-- doxytag: class="ggl::length_result" -->Meta-function defining return type of length function.
+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><br class="typebreak">
+&lt; Geometry &gt;::<a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a>, long <br class="typebreak">
+double &gt;::<a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::length_result&lt; Geometry &gt;</h3>
+
+Meta-function defining return type of length function.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Length of a line of integer coordinates can be double. So we take at least a double. If Big Number types are used, we take that type. </dd></dl>
+
+<p>Definition at line <a class="el" href="length__result_8hpp_source.html#l00028">28</a> of file <a class="el" href="length__result_8hpp_source.html">length_result.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="804491e987771a8c50f977a209ee0599"></a><!-- doxytag: member="ggl::length_result::type" ref="804491e987771a8c50f977a209ee0599" 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_1select__most__precise.html">select_most_precise</a>&lt; typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a>, long double &gt;::<a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a> <a class="el" href="structggl_1_1length__result.html">ggl::length_result</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1length__result.html#804491e987771a8c50f977a209ee0599">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="length__result_8hpp_source.html#l00034">34</a> of file <a class="el" href="length__result_8hpp_source.html">length_result.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, Dimension, Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__compare.html">compare: define compare functors for points</a>]</small>
+</h1><!-- doxytag: class="ggl::less" -->Less functor, to sort points in ascending order.
+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 Point, int Dimension = -1, typename Strategy = strategy::compare::default_strategy&gt;<br>
+ struct ggl::less&lt; Point, Dimension, Strategy &gt;</h3>
+
+Less functor, to sort points in ascending order.
+<p>
+This functor compares points and orders them on x, then on y, then on z coordinate. <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>the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</em>&nbsp;</td><td>the <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 sort on, defaults to -1, indicating ALL dimensions. That's to say, first on x, on equal x-es then on y, etc. If a <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> is specified, only that <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> is considered </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Strategy</em>&nbsp;</td><td>underlying coordinate comparing functor, defaults to the default comparison strategies related to the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate system. If specified, the specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is used. This can e.g. be std::less&lt;double&gt;. </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="policies_2compare_8hpp_source.html#l00184">184</a> of file <a class="el" href="policies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</h1><!-- doxytag: class="ggl::multi_linestring" -->multi_line, a collection of <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>
+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_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_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>
+
+multi_line, a collection of <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>
+<p>
+Multi-linestring can be used to group lines belonging to each other, e.g. a highway (with interruptions)
+<p>Definition at line <a class="el" href="multi__linestring_8hpp_source.html#l00036">36</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="classggl_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00022">22</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</h1><!-- doxytag: class="ggl::multi_point" --><a class="el" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a>, a collection of 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="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_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>
+
+<a class="el" href="structggl_1_1multi__point.html" title="multi_point, a collection of points">multi_point</a>, a collection of points
+<p>
+Multipoint can be used to group points belonging to each other, e.g. a constellation
+<p>Definition at line <a class="el" href="multi__point_8hpp_source.html#l00036">36</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="classggl_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00019">19</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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<br>
+<small>
+[<a class="el" href="group__geometries.html">geometries: geometries provided by default</a>]</small>
+</h1><!-- doxytag: class="ggl::multi_polygon" --><a class="el" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a>, a collection of <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>
+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_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_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>
+
+<a class="el" href="structggl_1_1multi__polygon.html" title="multi_polygon, a collection of linestring">multi_polygon</a>, a collection of <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>
+<p>
+Multi-polygon can be used to group polygons belonging to each other, e.g. Hawaii
+<p>Definition at line <a class="el" href="multi__polygon_8hpp_source.html#l00036">36</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="classggl_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00025">25</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_order&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1point__order.html">ggl::point_order&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a> typedef</td><td><a class="el" href="structggl_1_1point__order.html">ggl::point_order&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a></td><td><a class="el" href="structggl_1_1point__order.html">ggl::point_order&lt; Geometry &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1point__order.html">point_order</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_order&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_order" -->Meta-function which defines <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of any geometry.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::remove_const<br class="typebreak">
+&lt; Geometry &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::point_order&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.
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00086">86</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6a3c9d8f3b050a4f040c4f244fce6fd4"></a><!-- doxytag: member="ggl::point_order::ncg" ref="6a3c9d8f3b050a4f040c4f244fce6fd4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;Geometry&gt;::type <a class="el" href="structggl_1_1point__order.html">ggl::point_order</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00088">88</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="2ec9d56b715d2ecd6e6cb55434d40258"></a><!-- doxytag: member="ggl::point_order::value" ref="2ec9d56b715d2ecd6e6cb55434d40258" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="el" href="structggl_1_1point__order.html">ggl::point_order</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a><code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> core_dispatch::point_order
+ &lt;
+ <span class="keyword">typename</span> tag&lt;Geometry&gt;::type,
+ <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>
+ &gt;<a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">::value</a>
+</pre></div>
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00089">89</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#_a18">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#_a4">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,595 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="classggl_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="classggl_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="classggl_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="classggl_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::range_iterator_const_if_c&lt; IsConst, Range &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a> typedef</td><td><a class="el" href="structggl_1_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__iterator__const__if__c.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1range__iterator__const__if__c.html">range_iterator_const_if_c</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::range_iterator_const_if_c&lt; IsConst, Range &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utility meta-functions and functions</a>]</small>
+</h1><!-- doxytag: class="ggl::range_iterator_const_if_c" -->Meta-function to define a const or non const boost range iterator.
+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; IsConst, typename <br class="typebreak">
+boost::range_const_iterator<br class="typebreak">
+&lt; Range &gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a>, typename <br class="typebreak">
+boost::range_iterator&lt; Range &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a> &gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;bool IsConst, typename Range&gt;<br>
+ struct ggl::range_iterator_const_if_c&lt; IsConst, Range &gt;</h3>
+
+Meta-function to define a const or non const boost range iterator.
+<p>
+Is used to have one implementation for both const and non const range iterators <dl class="note" compact><dt><b>Note:</b></dt><dd>This <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is completely independant from GGL and might be a separate addition to Boost <p>
+Used in ggl::for_each </dd></dl>
+
+<p>Definition at line <a class="el" href="range__iterator__const__if__c_8hpp_source.html#l00031">31</a> of file <a class="el" href="range__iterator__const__if__c_8hpp_source.html">range_iterator_const_if_c.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="7856444ba0731a8e6b78be372d5b02b2"></a><!-- doxytag: member="ggl::range_iterator_const_if_c::type" ref="7856444ba0731a8e6b78be372d5b02b2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;bool IsConst, typename Range &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c&lt; IsConst, typename boost::range_const_iterator&lt;Range&gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a>, typename boost::range_iterator&lt;Range&gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a> &gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a> <a class="el" href="structggl_1_1range__iterator__const__if__c.html">ggl::range_iterator_const_if_c</a>&lt; IsConst, Range &gt;::<a class="el" href="structggl_1_1range__iterator__const__if__c.html#7856444ba0731a8e6b78be372d5b02b2">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="range__iterator__const__if__c_8hpp_source.html#l00038">38</a> of file <a class="el" href="range__iterator__const__if__c_8hpp_source.html">range_iterator_const_if_c.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::range_type&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1range__type.html">ggl::range_type&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a> typedef</td><td><a class="el" href="structggl_1_1range__type.html">ggl::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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1range__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1range__type.html">range_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::range_type&lt; Geometry &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::range_type" -->Meta-function defining a type which is a boost-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 Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef dispatch::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_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::range_type&lt; Geometry &gt;</h3>
+
+Meta-function defining a type which is a boost-range.
+<p>
+<ul>
+<li>For linestrings and rings, it defines the type itself.</li><li>For polygons it defines the ring type.</li><li>For multi-points, it defines the type itself</li><li>For multi-polygons and multi-linestrings, it defines the single-version (so in the end the <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> and ring-type-of-multi-polygon) </li></ul>
+
+<p>Definition at line <a class="el" href="iterators_2range__type_8hpp_source.html#l00069">69</a> of file <a class="el" href="iterators_2range__type_8hpp_source.html">range_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="98009a7b84038407a2fc175929bb9b38"></a><!-- doxytag: member="ggl::range_type::type" ref="98009a7b84038407a2fc175929bb9b38" 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::range_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a> <a class="el" href="structggl_1_1range__type.html">ggl::range_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1range__type.html#98009a7b84038407a2fc175929bb9b38">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="iterators_2range__type_8hpp_source.html#l00075">75</a> of file <a class="el" href="iterators_2range__type_8hpp_source.html">range_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00082">82</a> of file <a class="el" href="replace__point__type_8hpp_source.html">replace_point_type.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00049">49</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#fed3b58e7a493248198d0ed23f7b6b0f">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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 <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#fed3b58e7a493248198d0ed23f7b6b0f">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">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). This meta function retrieves the type of the rings <dl class="note" compact><dt><b>Note:</b></dt><dd>Exterior ring and interior rings must have the same ring-type. </dd></dl>
+<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="fed3b58e7a493248198d0ed23f7b6b0f"></a><!-- doxytag: member="ggl::ring_type::type" ref="fed3b58e7a493248198d0ed23f7b6b0f" 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#fed3b58e7a493248198d0ed23f7b6b0f">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1ring__type.html#fed3b58e7a493248198d0ed23f7b6b0f">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#fed3b58e7a493248198d0ed23f7b6b0f">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00028">28</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#l00030">30</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#l00037">37</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#l00044">44</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#l00053">53</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#l00075">75</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#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="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#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="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#l00078">78</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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="classggl_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#l00053">53</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="classggl_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#l00066">66</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="classggl_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#l00076">76</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#l00081">81</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#l00088">88</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#l00095">95</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> typedef</td><td><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utility meta-functions and functions</a>]</small>
+</h1><!-- doxytag: class="ggl::select_calculation_type" -->Meta-function selecting the "calculation" type.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+&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; Point1, <br class="typebreak">
+Point2 &gt;::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>, <br class="typebreak">
+CalculationType &gt;::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point1, typename Point2, typename CalculationType&gt;<br>
+ struct ggl::select_calculation_type&lt; Point1, Point2, CalculationType &gt;</h3>
+
+Meta-function selecting the "calculation" type.
+<p>
+Based on two input <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> types, and an input calculation type, (which defaults to void in the calling function), this meta-function selects the most appropriate:<ul>
+<li>if calculation type is specified, that one is used,</li><li>if it is void, the most precise of the two points is used </li></ul>
+
+<p>Definition at line <a class="el" href="select__calculation__type_8hpp_source.html#l00032">32</a> of file <a class="el" href="select__calculation__type_8hpp_source.html">select_calculation_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9148fdfb664c15d4aaeaafdfad3bdc1c"></a><!-- doxytag: member="ggl::select_calculation_type::type" ref="9148fdfb664c15d4aaeaafdfad3bdc1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1, typename Point2, typename CalculationType&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; Point1, Point2 &gt;::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>, CalculationType &gt;::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> <a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type</a>&lt; Point1, Point2, CalculationType &gt;::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="select__calculation__type_8hpp_source.html#l00044">44</a> of file <a class="el" href="select__calculation__type_8hpp_source.html">select_calculation_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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: utility meta-functions and functions</a>]</small>
+</h1><!-- doxytag: class="ggl::select_coordinate_type" -->Meta-function 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>
+
+Meta-function selecting the most precise coordinate type of two geometries.
+<p>Definition at line <a class="el" href="select__coordinate__type_8hpp_source.html#l00031">31</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#l00037">37</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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: utility meta-functions and functions</a>]</small>
+</h1><!-- doxytag: class="ggl::select_most_precise" -->Meta-function 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>
+
+Meta-function to select, of two types, the most accurate type for calculations.
+<p>
+<a class="el" href="structggl_1_1select__most__precise.html" title="Meta-function 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 addition to 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#l00111">111</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#l00149">149</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#l00113">113</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#l00114">114</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#l00118">118</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1single__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1single__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1single__tag.html">single_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::single_tag&lt; Tag &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::single_tag" -->Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry.
+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 Tag&gt;<br>
+ struct ggl::single_tag&lt; Tag &gt;</h3>
+
+Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry.
+<p>Definition at line <a class="el" href="multi_2core_2tags_8hpp_source.html#l00038">38</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">area</a>(double radius) const </td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a></td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">excess_sum</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a></td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a>::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum Struct Reference</h1><!-- doxytag: class="ggl::strategy::area::huiller::excess_sum" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#71ace3a687fdf52604bb3b85511890d6">area</a> (double radius) 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_1strategy_1_1area_1_1huiller_1_1excess__sum.html#f83d5ebe51de8b53e5e8428a4ac3b7fe">excess_sum</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine</a><br class="typebreak">
+&lt; PointOfSegment, <br class="typebreak">
+PointOfSegment &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename PointOfSegment, typename CalculationType = void&gt;<br>
+ struct ggl::strategy::area::huiller&lt; PointOfSegment, CalculationType &gt;::excess_sum</h3>
+
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00050">50</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="f83d5ebe51de8b53e5e8428a4ac3b7fe"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::excess_sum" ref="f83d5ebe51de8b53e5e8428a4ac3b7fe" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::excess_sum::excess_sum </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="area__huiller_8hpp_source.html#l00059">59</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="71ace3a687fdf52604bb3b85511890d6"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::area" ref="71ace3a687fdf52604bb3b85511890d6" args="(double radius) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::excess_sum::area </td>
+ <td>(</td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>radius</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00063">63</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="83096a378b1b6860221c531fbf35a14d"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::sum" ref="83096a378b1b6860221c531fbf35a14d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">excess_sum::sum</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00052">52</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2625a4617acd49eda331b051568df059"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::distance_over_unit_sphere" ref="2625a4617acd49eda331b051568df059" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PointOfSegment , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine</a>&lt;PointOfSegment, PointOfSegment&gt; <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>&lt; PointOfSegment, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">excess_sum::distance_over_unit_sphere</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00056">56</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::circular_comparator&lt; CoordinateType, Units, Compare &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">operator()</a>(CoordinateType const &amp;c1, CoordinateType const &amp;c2) const </td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a>(CoordinateType const &amp;c, double min_border, double max_border)</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1circular__comparator.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1circular__comparator.html">circular_comparator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::compare::circular_comparator" -->Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for spherical 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>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_1compare_1_1circular__comparator.html#5b8088b02c2bdcd2b49e0e95668cc65f">operator()</a> (CoordinateType const &amp;c1, CoordinateType const &amp;c2) 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 CoordinateType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html#8c4e91fde0a7ef149e5905d19b0fb56c">put_in_range</a> (CoordinateType const &amp;c, double min_border, double max_border)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CoordinateType, typename Units, typename Compare&gt;<br>
+ struct ggl::strategy::compare::circular_comparator&lt; CoordinateType, Units, Compare &gt;</h3>
+
+Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for spherical 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>Point</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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="compare__circular_8hpp_source.html#l00057">57</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8c4e91fde0a7ef149e5905d19b0fb56c"></a><!-- doxytag: member="ggl::strategy::compare::circular_comparator::put_in_range" ref="8c4e91fde0a7ef149e5905d19b0fb56c" args="(CoordinateType const &amp;c, double min_border, double max_border)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CoordinateType , typename Units , typename Compare &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static CoordinateType <a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator</a>&lt; CoordinateType, Units, Compare &gt;::put_in_range </td>
+ <td>(</td>
+ <td class="paramtype">CoordinateType const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>min_border</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_border</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="compare__circular_8hpp_source.html#l00059">59</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5b8088b02c2bdcd2b49e0e95668cc65f"></a><!-- doxytag: member="ggl::strategy::compare::circular_comparator::operator()" ref="5b8088b02c2bdcd2b49e0e95668cc65f" args="(CoordinateType const &amp;c1, CoordinateType const &amp;c2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CoordinateType , typename Units , typename Compare &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1compare_1_1circular__comparator.html">ggl::strategy::compare::circular_comparator</a>&lt; CoordinateType, Units, Compare &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">CoordinateType const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType 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> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="compare__circular_8hpp_source.html#l00074">74</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1default__strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1default__strategy.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1default__strategy.html">default_strategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::default_strategy Struct Reference</h1><!-- doxytag: class="ggl::strategy::compare::default_strategy" -->Default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, indicates the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons.
+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="namespaceggl_1_1strategy.html">strategy</a>, indicates the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons.
+<p>
+The default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for comparisons defer in most cases to std::less (for ascending) and std::greater (for descending). However, if a spherical coordinate system is used, and comparison is done on longitude, it will take another <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> handling circular
+<p>Definition at line <a class="el" href="strategies_2compare_8hpp_source.html#l00114">114</a> of file <a class="el" href="strategies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="namespaceggl_1_1strategy_1_1compare_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">shift</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::detail::shift&lt; Units &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::compare::detail::shift" --><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 Units&gt;<br>
+ struct ggl::strategy::compare::detail::shift&lt; Units &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="compare__circular_8hpp_source.html#l00029">29</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::detail::shift&lt; degree &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&lt; degree &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">full</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&lt; degree &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">half</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">ggl::strategy::compare::detail::shift&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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="namespaceggl_1_1strategy_1_1compare_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01degree_01_4.html">shift&lt; degree &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::detail::shift&lt; degree &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::compare::detail::shift&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_1compare_1_1detail_1_1shift_3_01degree_01_4.html#89aaf17e4a37d3caaae92ea50c206650">full</a> ()</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_1compare_1_1detail_1_1shift_3_01degree_01_4.html#7d730334d5abee1c79b70d55218254fe">half</a> ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;&gt;<br>
+ struct ggl::strategy::compare::detail::shift&lt; degree &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="compare__circular_8hpp_source.html#l00035">35</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="89aaf17e4a37d3caaae92ea50c206650"></a><!-- doxytag: member="ggl::strategy::compare::detail::shift&lt; degree &gt;::full" ref="89aaf17e4a37d3caaae92ea50c206650" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift</a>&lt; <a class="el" href="classggl_1_1degree.html">degree</a> &gt;::full </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="compare__circular_8hpp_source.html#l00037">37</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7d730334d5abee1c79b70d55218254fe"></a><!-- doxytag: member="ggl::strategy::compare::detail::shift&lt; degree &gt;::half" ref="7d730334d5abee1c79b70d55218254fe" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift</a>&lt; <a class="el" href="classggl_1_1degree.html">degree</a> &gt;::half </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="compare__circular_8hpp_source.html#l00038">38</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::detail::shift&lt; radian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&lt; radian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">full</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&lt; radian &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">half</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">ggl::strategy::compare::detail::shift&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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="namespaceggl_1_1strategy_1_1compare_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift_3_01radian_01_4.html">shift&lt; radian &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::detail::shift&lt; radian &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::compare::detail::shift&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_1compare_1_1detail_1_1shift_3_01radian_01_4.html#cff2d5794ce8da0b82dcbde9b31bc9d6">full</a> ()</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_1compare_1_1detail_1_1shift_3_01radian_01_4.html#a9c874a9c8e2e05246b2e2ca53335fea">half</a> ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;&gt;<br>
+ struct ggl::strategy::compare::detail::shift&lt; radian &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="compare__circular_8hpp_source.html#l00042">42</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="cff2d5794ce8da0b82dcbde9b31bc9d6"></a><!-- doxytag: member="ggl::strategy::compare::detail::shift&lt; radian &gt;::full" ref="cff2d5794ce8da0b82dcbde9b31bc9d6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift</a>&lt; <a class="el" href="classggl_1_1radian.html">radian</a> &gt;::full </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="compare__circular_8hpp_source.html#l00044">44</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a9c874a9c8e2e05246b2e2ca53335fea"></a><!-- doxytag: member="ggl::strategy::compare::detail::shift&lt; radian &gt;::half" ref="a9c874a9c8e2e05246b2e2ca53335fea" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1compare_1_1detail_1_1shift.html">ggl::strategy::compare::detail::shift</a>&lt; <a class="el" href="classggl_1_1radian.html">radian</a> &gt;::half </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="compare__circular_8hpp_source.html#l00045">45</a> of file <a class="el" href="compare__circular_8hpp_source.html">compare_circular.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point1, Point2, 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; Point1, Point2, 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#bc6f8d7bab7a9f9a26212c44dc660038">apply</a>(Point1 const &amp;p1, Point2 const &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">first_point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">return_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">second_point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; Point1, Point2, CalculationType &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point1, Point2, CalculationType &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</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 <br class="typebreak">
+<a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a><br class="typebreak">
+&lt; Point1, Point2, <br class="typebreak">
+CalculationType &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">first_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
+&lt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#b537860f2ca8a4304199974089e7a12e">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">second_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"><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#bc6f8d7bab7a9f9a26212c44dc660038">apply</a> (Point1 const &amp;p1, Point2 const &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point1, typename Point2 = Point1, typename CalculationType = void&gt;<br>
+ struct ggl::strategy::distance::pythagoras&lt; Point1, Point2, 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>Point1</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>Point2</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 Point1 and Point2:</b></dt><dd><ul>
+<li>specialized point_traits class </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00072">72</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="e67b090ee00c9b04117d782331317fdc"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::calculation_type" ref="e67b090ee00c9b04117d782331317fdc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 = Point1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a>&lt; Point1, Point2, CalculationType &gt;::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; Point1, Point2, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#e67b090ee00c9b04117d782331317fdc">calculation_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00079">79</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="84efcbf2348980d157d02dbf4d517181"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::first_point_type" ref="84efcbf2348980d157d02dbf4d517181" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 = Point1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point1 <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; Point1, Point2, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#84efcbf2348980d157d02dbf4d517181">first_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00081">81</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="598415d10bccaa5b6ccbb000d676d24d"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::second_point_type" ref="598415d10bccaa5b6ccbb000d676d24d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 = Point1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point2 <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; Point1, Point2, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#598415d10bccaa5b6ccbb000d676d24d">second_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00082">82</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b537860f2ca8a4304199974089e7a12e"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::return_type" ref="b537860f2ca8a4304199974089e7a12e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 = Point1, 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#e67b090ee00c9b04117d782331317fdc">calculation_type</a>&gt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; Point1, Point2, 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="distance__pythagoras_8hpp_source.html#l00083">83</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bc6f8d7bab7a9f9a26212c44dc660038"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::apply" ref="bc6f8d7bab7a9f9a26212c44dc660038" args="(Point1 const &amp;p1, Point2 const &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 = Point1, 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; Point1, Point2, CalculationType &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point1 const &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> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00085">85</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, 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; Point, PointOfSegment, 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#6d81e410d42166f77b90dbd6f697e91f">apply</a>(Point const &amp;p, PointOfSegment const &amp;p1, PointOfSegment const &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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#d931f763a1d00938a0214d82c2073554">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; Point, PointOfSegment, 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#4fee10baca3b2e18e9fedaaa3539a8bb">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; Point, PointOfSegment, 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#47ffd27e3db9f743285edbe61e806c69">point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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#0dc84b5bc571f9fae7191d81e6c136d3">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; Point, PointOfSegment, 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#d0dcd9bb293d3fc7afcbdeee1f11154c">segment_point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, Strategy &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point, PointOfSegment, Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance: calculate distance between two geometries</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="classggl_1_1segment.html" title="Class segment: small class 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; Point, PointOfSegment &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d931f763a1d00938a0214d82c2073554">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#4fee10baca3b2e18e9fedaaa3539a8bb">point_strategy_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="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#47ffd27e3db9f743285edbe61e806c69">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
+&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#0dc84b5bc571f9fae7191d81e6c136d3">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">segment_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"><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#6d81e410d42166f77b90dbd6f697e91f">apply</a> (Point const &amp;p, PointOfSegment const &amp;p1, PointOfSegment const &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment, typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&gt;::type &gt;&gt;<br>
+ struct ggl::strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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="classggl_1_1segment.html" title="Class segment: small class 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>PointOfSegment</em>&nbsp;</td><td><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Strategy</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 Strategy:</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(Point,Point) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="distance__projected__point_8hpp_source.html#l00062">62</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="47ffd27e3db9f743285edbe61e806c69"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::point_type" ref="47ffd27e3db9f743285edbe61e806c69" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&gt;::type &gt;&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; Point, PointOfSegment, Strategy &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="distance__projected__point_8hpp_source.html#l00064">64</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d0dcd9bb293d3fc7afcbdeee1f11154c"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::segment_point_type" ref="d0dcd9bb293d3fc7afcbdeee1f11154c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&gt;::type &gt;&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; Point, PointOfSegment, Strategy &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#d0dcd9bb293d3fc7afcbdeee1f11154c">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__projected__point_8hpp_source.html#l00065">65</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d931f763a1d00938a0214d82c2073554"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::coordinate_type" ref="d931f763a1d00938a0214d82c2073554" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&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; Point, PointOfSegment &gt;::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; Point, PointOfSegment, 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="distance__projected__point_8hpp_source.html#l00070">70</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0dc84b5bc571f9fae7191d81e6c136d3"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::return_type" ref="0dc84b5bc571f9fae7191d81e6c136d3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&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; Point, PointOfSegment, 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="distance__projected__point_8hpp_source.html#l00071">71</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4fee10baca3b2e18e9fedaaa3539a8bb"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::point_strategy_type" ref="4fee10baca3b2e18e9fedaaa3539a8bb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&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; Point, PointOfSegment, Strategy &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#4fee10baca3b2e18e9fedaaa3539a8bb">point_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__projected__point_8hpp_source.html#l00073">73</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6d81e410d42166f77b90dbd6f697e91f"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::apply" ref="6d81e410d42166f77b90dbd6f697e91f" args="(Point const &amp;p, PointOfSegment const &amp;p1, PointOfSegment const &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , typename Strategy = pythagoras &lt; Point, typename point_type&lt;PointOfSegment&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; Point, PointOfSegment, Strategy &gt;::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment 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="distance__projected__point_8hpp_source.html#l00076">76</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>
+Strategies are defined 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="strategies_2tags_8hpp_source.html#l00026">26</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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::side_by_triangle Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html">ggl::strategy::side::side_by_triangle</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">apply</a>(P1 const &amp;p1, P2 const &amp;p2, P const &amp;p)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html">ggl::strategy::side::side_by_triangle</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1side__by__triangle.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_1side__by__triangle.html">side_by_triangle</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::side::side_by_triangle Struct Reference</h1><!-- doxytag: class="ggl::strategy::side::side_by_triangle" -->
+<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;typename P1 , typename P2 , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1side__by__triangle.html#55800c65d62ca38716e1a65f30d728e2">apply</a> (P1 const &amp;p1, P2 const &amp;p2, P const &amp;p)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="side__by__triangle_8hpp_source.html#l00030">30</a> of file <a class="el" href="side__by__triangle_8hpp_source.html">side_by_triangle.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="55800c65d62ca38716e1a65f30d728e2"></a><!-- doxytag: member="ggl::strategy::side::side_by_triangle::apply" ref="55800c65d62ca38716e1a65f30d728e2" args="(P1 const &amp;p1, P2 const &amp;p2, P const &amp;p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static int ggl::strategy::side::side_by_triangle::apply </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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P const &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="side__by__triangle_8hpp_source.html#l00040">40</a> of file <a class="el" href="side__by__triangle_8hpp_source.html">side_by_triangle.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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 plane angle: Degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plane angle: 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#l00033">33</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="a5b03bab846c70cc412672c5b8a15a33"></a><!-- doxytag: member="ggl::strategy::transform::inverse_transformer::T" ref="a5b03bab846c70cc412672c5b8a15a33" args="" -->
+<div class="memitem">
+<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#l00036">36</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#l00039">39</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#_a12">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#l00346">346</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#l00348">348</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#l00250">250</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00254">254</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b6de86a8e58ced2952f1fa8674ddba9b"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&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#l00256">256</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#l00258">258</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00270">270</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9e9ba88969a37c5754ca1c3e78cbc369"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&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#l00272">272</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#l00274">274</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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">transform: apply transformations on geometries</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#l00195">195</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00199">199</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="89d70caf72012acdb7186ac75f3efa36"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&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#l00202">202</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#l00206">206</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00218">218</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="0c99fdac62697111b767ecf7c60a5b28"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&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#l00220">220</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#l00222">222</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00103">103</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="d6b0c10cc71f3cd2d4dad47f5c94a9f2"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&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#l00106">106</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#l00107">107</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#l00109">109</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#l00119">119</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, PointOfSegment &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; Tag, PointOfSegment &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__area.html#22b91b88732edf5047b63dc181550bab">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; Tag, PointOfSegment &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, PointOfSegment &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__area.html">area: calculate area of a geometry</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#22b91b88732edf5047b63dc181550bab">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Tag, typename PointOfSegment&gt;<br>
+ struct ggl::strategy_area&lt; Tag, PointOfSegment &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>Tag</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>PointOfSegment</em>&nbsp;</td><td>point-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategies_2area_8hpp_source.html#l00026">26</a> of file <a class="el" href="strategies_2area_8hpp_source.html">area.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="22b91b88732edf5047b63dc181550bab"></a><!-- doxytag: member="ggl::strategy_area::type" ref="22b91b88732edf5047b63dc181550bab" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Tag, typename PointOfSegment&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; Tag, PointOfSegment &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="strategies_2area_8hpp_source.html#l00028">28</a> of file <a class="el" href="strategies_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; CsTag, GeometryTag, Dimension, Point, Geometry &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; CsTag, GeometryTag, Dimension, Point, Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__centroid.html#494f17cb86bea822a4cddf4d713eca91">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; CsTag, GeometryTag, Dimension, Point, Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__centroid.html">centroid: calculate centroid (center of gravity) of a geometry</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#494f17cb86bea822a4cddf4d713eca91">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CsTag, typename GeometryTag, std::size_t Dimension, typename Point, typename Geometry&gt;<br>
+ struct ggl::strategy_centroid&lt; CsTag, GeometryTag, Dimension, Point, Geometry &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>CsTag</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, for specialization </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>GeometryTag</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 geometry, for specialization </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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> of geometry, for specialization </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>Geometry</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategies_2centroid_8hpp_source.html#l00037">37</a> of file <a class="el" href="strategies_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="494f17cb86bea822a4cddf4d713eca91"></a><!-- doxytag: member="ggl::strategy_centroid::type" ref="494f17cb86bea822a4cddf4d713eca91" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CsTag , typename GeometryTag , std::size_t Dimension, typename Point , typename Geometry &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; CsTag, GeometryTag, Dimension, Point, Geometry &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="strategies_2centroid_8hpp_source.html#l00039">39</a> of file <a class="el" href="strategies_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, Direction, Point, CoordinateSystem, Dimension &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; Tag, Direction, Point, CoordinateSystem, Dimension &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__compare.html#b894dd4bfbeed15d0ded5e09a6cab35d">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; Tag, Direction, Point, CoordinateSystem, Dimension &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, Direction, Point, CoordinateSystem, Dimension &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#b894dd4bfbeed15d0ded5e09a6cab35d">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Tag, int Direction, typename Point, typename CoordinateSystem, std::size_t Dimension&gt;<br>
+ struct ggl::strategy_compare&lt; Tag, Direction, Point, CoordinateSystem, Dimension &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>Tag</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>Direction</em>&nbsp;</td><td>direction to compare on: 1 for <a class="el" href="structggl_1_1less.html" title="Less functor, to sort points in ascending order.">less</a> (-&gt; ascending order) and -1 for <a class="el" href="structggl_1_1greater.html" title="Greater functor.">greater</a> (-&gt; descending order) </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>CoordinateSystem</em>&nbsp;</td><td>coordinate sytem 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>Dimension,:</em>&nbsp;</td><td>the <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 on </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategies_2compare_8hpp_source.html#l00047">47</a> of file <a class="el" href="strategies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b894dd4bfbeed15d0ded5e09a6cab35d"></a><!-- doxytag: member="ggl::strategy_compare::type" ref="b894dd4bfbeed15d0ded5e09a6cab35d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Tag , int Direction, typename Point , typename CoordinateSystem , std::size_t Dimension&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; Tag, Direction, Point, CoordinateSystem, Dimension &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="strategies_2compare_8hpp_source.html#l00049">49</a> of file <a class="el" href="strategies_2compare_8hpp_source.html">compare.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, Geometry, Point &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; Tag, Geometry, Point &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__convex__hull.html#ea1634c6de9b2262e12bb89d04d87ef0">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; Tag, Geometry, Point &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, Geometry, Point &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__convex__hull.html">convex hull: calculate the convex hull of a geometry</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#ea1634c6de9b2262e12bb89d04d87ef0">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Tag, typename Geometry, typename Point&gt;<br>
+ struct ggl::strategy_convex_hull&lt; Tag, Geometry, Point &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>Tag</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>Geometry</em>&nbsp;</td><td>the geometry type (hull operates internally per hull over geometry) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em>&nbsp;</td><td>point-type of output points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategies_2convex__hull_8hpp_source.html#l00029">29</a> of file <a class="el" href="strategies_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ea1634c6de9b2262e12bb89d04d87ef0"></a><!-- doxytag: member="ggl::strategy_convex_hull::type" ref="ea1634c6de9b2262e12bb89d04d87ef0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Tag , typename Geometry , typename Point &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; Tag, Geometry, Point &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="strategies_2convex__hull_8hpp_source.html#l00031">31</a> of file <a class="el" href="strategies_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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: calculate distance between two geometries</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="strategies_2distance_8hpp_source.html#l00029">29</a> of file <a class="el" href="strategies_2distance_8hpp_source.html">distance.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="strategies_2distance_8hpp_source.html#l00031">31</a> of file <a class="el" href="strategies_2distance_8hpp_source.html">distance.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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: calculate distance between two geometries</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="classggl_1_1segment.html" title="Class segment: small class 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="strategies_2distance_8hpp_source.html#l00043">43</a> of file <a class="el" href="strategies_2distance_8hpp_source.html">distance.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="strategies_2distance_8hpp_source.html#l00045">45</a> of file <a class="el" href="strategies_2distance_8hpp_source.html">distance.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, CoordinateSystem &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; Tag, CoordinateSystem &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__parse.html#b4de98483bf66e76b42b9855977b1f7f">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag, CoordinateSystem &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_parse" -->Tagraits 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#b4de98483bf66e76b42b9855977b1f7f">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Tag, typename CoordinateSystem&gt;<br>
+ struct ggl::strategy_parse&lt; Tag, CoordinateSystem &gt;</h3>
+
+Tagraits 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>Tag</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>CoordinateSystem</em>&nbsp;</td><td>coordinate system </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="parse_8hpp_source.html#l00027">27</a> of file <a class="el" href="parse_8hpp_source.html">parse.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b4de98483bf66e76b42b9855977b1f7f"></a><!-- doxytag: member="ggl::strategy_parse::type" ref="b4de98483bf66e76b42b9855977b1f7f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Tag , typename CoordinateSystem &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; Tag, CoordinateSystem &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="parse_8hpp_source.html#l00029">29</a> of file <a class="el" href="parse_8hpp_source.html">parse.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag &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; Tag &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__side.html#ca35bb0c9871d4a0af3e8b48297b069f">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; Tag &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Tag &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#ca35bb0c9871d4a0af3e8b48297b069f">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Tag&gt;<br>
+ struct ggl::strategy_side&lt; Tag &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>Tag</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>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="side_8hpp_source.html#l00026">26</a> of file <a class="el" href="side_8hpp_source.html">side.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ca35bb0c9871d4a0af3e8b48297b069f"></a><!-- doxytag: member="ggl::strategy_side::type" ref="ca35bb0c9871d4a0af3e8b48297b069f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Tag&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; Tag &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="side_8hpp_source.html#l00028">28</a> of file <a class="el" href="side_8hpp_source.html">side.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="strategies_2tags_8hpp_source.html#l00037">37</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.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="strategies_2tags_8hpp_source.html#l00039">39</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Point1, Point2 &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_point1_00_01_point2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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_point1_00_01_point2_01_4_01_4.html#dd675bc88ac5740d6c9f43031723595d">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_point1_00_01_point2_01_4_01_4.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_point1_00_01_point2_01_4_01_4.html">strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &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_point1_00_01_point2_01_4_01_4.html#dd675bc88ac5740d6c9f43031723595d">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point1, typename Point2&gt;<br>
+ struct ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="distance__pythagoras_8hpp_source.html#l00120">120</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="dd675bc88ac5740d6c9f43031723595d"></a><!-- doxytag: member="ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; Point1, Point2 &gt; &gt;::type" ref="dd675bc88ac5740d6c9f43031723595d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 &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; Point1, Point2 &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="distance__pythagoras_8hpp_source.html#l00122">122</a> of file <a class="el" href="distance__pythagoras_8hpp_source.html">distance_pythagoras.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point1103f4e3589bce477179b9c8b5adc995.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point1103f4e3589bce477179b9c8b5adc995.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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, PointOfSegment, 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_point44a0bc328e7ec9bd6c5d771967a8f024.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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_point44a0bc328e7ec9bd6c5d771967a8f024.html#3515926c242d21611cb08cbefa51ecf2">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_point44a0bc328e7ec9bd6c5d771967a8f024.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_point44a0bc328e7ec9bd6c5d771967a8f024.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_point44a0bc328e7ec9bd6c5d771967a8f024.html">strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, 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_point44a0bc328e7ec9bd6c5d771967a8f024.html#3515926c242d21611cb08cbefa51ecf2">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename PointOfSegment, typename PPStrategy&gt;<br>
+ struct ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="distance__projected__point_8hpp_source.html#l00158">158</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="3515926c242d21611cb08cbefa51ecf2"></a><!-- doxytag: member="ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, PointOfSegment, PPStrategy &gt; &gt;::type" ref="3515926c242d21611cb08cbefa51ecf2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename PointOfSegment , 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, PointOfSegment, 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="distance__projected__point_8hpp_source.html#l00160">160</a> of file <a class="el" href="distance__projected__point_8hpp_source.html">distance_projected_point.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="strategies_2tags_8hpp_source.html#l00033">33</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="strategies_2tags_8hpp_source.html#l00034">34</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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="strategies_2tags_8hpp_source.html#l00032">32</a> of file <a class="el" href="strategies_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__transform.html#78fbee09e5f72af93b026bc767cc51a9">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transform: apply transformations on geometries</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#78fbee09e5f72af93b026bc767cc51a9">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CoordinateSystemTag1, typename CoordinateSystemTag2, typename CoordinateSystem1, typename CoordinateSystem2, std::size_t Dimension1, std::size_t Dimension2, typename Point1, typename Point2&gt;<br>
+ struct ggl::strategy_transform&lt; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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>CoordinateSystemTag</em>&nbsp;</td><td>1,2 coordinate system tags </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>CoordinateSystem</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>Point</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="strategies_2transform_8hpp_source.html#l00041">41</a> of file <a class="el" href="strategies_2transform_8hpp_source.html">transform.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="78fbee09e5f72af93b026bc767cc51a9"></a><!-- doxytag: member="ggl::strategy_transform::type" ref="78fbee09e5f72af93b026bc767cc51a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CoordinateSystemTag1 , typename CoordinateSystemTag2 , typename CoordinateSystem1 , typename CoordinateSystem2 , std::size_t Dimension1, std::size_t Dimension2, typename Point1 , typename Point2 &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; CoordinateSystemTag1, CoordinateSystemTag2, CoordinateSystem1, CoordinateSystem2, Dimension1, Dimension2, Point1, Point2 &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="strategies_2transform_8hpp_source.html#l00043">43</a> of file <a class="el" href="strategies_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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; TagPoint, TagSegment, Point, PointOfSegment &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; TagPoint, TagSegment, Point, PointOfSegment &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__within.html#d685ccea0fdfa028a84bf463a29885da">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; TagPoint, TagSegment, Point, PointOfSegment &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__within.html">within: detect if a geometry is inside another geometry, a.o. point-in-polygon</a>]</small>
+</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#d685ccea0fdfa028a84bf463a29885da">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename TagPoint, typename TagSegment, typename Point, typename PointOfSegment&gt;<br>
+ struct ggl::strategy_within&lt; TagPoint, TagSegment, Point, PointOfSegment &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>TagPoint</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>TagSegment</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>Point</em>&nbsp;</td><td>point-type of input points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</em>&nbsp;</td><td>point-type of input segment-points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="point__in__poly_8hpp_source.html#l00027">27</a> of file <a class="el" href="point__in__poly_8hpp_source.html">point_in_poly.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="d685ccea0fdfa028a84bf463a29885da"></a><!-- doxytag: member="ggl::strategy_within::type" ref="d685ccea0fdfa028a84bf463a29885da" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TagPoint , typename TagSegment , typename Point , typename PointOfSegment &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; TagPoint, TagSegment, Point, PointOfSegment &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="point__in__poly_8hpp_source.html#l00029">29</a> of file <a class="el" href="point__in__poly_8hpp_source.html">point_in_poly.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00075">75</a> of file <a class="el" href="core_2topological__dimension_8hpp_source.html">topological_dimension.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry, Dimension &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 Geometry, std::size_t Dimension&gt;<br>
+ struct ggl::traits::access&lt; Geometry, Dimension &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></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide, per Dimension</b></dt><dd><ul>
+<li>static inline T get(const G&amp;)</li><li>static inline void set(G&amp;, T const&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>Geometry</em>&nbsp;</td><td>geometry-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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> to <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00068">68</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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_00_01_dimension_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/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_00_01_dimension_01_4-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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;, Dimension &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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">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_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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_00_01_dimension_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/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_00_01_dimension_01_4.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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_00_01_dimension_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &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 <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>&lt; P &gt;::type&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_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">get</a> (ggl::detail::intersection::intersection_point&lt; P &gt; const &amp;p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&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_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">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, std::size_t Dimension&gt;<br>
+ struct ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00219">219</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="82a62232a7a2092e0a3850771871e9ee"></a><!-- doxytag: member="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;::get" ref="82a62232a7a2092e0a3850771871e9ee" 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 , std::size_t Dimension&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;, Dimension &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#l00221">221</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="840ddd0e5e5719de54570e292d17cfb0"></a><!-- doxytag: member="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;::set" ref="840ddd0e5e5719de54570e292d17cfb0" 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 , std::size_t Dimension&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;, Dimension &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#l00227">227</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry, Point &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 Geometry, typename Point&gt;<br>
+ struct ggl::traits::append_point&lt; Geometry, Point &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>apply </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00139">139</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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 Geometry&gt;<br>
+ struct ggl::traits::clear&lt; Geometry &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="access_8hpp_source.html#l00122">122</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00202">202</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#l00204">204</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#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="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#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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00124">124</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00208">208</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Polygon &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 Polygon&gt;<br>
+ struct ggl::traits::exterior_ring&lt; Polygon &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>Polygon</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> type </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#l00040">40</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry, Index, Dimension &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 Geometry, std::size_t Index, std::size_t Dimension&gt;<br>
+ struct ggl::traits::indexed_access&lt; Geometry, Index, Dimension &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>Geometry</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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Index</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="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension</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="classggl_1_1segment.html" title="Class segment: small class 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;, T const&amp;) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00086">86</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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 Geometry&gt;<br>
+ struct ggl::traits::interior_rings&lt; Geometry &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>Geometry</em>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00056">56</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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 Geometry&gt;<br>
+ struct ggl::traits::interior_type&lt; Geometry &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 X type ( e.g. std::vector&lt;myring&lt;P&gt;&gt; ) </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="interior__rings_8hpp_source.html#l00040">40</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::point_order&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a></td><td><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order&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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>::<a class="el" href="structggl_1_1traits_1_1point__order.html">point_order</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::point_order&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_order" -->Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = clockwise</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::point_order&lt; G &gt;</h3>
+
+Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>ring</li><li><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></li><li>multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef P type (where P should fulfil the Point <a class="el" href="namespaceggl_1_1concept.html">concept</a>) </li></ul>
+</dd></dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00039">39</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="e9e3962e6119b95889eaa2b810395037"></a><!-- doxytag: member="ggl::traits::point_order::value" ref="e9e3962e6119b95889eaa2b810395037" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order</a>&lt; G &gt;::<a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = clockwise<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00041">41</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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 Geometry&gt;<br>
+ struct ggl::traits::ring_type&lt; Geometry &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>Geometry</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/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/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-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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#l00213">213</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#l00215">215</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">value</a></td><td><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; Geometry &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <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; Geometry &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#53e09180303edd2ec2735f749db2305d">value</a> = true</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::traits::use_std&lt; Geometry &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#l00103">103</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="53e09180303edd2ec2735f749db2305d"></a><!-- doxytag: member="ggl::traits::use_std::value" ref="53e09180303edd2ec2735f749db2305d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &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; Geometry &gt;::<a class="el" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">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#l00105">105</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tabs.css
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tabs.css 2009-11-04 12:51:44 EST (Wed, 04 Nov 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/libs/ggl/doc/doxygen_output/html/tag_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tag_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">#include &lt;<a class="code" href="side_8hpp.html">ggl/strategies/side.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/write_wkt.hpp&gt;</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="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_DETAIL</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>intersection {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_NONE = 0;
+<a name="l00038"></a>00038 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_START = 1;
+<a name="l00039"></a>00039 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_VISITED = 2;
+<a name="l00040"></a>00040 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_FINISH = 3;
+<a name="l00041"></a>00041 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_WITHIN = 4;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">template</span>
+<a name="l00045"></a>00045 &lt;
+<a name="l00046"></a>00046 <span class="keyword">typename</span> IntersectionPoint,
+<a name="l00047"></a>00047 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00048"></a>00048 &gt;
+<a name="l00049"></a>00049 <span class="keyword">struct </span>on_direction
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_side
+<a name="l00052"></a>00052 &lt;
+<a name="l00053"></a>00053 <span class="keyword">typename</span> cs_tag&lt;IntersectionPoint&gt;::type
+<a name="l00054"></a>00054 &gt;::type side;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">inline</span> on_direction(IntersectionPoint <span class="keyword">const</span>&amp; ip, <span class="keywordtype">int</span> direction)
+<a name="l00057"></a>00057 : m_ip(ip)
+<a name="l00058"></a>00058 , m_direction(direction)
+<a name="l00059"></a>00059 {}
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <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="l00063"></a>00063 <span class="keyword"> </span>{
+<a name="l00064"></a>00064 <span class="keywordtype">int</span> dir = side::apply(m_ip, first-&gt;other_point, second-&gt;other_point);
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> m_direction == dir;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">private</span> :
+<a name="l00069"></a>00069 IntersectionPoint <span class="keyword">const</span>&amp; m_ip;
+<a name="l00070"></a>00070 <span class="keywordtype">int</span> m_direction;
+<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>
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 <span class="keyword">typename</span> GeometryOut,
+<a name="l00077"></a>00077 <span class="keyword">typename</span> G1,
+<a name="l00078"></a>00078 <span class="keyword">typename</span> G2,
+<a name="l00079"></a>00079 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00080"></a>00080 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00081"></a>00081 &gt;
+<a name="l00082"></a>00082 <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="l00083"></a>00083 IntersectionPoints&amp; intersection_points,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00085"></a>00085 GeometryOut&amp; current_output,
+<a name="l00086"></a>00086 IntersectionInfo &amp; info)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 info.visit_code = VISIT_VISITED;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">" take: "</span> &lt;&lt; info &lt;&lt; std::endl;
+<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
+<a name="l00094"></a>00094 <span class="comment">// If there is no next IP on this segment</span>
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (info.next_ip_index &lt; 0)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g1, info.seg_id,
+<a name="l00100"></a>00100 info.travels_to_vertex_index,
+<a name="l00101"></a>00101 current_output);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 <span class="keywordflow">else</span>
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g2, info.seg_id,
+<a name="l00106"></a>00106 info.travels_to_vertex_index,
+<a name="l00107"></a>00107 current_output);
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 ip = boost::begin(intersection_points) + info.travels_to_ip_index;
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 <span class="keywordflow">else</span>
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 ip = boost::begin(intersection_points) + info.next_ip_index;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 current_output.push_back(ip-&gt;point);
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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> Info&gt;
+<a name="l00121"></a>00121 <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="l00122"></a>00122 {
+<a name="l00123"></a>00123 <span class="comment">// If it is turning in specified direction (RIGHT for intersection,</span>
+<a name="l00124"></a>00124 <span class="comment">// LEFT for union, and NOT arriving at that point</span>
+<a name="l00125"></a>00125 <span class="keywordflow">return</span> info.direction == direction
+<a name="l00126"></a>00126 &amp;&amp; info.arrival != 1
+<a name="l00127"></a>00127 <span class="comment">//&amp;&amp; (! (info.how == 'a' &amp;&amp; info.direction != 0))</span>
+<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>
+<a name="l00132"></a>00132 &lt;
+<a name="l00133"></a>00133 <span class="keyword">typename</span> GeometryOut,
+<a name="l00134"></a>00134 <span class="keyword">typename</span> G1,
+<a name="l00135"></a>00135 <span class="keyword">typename</span> G2,
+<a name="l00136"></a>00136 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00137"></a>00137 &gt;
+<a name="l00138"></a>00138 <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="l00139"></a>00139 IntersectionPoints&amp; intersection_points,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00141"></a>00141 GeometryOut&amp; current_output)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="comment">// Check all intersecting segments on this IP:</span>
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type ip_type;
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00146"></a>00146 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;tv&gt;::type tit_type;
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip-&gt;info); it != boost::end(ip-&gt;info); ++it)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00153"></a>00153 intersection_points, ip, current_output, *it);
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="keyword">template</span>
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 <span class="keyword">typename</span> GeometryOut,
+<a name="l00164"></a>00164 <span class="keyword">typename</span> G1,
+<a name="l00165"></a>00165 <span class="keyword">typename</span> G2,
+<a name="l00166"></a>00166 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00167"></a>00167 &gt;
+<a name="l00168"></a>00168 <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="l00169"></a>00169 <span class="keywordtype">int</span> direction,
+<a name="l00170"></a>00170 IntersectionPoints&amp; intersection_points,
+<a name="l00171"></a>00171 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00172"></a>00172 GeometryOut&amp; current_output)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type ip_type;
+<a name="l00176"></a>00176 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00177"></a>00177 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;tv&gt;::type tit_type;
+<a name="l00178"></a>00178 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 std::vector&lt;info_type*&gt; info;
+<a name="l00181"></a>00181 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip-&gt;info); it != boost::end(ip-&gt;info); ++it)
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 info.push_back(&amp;(*it));
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="comment">// If there are no intersection points, fall-back to collinear cases or</span>
+<a name="l00190"></a>00190 <span class="comment">// if already in that case, return false.</span>
+<a name="l00191"></a>00191 <span class="keywordflow">if</span> (boost::size(info) == 0)
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> direction == 0
+<a name="l00194"></a>00194 ? <span class="keyword">false</span>
+<a name="l00195"></a>00195 : select_next_ip_with_sorting(g1, g2, 0,
+<a name="l00196"></a>00196 intersection_points, ip, current_output);
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="comment">// For one IP, it is easy: take that one.</span>
+<a name="l00200"></a>00200 <span class="keywordflow">if</span> (boost::size(info) == 1)
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00203"></a>00203 intersection_points, ip, current_output, *info.front());
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="comment">// In case of direction 0, also take first one</span>
+<a name="l00207"></a>00207 <span class="comment">// TODO: sort this vector somehow, there are more rows, it is too</span>
+<a name="l00208"></a>00208 <span class="comment">// arbitrary to take first one (though working well)</span>
+<a name="l00209"></a>00209 <span class="keywordflow">if</span> (direction == 0)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00212"></a>00212 intersection_points, ip, current_output, *info.front());
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="comment">// For more, sort the information on direction, take the most left / right one</span>
+<a name="l00217"></a>00217 <span class="comment">//std::cout &lt;&lt; " " &lt;&lt; boost::size(info);</span>
+<a name="l00218"></a>00218 std::sort(info.begin(), info.end(), on_direction&lt;ip_type, info_type*&gt;(*ip, direction));
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction, intersection_points, ip, current_output, *info.back());
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span>
+<a name="l00223"></a>00223 &lt;
+<a name="l00224"></a>00224 <span class="keyword">typename</span> GeometryOut,
+<a name="l00225"></a>00225 <span class="keyword">typename</span> G1,
+<a name="l00226"></a>00226 <span class="keyword">typename</span> G2,
+<a name="l00227"></a>00227 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00228"></a>00228 &gt;
+<a name="l00229"></a>00229 <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="l00230"></a>00230 IntersectionPoints&amp; intersection_points,
+<a name="l00231"></a>00231 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00232"></a>00232 GeometryOut&amp; current_output)
+<a name="l00233"></a>00233 {
+<a name="l00234"></a>00234 <span class="keywordflow">if</span> (ip-&gt;trivial)
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236 <span class="keywordflow">return</span> select_next_ip_trivial(g1, g2, direction, intersection_points,
+<a name="l00237"></a>00237 ip, current_output);
+<a name="l00238"></a>00238 }
+<a name="l00239"></a>00239 <span class="keywordflow">else</span>
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241 <span class="keywordflow">return</span> select_next_ip_with_sorting(g1, g2, direction, intersection_points,
+<a name="l00242"></a>00242 ip, current_output);
+<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="keyword">template</span>&lt;<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>&gt;
+<a name="l00248"></a>00248 <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="l00249"></a>00249 {
+<a name="l00250"></a>00250 <span class="keywordflow">for</span> (<span class="keyword">typename</span> IntersectionPoint::traversal_vector::const_iterator it
+<a name="l00251"></a>00251 = boost::begin(ip.info); it != boost::end(ip.info); ++it)
+<a name="l00252"></a>00252 {
+<a name="l00253"></a>00253 <span class="keywordflow">if</span> (it-&gt;direction == direction
+<a name="l00254"></a>00254 &amp;&amp; it-&gt;arrival != 1)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00257"></a>00257 }
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00260"></a>00260 }
+<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> Container&gt;
+<a name="l00264"></a>00264 <span class="keyword">inline</span> <span class="keywordtype">void</span> stop_gracefully(Container&amp; container, <span class="keywordtype">bool</span>&amp; stop,
+<a name="l00265"></a>00265 std::string <span class="keyword">const</span>&amp; reason)
+<a name="l00266"></a>00266 {
+<a name="l00267"></a>00267 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"STOPPING: "</span> &lt;&lt; reason &lt;&lt; std::endl;
+<a name="l00269"></a>00269 <span class="preprocessor">#endif</span>
+<a name="l00270"></a>00270 <span class="preprocessor"></span>
+<a name="l00271"></a>00271 stop = <span class="keyword">true</span>;
+<a name="l00272"></a>00272 <span class="keywordflow">if</span> (container.size() &gt; 0)
+<a name="l00273"></a>00273 {
+<a name="l00274"></a>00274 container.push_back(container.front());
+<a name="l00275"></a>00275 }
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00279"></a>00279 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00280"></a>00280 <span class="preprocessor"></span>
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285
+<a name="l00290"></a>00290 <span class="keyword">template</span>
+<a name="l00291"></a>00291 &lt;
+<a name="l00292"></a>00292 <span class="keyword">typename</span> GeometryOut,
+<a name="l00293"></a>00293 <span class="keyword">typename</span> Geometry1,
+<a name="l00294"></a>00294 <span class="keyword">typename</span> Geometry2,
+<a name="l00295"></a>00295 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00296"></a>00296 <span class="keyword">typename</span> OutputIterator
+<a name="l00297"></a>00297 &gt;
+<a name="l00298"></a><a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">00298</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="l00299"></a>00299 Geometry2 <span class="keyword">const</span>&amp; geometry2, <span class="keywordtype">int</span> direction,
+<a name="l00300"></a>00300 IntersectionPoints&amp; intersection_points,
+<a name="l00301"></a>00301 <span class="keywordtype">bool</span> trivial,
+<a name="l00302"></a>00302 OutputIterator out)
+<a name="l00303"></a>00303 {
+<a name="l00304"></a>00304 concept::check&lt;const Geometry1&gt;();
+<a name="l00305"></a>00305 concept::check&lt;const Geometry2&gt;();
+<a name="l00306"></a>00306
+<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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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> CoordinateType&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>coordinate_type&lt;boost::tuple&lt;CoordinateType, CoordinateType&gt; &gt;
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> CoordinateType 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> CoordinateType&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;CoordinateType, CoordinateType&gt; &gt;
+<a name="l00035"></a>00035 : boost::mpl::int_&lt;2&gt;
+<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> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>access
+<a name="l00040"></a>00040 &lt;
+<a name="l00041"></a>00041 boost::tuple&lt;CoordinateType, CoordinateType&gt;,
+<a name="l00042"></a>00042 Dimension
+<a name="l00043"></a>00043 &gt;
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(
+<a name="l00046"></a>00046 boost::tuple&lt;CoordinateType, CoordinateType&gt; <span class="keyword">const</span>&amp; point)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> point.template get&lt;Dimension&gt;();
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(boost::tuple&lt;CoordinateType, CoordinateType&gt;&amp; point,
+<a name="l00052"></a>00052 CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 point.template get&lt;Dimension&gt;() = value;
+<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> CoordinateType&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>tag&lt;boost::tuple&lt;CoordinateType, CoordinateType&gt; &gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> point_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="comment">// boost::tuple, 3D</span>
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>coordinate_type
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 boost::tuple&lt;CoordinateType, CoordinateType, CoordinateType&gt;
+<a name="l00069"></a>00069 &gt;
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> CoordinateType type;
+<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> CoordinateType&gt;
+<a name="l00075"></a>00075 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;boost::tuple&lt;CoordinateType, CoordinateType, CoordinateType&gt; &gt;
+<a name="l00076"></a>00076 : boost::mpl::int_&lt;3&gt;
+<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> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>access
+<a name="l00081"></a>00081 &lt;
+<a name="l00082"></a>00082 boost::tuple&lt;CoordinateType, CoordinateType, CoordinateType&gt;,
+<a name="l00083"></a>00083 Dimension
+<a name="l00084"></a>00084 &gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(
+<a name="l00087"></a>00087 boost::tuple
+<a name="l00088"></a>00088 &lt;
+<a name="l00089"></a>00089 CoordinateType, CoordinateType, CoordinateType
+<a name="l00090"></a>00090 &gt; <span class="keyword">const</span>&amp; point)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> point.template get&lt;Dimension&gt;();
+<a name="l00093"></a>00093 }
+<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> <span class="keyword">set</span>(
+<a name="l00096"></a>00096 boost::tuple&lt;CoordinateType, CoordinateType, CoordinateType&gt;&amp; point,
+<a name="l00097"></a>00097 CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 point.template get&lt;Dimension&gt;() = value;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 };
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType&gt;
+<a name="l00104"></a>00104 <span class="keyword">struct </span>tag&lt;boost::tuple&lt;CoordinateType, CoordinateType, CoordinateType&gt; &gt;
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> point_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00107"></a>00107 };
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// The library user has</span>
+<a name="l00110"></a>00110 <span class="comment">// 1) either to specify the coordinate system using a traits class</span>
+<a name="l00111"></a>00111 <span class="comment">// 2) or include &lt;ggl/geometries/adapted/tuple__at_.hpp&gt; </span>
+<a name="l00112"></a>00112 <span class="comment">// where @=cartesian,geographic,...</span>
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace traits</span>
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117 } <span class="comment">// namespace ggl</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_GEOMETRIES_ADAPTED_TUPLE_HPP</span>
+<a name="l00120"></a>00120 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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_GEOMETRIES_ADAPTED_TUPLE_CARTESIAN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_ADAPTED_TUPLE_CARTESIAN_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#ifdef GGL_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>00017 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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="Meta-function 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="classggl_1_1segment.html" title="Class segment: small class 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="classggl_1_1segment.html" title="Class segment: small class 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="classggl_1_1segment.html" title="Class segment: small class 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="classggl_1_1segment.html" title="Class segment: small class 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/union.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__union.html#gad3ab1d71c3997edad12f94764616988">ggl::union_inserter</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines two geometries which each other. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/union_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/algorithms/union.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_UNION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_UNION_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
+<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 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="assemble_8hpp.html">ggl/algorithms/overlay/assemble.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="sort__interior__rings_8hpp.html">ggl/algorithms/overlay/sort_interior_rings.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<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
+<a name="l00052"></a>00052 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>overlay {
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Specializations for "take_one" for union</span>
+<a name="l00057"></a>00057 <span class="comment">// "one" should be the outer one, containing the inner one</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="comment">// for ring and box</span>
+<a name="l00060"></a>00060 <span class="keyword">template</span>
+<a name="l00061"></a>00061 &lt;
+<a name="l00062"></a>00062 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Geometry1,
+<a name="l00063"></a>00063 <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Geometry2,
+<a name="l00064"></a>00064 <span class="keyword">typename</span> GeometryOut
+<a name="l00065"></a>00065 &gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>take_if_1_is_in_2&lt;Tag1, Geometry1, Tag2, Geometry2, GeometryOut, 1&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(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00069"></a>00069 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00070"></a>00070 GeometryOut&amp; out
+<a name="l00071"></a>00071 )
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(geometry2, out);
+<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">// spcialize more for polygons</span>
+<a name="l00079"></a>00079 <span class="keyword">template</span>
+<a name="l00080"></a>00080 &lt;
+<a name="l00081"></a>00081 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Geometry1,
+<a name="l00082"></a>00082 <span class="keyword">typename</span> Geometry2,
+<a name="l00083"></a>00083 <span class="keyword">typename</span> GeometryOut
+<a name="l00084"></a>00084 &gt;
+<a name="l00085"></a>00085 <span class="keyword">struct </span>take_if_1_is_in_2&lt;Tag1, Geometry1, polygon_tag, Geometry2, GeometryOut, 1&gt;
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00088"></a>00088 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00089"></a>00089 GeometryOut&amp; out
+<a name="l00090"></a>00090 )
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(<a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(geometry2), out);
+<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="keyword">template</span>
+<a name="l00098"></a>00098 &lt;
+<a name="l00099"></a>00099 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> GeometryOut, <span class="keyword">typename</span> Container
+<a name="l00100"></a>00100 &gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>add_holes&lt;polygon_tag, Geometry, GeometryOut, Container, 1&gt;
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00104"></a>00104 GeometryOut&amp; out,
+<a name="l00105"></a>00105 Container <span class="keyword">const</span>&amp; holes
+<a name="l00106"></a>00106 )
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 std::vector&lt;sortable&gt; v;
+<a name="l00109"></a>00109 sort_interior_rings(holes, v, -1);
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="comment">// For a union, if a ring is containing an inner ring, don't take the outer</span>
+<a name="l00112"></a>00112 <span class="comment">// but leave to the inners.</span>
+<a name="l00113"></a>00113 <span class="comment">// If the inner is lying in geometry2, don't add it</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 std::size_t <span class="keyword">const</span> n = boost::size(v);
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keywordflow">for</span> (std::size_t i = 0; i &lt; n; i++)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="comment">// So, only if no inners:</span>
+<a name="l00120"></a>00120 <span class="keywordflow">if</span> (boost::size(v[i].index_of_holes) == 0)
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keywordtype">bool</span> add = v[i].index_of_parent &gt;= 0;
+<a name="l00123"></a>00123 <span class="keywordflow">if</span> (! add)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <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;
+<a name="l00126"></a>00126 <a class="code" href="group__utility.html#ge415174744cad8935889144cc286a0fb" title="Take point on a border.">ggl::point_on_border</a>(holes[v[i].index], point);
+<a name="l00127"></a>00127 add = ! <a class="code" href="group__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">ggl::within</a>(point, geometry);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (add)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keyword">typename</span> ring_type&lt;GeometryOut&gt;::type hole;
+<a name="l00132"></a>00132 <a class="code" href="group__convert.html#gbfc62905cd1defe17d9547c4d60e1347" title="Converts one geometry to another geometry.">ggl::convert</a>(holes[v[i].index], hole);
+<a name="l00133"></a>00133 <a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">ggl::interior_rings</a>(out).push_back(hole);
+<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 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="comment">// "none or both" should be both</span>
+<a name="l00143"></a>00143 <span class="keyword">template</span>
+<a name="l00144"></a>00144 &lt;
+<a name="l00145"></a>00145 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00146"></a>00146 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00147"></a>00147 &gt;
+<a name="l00148"></a>00148 <span class="keyword">struct </span>take_none_or_both&lt;Geometry1, Geometry2, OutputIterator, GeometryOut, 1&gt;
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00151"></a>00151 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00152"></a>00152 OutputIterator out
+<a name="l00153"></a>00153 )
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 convert_and_output&lt;GeometryOut&gt;(geometry1, out);
+<a name="l00156"></a>00156 convert_and_output&lt;GeometryOut&gt;(geometry2, 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="comment">// namespace detail::overlay</span>
+<a name="l00162"></a>00162 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00163"></a>00163 <span class="preprocessor"></span>
+<a name="l00164"></a>00164
+<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>
+<a name="l00171"></a>00171 &lt;
+<a name="l00172"></a>00172 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
+<a name="l00173"></a>00173 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00174"></a>00174 <span class="keyword">typename</span> OutputIterator,
+<a name="l00175"></a>00175 <span class="keyword">typename</span> GeometryOut
+<a name="l00176"></a>00176 &gt;
+<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__union.html#gad3ab1d71c3997edad12f94764616988" title="Combines two geometries which each other.">union_inserter</a>
+<a name="l00178"></a>00178 : detail::overlay::overlay_and_assemble
+<a name="l00179"></a>00179 &lt;G1, G2, OutputIterator, GeometryOut, 1&gt;
+<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 <span class="keyword">template</span>
+<a name="l00185"></a>00185 &lt;
+<a name="l00186"></a>00186 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
+<a name="l00187"></a>00187 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00188"></a>00188 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00189"></a>00189 &gt;
+<a name="l00190"></a>00190 <span class="keyword">struct </span>union_inserter_reversed
+<a name="l00191"></a>00191 {
+<a name="l00192"></a>00192 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry1 <span class="keyword">const</span>&amp; g1,
+<a name="l00193"></a>00193 Geometry2 <span class="keyword">const</span>&amp; g2, OutputIterator out)
+<a name="l00194"></a>00194 {
+<a name="l00195"></a>00195 <span class="keywordflow">return</span> <a class="code" href="group__union.html#gad3ab1d71c3997edad12f94764616988" title="Combines two geometries which each other.">union_inserter</a>
+<a name="l00196"></a>00196 &lt;
+<a name="l00197"></a>00197 GeometryTag2, GeometryTag1, GeometryTag3,
+<a name="l00198"></a>00198 Geometry2, Geometry1,
+<a name="l00199"></a>00199 OutputIterator, GeometryOut
+<a name="l00200"></a>00200 &gt;::apply(g2, g1, out);
+<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 dispatch</span>
+<a name="l00206"></a>00206 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span>
+<a name="l00208"></a>00208
+<a name="l00221"></a>00221 <span class="keyword">template</span>
+<a name="l00222"></a>00222 &lt;
+<a name="l00223"></a>00223 <span class="keyword">typename</span> GeometryOut,
+<a name="l00224"></a>00224 <span class="keyword">typename</span> Geometry1,
+<a name="l00225"></a>00225 <span class="keyword">typename</span> Geometry2,
+<a name="l00226"></a>00226 <span class="keyword">typename</span> OutputIterator
+<a name="l00227"></a>00227 &gt;
+<a name="l00228"></a><a class="code" href="group__union.html#gad3ab1d71c3997edad12f94764616988">00228</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__union.html#gad3ab1d71c3997edad12f94764616988" title="Combines two geometries which each other.">union_inserter</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00229"></a>00229 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00230"></a>00230 OutputIterator out)
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 concept::check&lt;const Geometry1&gt;();
+<a name="l00233"></a>00233 concept::check&lt;const Geometry2&gt;();
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00236"></a>00236 &lt;
+<a name="l00237"></a>00237 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00238"></a>00238 dispatch::union_inserter_reversed
+<a name="l00239"></a>00239 &lt;
+<a name="l00240"></a>00240 <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="l00241"></a>00241 <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="l00242"></a>00242 <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="l00243"></a>00243 Geometry1,
+<a name="l00244"></a>00244 Geometry2,
+<a name="l00245"></a>00245 OutputIterator, GeometryOut
+<a name="l00246"></a>00246 &gt;,
+<a name="l00247"></a>00247 <a class="code" href="group__union.html#gad3ab1d71c3997edad12f94764616988" title="Combines two geometries which each other.">dispatch::union_inserter</a>
+<a name="l00248"></a>00248 &lt;
+<a name="l00249"></a>00249 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type,
+<a name="l00250"></a>00250 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type,
+<a name="l00251"></a>00251 <span class="keyword">typename</span> tag&lt;GeometryOut&gt;::type,
+<a name="l00252"></a>00252 Geometry1,
+<a name="l00253"></a>00253 Geometry2,
+<a name="l00254"></a>00254 OutputIterator, GeometryOut
+<a name="l00255"></a>00255 &gt;
+<a name="l00256"></a>00256 &gt;::type::apply(geometry1, geometry2, out);
+<a name="l00257"></a>00257 }
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260 } <span class="comment">// ggl</span>
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="preprocessor">#endif //GGL_ALGORITHMS_UNION_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/within_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy&lt; Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/ggl/strategies/concepts/within_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Strategy&gt;
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_within_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">WithinStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef DOXYGEN_NO_CONCEPT_MEMBERS</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="comment">// 1) must define state_type,</span>
+<a name="l00029"></a>00029 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// 2) must define point_type (of "point" in poly)</span>
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">struct </span>check_methods
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Strategy <span class="keyword">const</span>* str;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 state_type* st;
+<a name="l00045"></a>00045 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>* p;
+<a name="l00046"></a>00046 spoint_type <span class="keyword">const</span>* sp;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// 4) must implement a method apply</span>
+<a name="l00049"></a>00049 <span class="comment">// having a point, two segment-points, and state</span>
+<a name="l00050"></a>00050 str-&gt;apply(*p, *sp, *sp, *st);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// 5) must implement a method result</span>
+<a name="l00053"></a>00053 <span class="keywordtype">bool</span> r = str-&gt;result(*st);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 boost::ignore_unused_variable_warning(r);
+<a name="l00056"></a>00056 boost::ignore_unused_variable_warning(str);
+<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">public</span> :
+<a name="l00062"></a>00062 BOOST_CONCEPT_USAGE(<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">WithinStrategy</a>)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 check_methods::apply();
+<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
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>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">detail::dsv::dsv_manipulator<br class="typebreak">
+&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 2009)
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_UTIL_WRITE_DSV_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_WRITE_DSV_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;string&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="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<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="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="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <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__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>stream_coordinate
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00071"></a>00071 <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="l00072"></a>00072 Point <span class="keyword">const</span>&amp; point,
+<a name="l00073"></a>00073 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 os &lt;&lt; (Dimension &gt; 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00076"></a>00076 &lt;&lt; get&lt;Dimension&gt;(point);
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 stream_coordinate
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 Point, Dimension + 1, Count
+<a name="l00081"></a>00081 &gt;::apply(os, point, settings);
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span>stream_coordinate&lt;Point, Count, Count&gt;
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp;,
+<a name="l00090"></a>00090 Point <span class="keyword">const</span>&amp;,
+<a name="l00091"></a>00091 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00092"></a>00092 {}
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095
+<a name="l00099"></a>00099 <span class="keyword">template</span>
+<a name="l00100"></a>00100 &lt;
+<a name="l00101"></a>00101 <span class="keyword">typename</span> Geometry,
+<a name="l00102"></a>00102 std::size_t Index,
+<a name="l00103"></a>00103 std::size_t Dimension,
+<a name="l00104"></a>00104 std::size_t Count
+<a name="l00105"></a>00105 &gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span>stream_indexed
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00109"></a>00109 <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="l00110"></a>00110 Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00111"></a>00111 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 os &lt;&lt; (Dimension &gt; 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00114"></a>00114 &lt;&lt; get&lt;Index, Dimension&gt;(geometry);
+<a name="l00115"></a>00115 stream_indexed
+<a name="l00116"></a>00116 &lt;
+<a name="l00117"></a>00117 Geometry, Index, Dimension + 1, Count
+<a name="l00118"></a>00118 &gt;::apply(os, geometry, settings);
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 };
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00123"></a>00123 <span class="keyword">struct </span>stream_indexed&lt;Geometry, Index, Count, Count&gt;
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00126"></a>00126 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp;, Geometry <span class="keyword">const</span>&amp;,
+<a name="l00127"></a>00127 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00128"></a>00128 {}
+<a name="l00129"></a>00129 };
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00139"></a>00139 <span class="keyword">struct </span>dsv_point
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00142"></a>00142 <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="l00143"></a>00143 Point <span class="keyword">const</span>&amp; p,
+<a name="l00144"></a>00144 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 os &lt;&lt; settings.point_open;
+<a name="l00147"></a>00147 stream_coordinate&lt;Point, 0, dimension&lt;Point&gt;::type::value&gt;::apply(os, p, settings);
+<a name="l00148"></a>00148 os &lt;&lt; settings.point_close;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 };
+<a name="l00151"></a>00151
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00157"></a>00157 <span class="keyword">struct </span>dsv_range
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00160"></a>00160 <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="l00161"></a>00161 Range <span class="keyword">const</span>&amp; range,
+<a name="l00162"></a>00162 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 os &lt;&lt; settings.list_open;
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
+<a name="l00171"></a>00171 it != boost::end(range);
+<a name="l00172"></a>00172 ++it)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 os &lt;&lt; (first ? <span class="stringliteral">""</span> : settings.point_separator)
+<a name="l00175"></a>00175 &lt;&lt; settings.point_open;
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 stream_coordinate
+<a name="l00178"></a>00178 &lt;
+<a name="l00179"></a>00179 point_type, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;point_type&gt;::type::value</a>
+<a name="l00180"></a>00180 &gt;::apply(os, *it, settings);
+<a name="l00181"></a>00181 os &lt;&lt; settings.point_close;
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 first = <span class="keyword">false</span>;
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 os &lt;&lt; settings.list_close;
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">private</span>:
+<a name="l00190"></a>00190 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Range&gt;::type point_type;
+<a name="l00191"></a>00191 };
+<a name="l00192"></a>00192
+<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00203"></a>00203 <span class="keyword">struct </span>dsv_poly
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00206"></a>00206 <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="l00207"></a>00207 Polygon <span class="keyword">const</span>&amp; poly,
+<a name="l00208"></a>00208 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring;
+<a name="l00211"></a>00211 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00212"></a>00212 &lt;
+<a name="l00213"></a>00213 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00214"></a>00214 &gt;::type iterator_type;
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 os &lt;&lt; settings.list_open;
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 dsv_range&lt;ring&gt;::apply(os, <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), settings);
+<a name="l00219"></a>00219 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00220"></a>00220 it != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00221"></a>00221 ++it)
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223 os &lt;&lt; settings.list_separator;
+<a name="l00224"></a>00224 dsv_range&lt;ring&gt;::apply(os, *it, settings);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 os &lt;&lt; settings.list_close;
+<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> Geometry, std::<span class="keywordtype">size_t</span> Index&gt;
+<a name="l00231"></a>00231 <span class="keyword">struct </span>dsv_per_index
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Geometry&gt;::type point_type;
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00236"></a>00236 <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="l00237"></a>00237 Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00238"></a>00238 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 os &lt;&lt; settings.point_open;
+<a name="l00241"></a>00241 stream_indexed
+<a name="l00242"></a>00242 &lt;
+<a name="l00243"></a>00243 Geometry, Index, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Geometry&gt;::type::value</a>
+<a name="l00244"></a>00244 &gt;::apply(os, geometry, settings);
+<a name="l00245"></a>00245 os &lt;&lt; settings.point_close;
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00251"></a>00251 <span class="keyword">struct </span>dsv_indexed
+<a name="l00252"></a>00252 {
+<a name="l00253"></a>00253 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Geometry&gt;::type point_type;
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00256"></a>00256 <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="l00257"></a>00257 Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00258"></a>00258 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00259"></a>00259 {
+<a name="l00260"></a>00260 os &lt;&lt; settings.list_open;
+<a name="l00261"></a>00261 dsv_per_index&lt;Geometry, 0&gt;::apply(os, geometry, settings);
+<a name="l00262"></a>00262 os &lt;&lt; settings.point_separator;
+<a name="l00263"></a>00263 dsv_per_index&lt;Geometry, 1&gt;::apply(os, geometry, settings);
+<a name="l00264"></a>00264 os &lt;&lt; settings.list_close;
+<a name="l00265"></a>00265 }
+<a name="l00266"></a>00266 };
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 }} <span class="comment">// namespace detail::dsv</span>
+<a name="l00269"></a>00269 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00270"></a>00270 <span class="preprocessor"></span>
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00273"></a>00273 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <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="l00276"></a>00276 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a> {};
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00280"></a>00280 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;point_tag, false, Point&gt;
+<a name="l00281"></a>00281 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_point&lt;Point&gt;
+<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> Line<span class="keywordtype">string</span>&gt;
+<a name="l00286"></a>00286 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;linestring_tag, false, Linestring&gt;
+<a name="l00287"></a>00287 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_range&lt;Linestring&gt;
+<a name="l00288"></a>00288 {};
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00292"></a>00292 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;box_tag, false, Box&gt;
+<a name="l00293"></a>00293 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_indexed&lt;Box&gt;
+<a name="l00294"></a>00294 {};
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Segment&gt;
+<a name="l00297"></a>00297 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;segment_tag, false, Segment&gt;
+<a name="l00298"></a>00298 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_indexed&lt;Segment&gt;
+<a name="l00299"></a>00299 {};
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00303"></a>00303 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;ring_tag, false, Ring&gt;
+<a name="l00304"></a>00304 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_range&lt;Ring&gt;
+<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> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00309"></a>00309 <span class="keyword">struct </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>&lt;polygon_tag, false, Polygon&gt;
+<a name="l00310"></a>00310 : detail::<a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>::dsv_poly&lt;Polygon&gt;
+<a name="l00311"></a>00311 {};
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 } <span class="comment">// namespace dispatch</span>
+<a name="l00315"></a>00315 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00316"></a>00316 <span class="preprocessor"></span>
+<a name="l00317"></a>00317
+<a name="l00318"></a>00318 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a> {
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00324"></a>00324 <span class="keyword">class </span>dsv_manipulator
+<a name="l00325"></a>00325 {
+<a name="l00326"></a>00326 <span class="keyword">public</span>:
+<a name="l00327"></a>00327
+<a name="l00328"></a>00328 <span class="keyword">inline</span> dsv_manipulator(Geometry <span class="keyword">const</span>&amp; g,
+<a name="l00329"></a>00329 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00330"></a>00330 : m_geometry(g)
+<a name="l00331"></a>00331 , m_settings(settings)
+<a name="l00332"></a>00332 {}
+<a name="l00333"></a>00333
+<a name="l00334"></a>00334 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00335"></a>00335 <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;Char, Traits&gt;&amp; operator&lt;&lt;(
+<a name="l00336"></a>00336 std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00337"></a>00337 dsv_manipulator <span class="keyword">const</span>&amp; m)
+<a name="l00338"></a>00338 {
+<a name="l00339"></a>00339 <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dispatch::dsv</a>
+<a name="l00340"></a>00340 &lt;
+<a name="l00341"></a>00341 <span class="keyword">typename</span> tag&lt;Geometry&gt;::type,
+<a name="l00342"></a>00342 is_multi&lt;Geometry&gt;::type::value,
+<a name="l00343"></a>00343 Geometry
+<a name="l00344"></a>00344 &gt;::apply(os, m.m_geometry, m.m_settings);
+<a name="l00345"></a>00345 os.flush();
+<a name="l00346"></a>00346 <span class="keywordflow">return</span> os;
+<a name="l00347"></a>00347 }
+<a name="l00348"></a>00348
+<a name="l00349"></a>00349 <span class="keyword">private</span>:
+<a name="l00350"></a>00350 Geometry <span class="keyword">const</span>&amp; m_geometry;
+<a name="l00351"></a>00351 dsv_settings m_settings;
+<a name="l00352"></a>00352 };
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354 }} <span class="comment">// namespace detail::dsv</span>
+<a name="l00355"></a>00355 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00356"></a>00356 <span class="preprocessor"></span>
+<a name="l00357"></a>00357
+<a name="l00367"></a>00367 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00368"></a><a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7">00368</a> <span class="keyword">inline</span> detail::dsv::dsv_manipulator&lt;Geometry&gt; <a class="code" href="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" title="Main DSV-streaming function.">dsv</a>(Geometry <span class="keyword">const</span>&amp; geometry
+<a name="l00369"></a>00369 , std::string <span class="keyword">const</span>&amp; coordinate_separator = <span class="stringliteral">", "</span>
+<a name="l00370"></a>00370 , std::string <span class="keyword">const</span>&amp; point_open = <span class="stringliteral">"("</span>
+<a name="l00371"></a>00371 , std::string <span class="keyword">const</span>&amp; point_close = <span class="stringliteral">")"</span>
+<a name="l00372"></a>00372 , std::string <span class="keyword">const</span>&amp; point_separator = <span class="stringliteral">", "</span>
+<a name="l00373"></a>00373 , std::string <span class="keyword">const</span>&amp; list_open = <span class="stringliteral">"("</span>
+<a name="l00374"></a>00374 , std::string <span class="keyword">const</span>&amp; list_close = <span class="stringliteral">")"</span>
+<a name="l00375"></a>00375 , std::string <span class="keyword">const</span>&amp; list_separator = <span class="stringliteral">", "</span>
+<a name="l00376"></a>00376 )
+<a name="l00377"></a>00377 {
+<a name="l00378"></a>00378 concept::check&lt;const Geometry&gt;();
+<a name="l00379"></a>00379
+<a name="l00380"></a>00380 <span class="keywordflow">return</span> detail::dsv::dsv_manipulator&lt;Geometry&gt;(geometry,
+<a name="l00381"></a>00381 detail::dsv::dsv_settings(coordinate_separator,
+<a name="l00382"></a>00382 point_open, point_close, point_separator,
+<a name="l00383"></a>00383 list_open, list_close, list_separator));
+<a name="l00384"></a>00384 }
+<a name="l00385"></a>00385
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387
+<a name="l00388"></a>00388 } <span class="comment">// namespace ggl</span>
+<a name="l00389"></a>00389
+<a name="l00390"></a>00390 <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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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/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="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_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="geometries_2concepts_2check_8hpp.html">ggl/geometries/concepts/check.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
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span>svg_box
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00054"></a>00054 <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="l00055"></a>00055 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="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordtype">int</span> x = ggl::get&lt;ggl::min_corner, 0&gt;(box);
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> y = ggl::get&lt;ggl::min_corner, 1&gt;(box);
+<a name="l00059"></a>00059 <span class="keywordtype">int</span> width = std::abs(ggl::get&lt;ggl::max_corner, 0&gt;(box) - x);
+<a name="l00060"></a>00060 <span class="keywordtype">int</span> height = std::abs(ggl::get&lt;ggl::max_corner, 1&gt;(box) - y);
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 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="l00063"></a>00063 &lt;&lt; <span class="stringliteral">"\" width=\""</span> &lt;&lt; width &lt;&lt; <span class="stringliteral">"\" height=\""</span> &lt;&lt; height
+<a name="l00064"></a>00064 &lt;&lt; <span class="stringliteral">"\" style=\""</span> &lt;&lt; style &lt;&lt; <span class="stringliteral">"\"/&gt;"</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> Range, <span class="keyword">typename</span> Policy&gt;
+<a name="l00074"></a>00074 <span class="keyword">struct </span>svg_range
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00077"></a>00077 <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="l00078"></a>00078 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="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 os &lt;&lt; <span class="stringliteral">"&lt;"</span> &lt;&lt; Policy::prefix() &lt;&lt; <span class="stringliteral">" points=\""</span>;
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordflow">for</span> (iterator it = boost::begin(range);
+<a name="l00087"></a>00087 it != boost::end(range);
+<a name="l00088"></a>00088 ++it, first = <span class="keyword">false</span>)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 os &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="l00091"></a>00091 }
+<a name="l00092"></a>00092 os &lt;&lt; <span class="stringliteral">"\" style=\""</span> &lt;&lt; style &lt;&lt; Policy::style() &lt;&lt; <span class="stringliteral">"\"/&gt;"</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span>svg_poly
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00102"></a>00102 <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="l00103"></a>00103 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="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;Polygon&gt;::type</a> ring_type;
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;ring_type&gt;::type iterator_type;
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00109"></a>00109 os &lt;&lt; <span class="stringliteral">"&lt;g fill-rule=\"evenodd\"&gt;&lt;path d=\""</span>;
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 ring_type <span class="keyword">const</span>&amp; ring = <a class="code" href="group__access.html#g4dd59c8603683e869f1d74bd40045b8b" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon);
+<a name="l00112"></a>00112 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ring);
+<a name="l00113"></a>00113 it != boost::end(ring);
+<a name="l00114"></a>00114 ++it, first = <span class="keyword">false</span>)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 os &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="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="comment">// Inner rings:</span>
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00122"></a>00122 &lt;
+<a name="l00123"></a>00123 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">ggl::interior_type&lt;Polygon&gt;::type</a>
+<a name="l00124"></a>00124 &gt;::type ring_iterator_type;
+<a name="l00125"></a>00125 <span class="keywordflow">for</span> (ring_iterator_type rit = boost::begin(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00126"></a>00126 rit != boost::end(<a class="code" href="group__access.html#gaee58ea9a166a2ca07597daf34433d7f" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00127"></a>00127 ++rit)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 first = <span class="keyword">true</span>;
+<a name="l00130"></a>00130 <span class="keywordflow">for</span> (iterator_type it = boost::begin(*rit);
+<a name="l00131"></a>00131 it != boost::end(*rit);
+<a name="l00132"></a>00132 ++it, first = <span class="keyword">false</span>)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 os &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="l00135"></a>00135 }
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 os &lt;&lt; <span class="stringliteral">" z \" style=\""</span> &lt;&lt; style &lt;&lt; <span class="stringliteral">"\"/&gt;&lt;/g&gt;"</span>;
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141 };
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">struct </span>prefix_linestring
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polyline"</span>; }
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">";fill:none"</span>; }
+<a name="l00149"></a>00149 };
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">struct </span>prefix_ring
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polygon"</span>; }
+<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">""</span>; }
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 }} <span class="comment">// namespace detail::svg</span>
+<a name="l00161"></a>00161 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00162"></a>00162 <span class="preprocessor"></span>
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00166"></a>00166
+<a name="l00175"></a>00175 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00176"></a>00176 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {};
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00179"></a>00179 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&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="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00182"></a>00182 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&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="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>&gt;
+<a name="l00185"></a>00185 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;linestring_tag, Linestring&gt;
+<a name="l00186"></a>00186 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range&lt;Linestring, detail::svg::prefix_linestring&gt; {};
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00189"></a>00189 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;ring_tag, Ring&gt;
+<a name="l00190"></a>00190 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range&lt;Ring, detail::svg::prefix_ring&gt; {};
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&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>&lt;polygon_tag, Polygon&gt;
+<a name="l00194"></a>00194 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_poly&lt;Polygon&gt; {};
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 } <span class="comment">// namespace dispatch</span>
+<a name="l00197"></a>00197 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00198"></a>00198 <span class="preprocessor"></span>
+<a name="l00199"></a>00199
+<a name="l00205"></a>00205 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00206"></a><a class="code" href="classggl_1_1svg__manipulator.html">00206</a> <span class="keyword">class </span><a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a>
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keyword">public</span>:
+<a name="l00209"></a>00209
+<a name="l00210"></a><a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">00210</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a>(G <span class="keyword">const</span>&amp; g, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00211"></a>00211 : m_geometry(g)
+<a name="l00212"></a>00212 , m_style(style)
+<a name="l00213"></a>00213 , m_size(size)
+<a name="l00214"></a>00214 {}
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00217"></a><a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">00217</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;Char, Traits&gt;&amp; <a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator&lt;&lt;</a>(
+<a name="l00218"></a>00218 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="l00219"></a>00219 {
+<a name="l00220"></a>00220 <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">dispatch::svg</a>
+<a name="l00221"></a>00221 &lt;
+<a name="l00222"></a>00222 <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="l00223"></a>00223 &gt;::apply(os, m.m_geometry, m.m_style, m.m_size);
+<a name="l00224"></a>00224 os.flush();
+<a name="l00225"></a>00225 <span class="keywordflow">return</span> os;
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">private</span>:
+<a name="l00229"></a>00229 G <span class="keyword">const</span>&amp; m_geometry;
+<a name="l00230"></a>00230 std::string <span class="keyword">const</span>&amp; m_style;
+<a name="l00231"></a>00231 <span class="keywordtype">int</span> m_size;
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00238"></a>00238 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00239"></a><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">00239</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator&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="l00240"></a>00240 {
+<a name="l00241"></a>00241 concept::check&lt;const Geometry&gt;();
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator&lt;Geometry&gt;</a>(t, style, size);
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 } <span class="comment">// namespace ggl</span>
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="preprocessor">#endif // GGL_IO_SVG_WRITE_SVG_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <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>c:/svn/ggl/formal_review/boost/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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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#gaffb471f2ef6dd4842563e533094fa0d" 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__within.html#g599c2aa76cf2037eb40514e449ace28d" title="Within, examine if a geometry is within another geometry.">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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x02__numeric__adaptor__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x02__numeric__adaptor__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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>x02_numeric_adaptor_example.cpp</h1>The Numeric Adaptor is recently introduced to the Boost mailing list It is a proxy to high precision arithmetic libraries such as GMP or CLN. However, it might be that the same effect can be used using the Boost.Math bindings.<p>
+This example shows how the GGL can be combined with non-numeric value types such as from the Numeric Adaptor <div align="center">
+<img src="x02_numeric_adaptor_example_output.png" alt="x02_numeric_adaptor_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">// 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">// Numeric Adaptor Example</span>
+
+<span class="comment">// The Numeric Adaptor is introduced to the Boost mailing list</span>
+<span class="comment">// It is a proxy to high precision arithmetic libraries such as gmp</span>
+<span class="comment">// However, it might be that the same effect can be used using the</span>
+<span class="comment">// Boost.Math bindings.</span>
+
+<span class="comment">// To build and run this example:</span>
+<span class="comment">// 1) download gmp, it should be somewhere in the include path</span>
+<span class="comment">// 2) download numeric_adaptor from the Boost.Sandbox</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;iomanip&gt;</span>
+<span class="preprocessor">#include &lt;typeinfo&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/numeric_adaptor/numeric_adaptor.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/numeric_adaptor/gmp_value_type.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&gt;</span>
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type, <span class="keyword">typename</span> AssignType&gt;
+<span class="keywordtype">void</span> calculate(AssignType <span class="keyword">const</span>&amp; x1,
+ AssignType <span class="keyword">const</span>&amp; y1,
+ AssignType <span class="keyword">const</span>&amp; x2,
+ AssignType <span class="keyword">const</span>&amp; y2,
+ AssignType <span class="keyword">const</span>&amp; x3,
+ AssignType <span class="keyword">const</span>&amp; y3
+ )
+{
+ <span class="comment">// gmp can be used instead of "double" for any point type</span>
+ <span class="keyword">typedef</span> <a name="_a0"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;Type&gt;</a> point_type;
+
+ point_type a, b, c;
+ <a name="a1"></a><a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(a, boost::to&lt;Type&gt;(x1), boost::to&lt;Type&gt;(y1));
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(b, boost::to&lt;Type&gt;(x2), boost::to&lt;Type&gt;(y2));
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(c, boost::to&lt;Type&gt;(x3), boost::to&lt;Type&gt;(y3));
+
+ <a name="_a2"></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...">ggl::linear_ring&lt;point_type&gt;</a> r;
+ r.push_back(a);
+ r.push_back(b);
+ r.push_back(c);
+ r.push_back(a);
+
+ <span class="comment">// What also is possible is define point coordinates using IEEE double,</span>
+ <span class="comment">// but doing calculations using the gmp type.</span>
+ <span class="comment">// To do that, specify the strategy explicitly</span>
+ Type ab = <a name="a3"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(a, b);
+ Type bc = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(b, c);
+ Type ca = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(c, a);
+
+ std::cout &lt;&lt; std::endl &lt;&lt; <span class="keyword">typeid</span>(Type).name() &lt;&lt; std::endl;
+
+ std::cout &lt;&lt; <span class="stringliteral">"a-b: "</span> &lt;&lt; ab &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"b-c: "</span> &lt;&lt; bc &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"c-a: "</span> &lt;&lt; ca &lt;&lt; std::endl;
+
+ std::cout &lt;&lt; <span class="stringliteral">"area: "</span> &lt;&lt; <a name="a4"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(r,
+ <a name="_a5"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">ggl::strategy::area::by_triangles&lt;point_type, Type&gt;</a>())
+ &lt;&lt; std::endl;
+
+ <span class="comment">// Heron formula is "famous" for its imprecision. It should give</span>
+ <span class="comment">// same result as area, but is sensible for rounding errors.</span>
+ Type s = ab + bc + ca;
+ s /= 2.0;
+ Type ar = boost::sqrt(s * (s - ab) * (s - bc) * (s - ca));
+ std::cout &lt;&lt; <span class="stringliteral">"heron: "</span> &lt;&lt; ar &lt;&lt; std::endl;
+
+ <span class="comment">// Area's given:</span>
+ <span class="comment">// float: 740.74078369140625</span>
+ <span class="comment">// double: 740.74073407406990554591</span>
+ <span class="comment">// long double: 740.74073407406991376156</span>
+ <span class="comment">// GMP: 0.74074073407407e3 (right!)</span>
+
+ <span class="comment">// SQL Server: 740.740724252642</span>
+ <span class="comment">// Postgis: 740.74073407407 (might be rounded from (long) double)</span>
+ <span class="comment">// MySQL: 740.74073407406991000000</span>
+}
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])
+{
+ <span class="keyword">typedef</span> boost::numeric_adaptor::gmp_value_type type;
+ <span class="comment">//typedef long double type;</span>
+
+ <span class="comment">// gmp can be used instead of "double" for any point type</span>
+ <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;type&gt;</a> point_type;
+
+ <span class="comment">// Points, polygons or other geometries are gmp now</span>
+ point_type p;
+
+ <span class="comment">// They can be used normally</span>
+ ggl::set&lt;0&gt;(p, 123456.78900001);
+ std::cout &lt;&lt; <span class="stringliteral">"x coordinate: "</span> &lt;&lt; ggl::get&lt;0&gt;(p) &lt;&lt; std::endl;
+
+ <span class="comment">// But the value above cannot be expressed with that precision in IEEE 64 bits.</span>
+ <span class="comment">// Points can therefore also be assigned by string with ggl::set</span>
+ ggl::set&lt;0&gt;(p, boost::to&lt;type&gt;(std::string(<span class="stringliteral">"123456.78900001"</span>)));
+ <span class="comment">// and streamed (as a string representation)</span>
+ std::cout &lt;&lt; <span class="stringliteral">"x coordinate: "</span> &lt;&lt; ggl::get&lt;0&gt;(p) &lt;&lt; std::endl;
+
+
+ <span class="comment">// The ggl::assign function also supports custom numeric types</span>
+ point_type p1, p2;
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(p1,
+ boost::to&lt;type&gt;(std::string(<span class="stringliteral">"123456.78900001"</span>)),
+ boost::to&lt;type&gt;(std::string(<span class="stringliteral">"234567.89100001"</span>)));
+ <a class="code" href="group__access.html#g8048129c97cd540dc75d9040d8d95c0e" title="assign two values to a 2D point">ggl::assign</a>(p2,
+ boost::to&lt;type&gt;(std::string(<span class="stringliteral">"987654.32100001"</span>)),
+ boost::to&lt;type&gt;(std::string(<span class="stringliteral">"876543.21900001"</span>)));
+
+ type d = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(p1, p2);
+ std::cout &lt;&lt; <span class="stringliteral">"Exact distance: "</span> &lt;&lt; d &lt;&lt; std::endl;
+ <span class="comment">// It gives: 0.1076554 54858339556783e7</span>
+ <span class="comment">// my calculator gives: 1076554.5485833955678294387789057</span>
+ <span class="comment">// CLN gives : 1076554.5485833955</span>
+
+ <span class="comment">// All algorithms will automatically use the gmp-type</span>
+ <span class="comment">// We show and compare that in the calculate function, with type and</span>
+ <span class="comment">// assigning type as template parameters</span>
+
+ std::cout &lt;&lt; std::fixed &lt;&lt; std::setprecision(20);
+ calculate&lt;float&gt;(0.0, 0.0, 0.0, 0.0012, 1234567.89012345, 0.0);
+ calculate&lt;double&gt;(0.0, 0.0, 0.0, 0.0012, 1234567.89012345, 0.0);
+ calculate&lt;long double&gt;(0.0, 0.0, 0.0, 0.0012, 1234567.89012345, 0.0);
+ calculate&lt;type, std::string&gt;(<span class="stringliteral">"0.0"</span>, <span class="stringliteral">"0.0"</span>, <span class="stringliteral">"0.0"</span>, <span class="stringliteral">"0.0012"</span>, <span class="stringliteral">"1234567.89012345"</span>, <span class="stringliteral">"0.0"</span>);
+
+ <span class="keywordflow">return</span> 0;
+}
+
+</pre></div> </div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

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

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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.<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="group__utility.html#g9419e5dd6f98468153ca14a35763bfd7" 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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__c__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__c__soci__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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_c_soci_example.cpp</h1>Example showing how to get polygons from PostGIS using SOCI and use them in GGL through WKB<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Mateusz Loskot 2009, mateusz_at_[hidden]</span>
+<span class="comment">//</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">// Generic Geometry Library</span>
+<span class="comment">// SOCI example</span>
+
+<span class="comment">// c: using WKB to retrieve geometries</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, see comments in example a</span>
+<span class="comment">// Alternatively compile composing and executing compiler command directoy in examples directory,</span>
+<span class="comment">// for example using GCC compiler:</span>
+<span class="comment">// g++ -I../../../boost -I/home/mloskot/usr/include/soci \</span>
+<span class="comment">// -I /home/mloskot/usr/include/soci/postgresql -I/usr/include/postgresql \</span>
+<span class="comment">// -L/home/mloskot/usr/lib -lsoci_core-gcc-3_0 -lsoci_postgresql-gcc-3_0 x03_c_soci_example.cpp</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;exception&gt;</span>
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;iterator&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+<span class="preprocessor">#include &lt;vector&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/wkb/read_wkb.hpp&gt;</span>
+<span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkb/utility.hpp&gt;</span>
+<span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/wkt.hpp&gt;</span>
+
+<span class="comment">// user-defined type with GGL geometry</span>
+<span class="keyword">struct </span>tree
+{
+ <span class="keywordtype">int</span> id;
+ <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;
+};
+
+<span class="comment">// conversion of row of result to user-defined type - performs WKB parsing</span>
+<span class="keyword">namespace </span>soci
+{
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>type_conversion&lt;tree&gt;
+ {
+ <span class="keyword">typedef</span> soci::values base_type;
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> from_base(base_type <span class="keyword">const</span>&amp; v, soci::indicator ind, tree&amp; value)
+ {
+ <span class="keywordflow">try</span>
+ {
+ value.id = v.get&lt;<span class="keywordtype">int</span>&gt;(<span class="stringliteral">"id"</span>);
+
+ <span class="comment">// intermediate step: hex-encoded binary string to raw WKB</span>
+ std::string <span class="keyword">const</span>&amp; hex = v.get&lt;std::string&gt;(<span class="stringliteral">"wkb"</span>);
+ std::vector&lt;unsigned char&gt; wkb;
+ <span class="keywordflow">if</span> (!ggl::hex2wkb(hex, std::back_inserter(wkb)))
+ <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"hex2wkb translation failed"</span>);
+
+ <span class="comment">// parse WKB and construct point geometry</span>
+ <span class="keywordflow">if</span> (!ggl::read_wkb(wkb.begin(), wkb.end(), value.location))
+ <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"read_wkb failed"</span>);
+ }
+ <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(tree <span class="keyword">const</span>&amp; value, base_type&amp; v, soci::indicator&amp; ind)
+ {
+ <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"todo: wkb writer not yet implemented"</span>);
+ }
+ };
+}
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="keywordflow">try</span>
+ {
+ <span class="comment">// establish database connection</span>
+ soci::session sql(soci::postgresql, <span class="stringliteral">"dbname=ggl user=ggl password=ggl"</span>);
+
+ <span class="comment">// construct schema of table for trees (point geometries)</span>
+ sql &lt;&lt; <span class="stringliteral">"DELETE FROM geometry_columns WHERE f_table_name = 'trees'"</span>;
+ sql &lt;&lt; <span class="stringliteral">"DROP TABLE IF EXISTS trees CASCADE"</span>;
+ sql &lt;&lt; <span class="stringliteral">"CREATE TABLE trees (id INTEGER)"</span>;
+ sql &lt;&lt; <span class="stringliteral">"SELECT AddGeometryColumn('trees', 'geom', -1, 'POINT', 2)"</span>;
+
+ <span class="comment">// insert sample data using plain WKT input</span>
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO trees VALUES(1, ST_GeomFromText('POINT(1.23 2.34)', -1))"</span>;
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO trees VALUES(2, ST_GeomFromText('POINT(3.45 4.56)', -1))"</span>;
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO trees VALUES(3, ST_GeomFromText('POINT(5.67 6.78)', -1))"</span>;
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO trees VALUES(4, ST_GeomFromText('POINT(7.89 9.01)', -1))"</span>;
+
+ <span class="comment">// query data in WKB form and read to geometry object</span>
+ <span class="keyword">typedef</span> std::vector&lt;tree&gt; trees_t;
+ soci::rowset&lt;tree&gt; rows = (sql.prepare &lt;&lt; <span class="stringliteral">"SELECT id, encode(ST_AsBinary(geom), 'hex') AS wkb FROM trees"</span>);
+ trees_t trees;
+ std::copy(rows.begin(), rows.end(), std::back_inserter(trees));
+
+ <span class="comment">// print trees output</span>
+ <span class="keywordflow">for</span> (trees_t::const_iterator it = trees.begin(); it != trees.end(); ++it)
+ {
+ std::cout &lt;&lt; <span class="stringliteral">"Tree #"</span> &lt;&lt; it-&gt;id &lt;&lt; <span class="stringliteral">" located at\t"</span> &lt;&lt; ggl::wkt(it-&gt;location) &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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__d__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review/libs/ggl/doc/doxygen_output/html/x03__d__soci__example_8cpp-example.html 2009-11-04 12:51:44 EST (Wed, 04 Nov 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>
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" 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_d_soci_example.cpp</h1>Example showing how to get polygons from PostGIS using SOCI and use them in GGL through WKB<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Mateusz Loskot 2009, mateusz_at_[hidden]</span>
+<span class="comment">//</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">// Generic Geometry Library</span>
+<span class="comment">// SOCI example</span>
+
+<span class="comment">// d: using WKB to retrieve geometries</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, see comments in example a</span>
+<span class="comment">// Alternatively compile composing and executing compiler command directoy in examples directory,</span>
+<span class="comment">// for example using GCC compiler:</span>
+<span class="comment">// g++ -I../../../boost -I/home/mloskot/usr/include/soci \</span>
+<span class="comment">// -I /home/mloskot/usr/include/soci/postgresql -I/usr/include/postgresql \</span>
+<span class="comment">// -L/home/mloskot/usr/lib -lsoci_core-gcc-3_0 -lsoci_postgresql-gcc-3_0 x03_c_soci_example.cpp</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;exception&gt;</span>
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;iterator&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+<span class="preprocessor">#include &lt;vector&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.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="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&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/wkb/read_wkb.hpp&gt;</span>
+<span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkb/utility.hpp&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>
+ {
+ <span class="comment">// establish database connection</span>
+ soci::session sql(soci::postgresql, <span class="stringliteral">"dbname=ggl user=ggl password=ggl"</span>);
+
+ <span class="comment">// construct schema of table for trees (point geometries)</span>
+ sql &lt;&lt; <span class="stringliteral">"DELETE FROM geometry_columns WHERE f_table_name = 'parcels'"</span>;
+ sql &lt;&lt; <span class="stringliteral">"DROP TABLE IF EXISTS parcels CASCADE"</span>;
+ sql &lt;&lt; <span class="stringliteral">"CREATE TABLE parcels (id INTEGER)"</span>;
+ sql &lt;&lt; <span class="stringliteral">"SELECT AddGeometryColumn('parcels', 'geom', -1, 'GEOMETRY', 2)"</span>;
+
+ <span class="comment">// insert sample data using plain WKT input</span>
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO parcels VALUES(1, ST_GeomFromText('POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))', -1))"</span>;
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO parcels VALUES(2, ST_GeomFromText('POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0))', -1))"</span>;
+ sql &lt;&lt; <span class="stringliteral">"INSERT INTO parcels VALUES(3, ST_GeomFromText('POLYGON((1 1,2 1,2 2,1 2,1 1))', -1))"</span>;
+
+ <span class="comment">// query data in WKB form and read to geometry object</span>
+ soci::rowset&lt;std::string&gt; rows = (sql.prepare &lt;&lt; <span class="stringliteral">"SELECT encode(ST_AsBinary(geom), 'hex') AS wkb FROM parcels"</span>);
+
+ <span class="comment">// calculate area of each parcel</span>
+ <span class="keywordflow">for</span> (soci::rowset&lt;std::string&gt;::iterator it = rows.begin(); it != rows.end(); ++it)
+ {
+ <span class="comment">// parse WKB and construct geometry object</span>
+ std::string <span class="keyword">const</span>&amp; hex = *it;
+ std::vector&lt;unsigned char&gt; wkb;
+ <span class="keywordflow">if</span> (!ggl::hex2wkb(*it, std::back_inserter(wkb)))
+ <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"hex2wkb translation failed"</span>);
+
+ <a name="_a0"></a><a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon_2d</a> parcel;
+ <span class="keywordflow">if</span> (!ggl::read_wkb(wkb.begin(), wkb.end(), parcel))
+ <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"read_wkb failed"</span>);
+
+ <span class="keywordtype">double</span> a = <a name="a1"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(parcel);
+ std::cout &lt;&lt; <span class="stringliteral">"Parcel geometry: "</span> &lt;&lt; ggl::wkt(parcel) &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"\thas area is "</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">" in coordinate units"</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>November 5, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, 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