|
Boost-Commit : |
From: mariano.consoni_at_[hidden]
Date: 2008-06-04 15:50:21
Author: mconsoni
Date: 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
New Revision: 46140
URL: http://svn.boost.org/trac/boost/changeset/46140
Log:
- Initial Geometry Library integration.
-> we add the current code
-> the quadtree code was modificated to adapt to the new point and box classes.
-> simple_test was adapted to the new style (the other tests are pending)
Added:
sandbox/SOC/2008/spacial_indexing/geometry/doc/Doxyfile (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/boost.png (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/boostbook.css (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen/
sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen/html/
sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_examples.hpp (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_mainpage.hpp (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_pages.hpp (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/geometry.html (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_footer.html (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_header.html (contents, props changed)
sandbox/SOC/2008/spacial_indexing/geometry/doc/proposed_boost.png (contents, props changed)
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/Doxyfile
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/Doxyfile 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,239 @@
+# Doxyfile 1.5.5
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = "Geometry Library"
+PROJECT_NUMBER =
+OUTPUT_DIRECTORY = ./doxygen
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = YES
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = c:/svn/geolib/trunk/src/cpp/library/gl/
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = YES
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+BUILTIN_STL_SUPPORT = YES
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+TYPEDEF_HIDES_STRUCT = NO
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = NO
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = NO
+INLINE_INFO = NO
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = YES
+SORT_GROUP_NAMES = YES
+SORT_BY_SCOPE_NAME = YES
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = NO
+SHOW_DIRECTORIES = NO
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = YES
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = .. ../strategies ../util ../doc
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.hpp
+RECURSIVE = NO
+EXCLUDE = ../util/builder.hpp ../util/distance_sort.hpp ../intersection_polygon.hpp ..//point_on_line.hpp ../overlaps.hpp
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH = .. ../example ../strategies
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH = geometry/images
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = NO
+USE_HTAGS = NO
+VERBATIM_HEADERS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 3
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER = gl_doxygen_header.html
+HTML_FOOTER = gl_doxygen_footer.html
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Generated documentation, by Doxygen"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+HTML_DYNAMIC_SECTIONS = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = YES
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/boost.png
==============================================================================
Binary file. No diff available.
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/boostbook.css 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,290 @@
+/* Generated by KompoZer */
+body {
+ margin: 1em;
+ font-family: sans-serif;
+}
+p {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+}
+p tt.computeroutput {
+ font-size: 9pt;
+}
+pre.synopsis {
+ margin: 1pc 4% 0pc;
+ padding: 0.5pc;
+ font-size: 90%;
+}
+.programlisting, .screen {
+ margin: 1pc 4% 0pc;
+ padding: 0.5pc;
+ font-size: 9pt;
+ display: block;
+}
+td .programlisting, td .screen {
+ margin: 0pc;
+ padding: 0pc;
+}
+h1, h2, h3, h4, h5, h6 {
+ margin: 1em 0em 0.5em;
+ text-align: left;
+ font-weight: bold;
+}
+h1 {
+}
+h2 {
+}
+h3 {
+}
+h4 {
+}
+h5 {
+}
+h6 {
+}
+title, h1.title, h2.title h3.title, h4.title, h5.title, h6.title, .refentrytitle {
+ font-weight: bold;
+ margin-bottom: 1pc;
+}
+h1.title {
+ font-size: 140%;
+}
+h2.title {
+ font-size: 140%;
+}
+h3.title {
+ font-size: 130%;
+}
+h4.title {
+ font-size: 120%;
+}
+h5.title {
+ font-size: 110%;
+}
+h6.title {
+ font-size: 100%;
+}
+.section h1 {
+ margin: 0em 0em 0.5em;
+ font-size: 140%;
+}
+.section h2 {
+ font-size: 140%;
+}
+.section h3 {
+ font-size: 130%;
+}
+.section h4 {
+ font-size: 120%;
+}
+.section h5 {
+ font-size: 110%;
+}
+.section h6 {
+ font-size: 100%;
+}
+h1 tt.computeroutput {
+ font-size: 140%;
+}
+h2 tt.computeroutput {
+ font-size: 140%;
+}
+h3 tt.computeroutput {
+ font-size: 130%;
+}
+h4 tt.computeroutput {
+ font-size: 120%;
+}
+h5 tt.computeroutput {
+ font-size: 110%;
+}
+h6 tt.computeroutput {
+ font-size: 100%;
+}
+h3.author {
+ font-size: 100%;
+}
+li {
+ font-size: 10pt;
+ line-height: 1.3;
+}
+ul {
+ text-align: left;
+}
+ol {
+ text-align: left;
+}
+a {
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+.spirit-nav {
+ text-align: right;
+}
+.spirit-nav a {
+ color: white;
+ padding-left: 0.5em;
+}
+.spirit-nav img {
+ border-width: 0px;
+}
+.toc {
+ margin: 1pc 4% 0pc;
+ padding: 0.1pc 1pc;
+ font-size: 80%;
+ line-height: 1.15;
+}
+.boost-toc {
+ padding: 0.5pc;
+ float: right;
+}
+.table-title, div.table p.title {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+}
+.informaltable table, .table table {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+}
+div.informaltable table, div.table table {
+ padding: 4px;
+}
+div.informaltable table tr td, div.table table tr td {
+ padding: 0.5em;
+ text-align: left;
+ font-size: 9pt;
+}
+div.informaltable table tr th, div.table table tr th {
+ border: 1pt solid white;
+ padding: 0.5em;
+ font-size: 80%;
+}
+div.note, div.tip, div.important, div.caution, div.warning, p.blurb {
+ margin: 1pc 4% 0pc;
+ padding: 0.5pc;
+ font-size: 9pt;
+ line-height: 1.2;
+ display: block;
+}
+p.blurb img {
+ padding: 1pt;
+}
+div.variablelist dl dt, span.term {
+ font-weight: bold;
+ font-size: 10pt;
+}
+div.variablelist table tbody tr td {
+ margin: 0em 0em 0.5em;
+ padding: 0em 2em 0em 0em;
+ text-align: left;
+ vertical-align: top;
+ font-size: 10pt;
+ line-height: 1;
+}
+div.variablelist dl dt {
+ margin-bottom: 0.2em;
+}
+div.variablelist dl dd {
+ margin: 0em 0em 0.5em 2em;
+ font-size: 10pt;
+}
+div.variablelist table tbody tr td p, div.variablelist dl dd p {
+ margin: 0em 0em 0.5em;
+ line-height: 1;
+}
+span.title {
+ font-style: italic;
+}
+span.underline {
+ text-decoration: underline;
+}
+span.strikethrough {
+ text-decoration: line-through;
+}
+div div.legalnotice p {
+ text-align: left;
+}
+@media screen {
+ a { color: #005a9c;
+}
+ a:visited { color: #9c5a9c;
+ }
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { text-decoration: none;
+ color: #000000;
+ }
+ .keyword { color: #0000aa;
+ }
+ .identifier { color: #000000;
+ }
+ .special { color: #707070;
+ }
+ .preprocessor { color: #402080;
+ }
+ .char { color: teal;
+ }
+ .comment { color: #800000;
+ }
+ .string { color: teal;
+ }
+ .number { color: teal;
+ }
+ .white_bkd { background-color: #ffffff;
+ }
+ .dk_grey_bkd { background-color: #999999;
+ }
+ .copyright { color: #666666;
+ font-size: small;
+ }
+ div div.legalnotice p { color: #666666;
+ }
+ pre.synopsis { border: 1px solid #dcdcdc;
+ }
+ .programlisting, .screen { border: 1px solid #dcdcdc;
+ }
+ td .programlisting, td .screen { border: 0px solid #dcdcdc;
+ }
+ div.note, div.tip, div.important, div.caution, div.warning, p.blurb { border: 1px solid #dcdcdc;
+ }
+ .toc { border: 1px solid #dcdcdc;
+ }
+ div.informaltable table tr td, div.table table tr td { border: 1px solid #dcdcdc;
+ }
+ div.informaltable table tr th, div.table table tr th { border: 1px solid #dcdcdc;
+ background-color: #f0f0f0;
+ }
+ span.highlight { color: #00a000;
+ }
+}
+@media print {
+ a { color: black;
+}
+ a:visited { color: black;
+ }
+ .spirit-nav { display: none;
+ }
+ pre.synopsis { border: 1px solid gray;
+ }
+ .programlisting, .screen { border: 1px solid gray;
+ }
+ td .programlisting, td .screen { border: 0px solid #dcdcdc;
+ }
+ .toc { border: 1px solid gray;
+ }
+ .informaltable table, .table table { border: 1px solid gray;
+ border-collapse: collapse;
+ }
+ div.informaltable table tr td, div.table table tr td { border: 1px solid gray;
+ }
+ div.informaltable table tr th, div.table table tr th { border: 1px solid gray;
+ }
+ span.highlight { font-weight: bold;
+ }
+}
+span.inlinemediaobject img {
+ vertical-align: middle;
+}
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_examples.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_examples.hpp 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,146 @@
+// Geometry Library
+//
+// Copyright Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef _DOXYGEN_EXAMPLES_HPP
+#define _DOXYGEN_EXAMPLES_HPP
+
+
+/*!
+\example 1_point_example.cpp
+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
+- the usage of include files
+- how to declare points, using different coordinate types
+- how to construct points, specifying coordinates, initializing to zero or to infinite
+- how to compare points to each other
+- how points can be streamed as OGC text
+- calculating the distance from point to point
+*/
+
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\example 2_point_ll_example.cpp
+This example explains how to use point_ll latlong points. Those points can be specified in
+degrees or in radians. Calculations are usually done using radians. Storage is usually in
+degrees. There is a conversion method available.
+
+Furthermore, there are specific measures to avoid confusion between lat/lon, lat with east/west, etc:
+- There is a constructor using latitude / longitude
+- There is a constructor using longitude / latitude
+- There is \b no constructor using two floating point values
+- The latitude using DMS class should have north or south
+- The longitude using DMS class should have east or west
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\example 3_linestring_example.cpp
+The linestring example shows how linestrings can be declared and used and shows some more algorithms.
+One of the important concepts of the geometry library is that it is totally built upon the standard
+library, using the standard containers such as std::vector.
+
+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.
+
+The sample shows this, shows some algorithms:
+- geometry::envelope
+- geometry::length
+- geometry::distance
+- geometry::simplify
+- geometry::for_each
+- geometry::intersection
+
+This documentation illustrates the simplify algorithm and the intersection algorithm with some pictures.
+
+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.
+
+The image below shows the original and simplified linestring:
+\image html simplify_example.png
+The red line is the original linestring; the blue 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.
+
+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.
+\image html intersection_linestring_example.png
+The red line is intersected with the blue box. The intersection result, painted in black, is a multi_linestring containing three linestrings.
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\example 4_polygon_example.cpp
+The polygon example shows some examples of what can be done with polygons in the 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
+
+The illustrations below show the usage of the within algorithm and the intersection algorithm.
+
+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.
+
+\image html within_polygon_example.png
+
+The clipping algorithm, called intersection, is illustrated below:
+
+\image html clip_polygon_example.png
+
+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.
+
+include polygon_example.cpp
+*/
+
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\example 5_distance_example.cpp
+The distance example shows how the distance algorithms can be used for point_xy points, for
+point_ll points, with our without explicitly specified strategies
+*/
+
+//---------------------------------------------------------------------------------------------------
+ /*!
+\example 6_transformation_example.cpp
+This sample demonstrates the usage of the Geometry Library in combination with the
+uBLAS matrix/vector library.
+
+The Geometry Library does not define vector/matrix calculations. The reason for that is they are
+already there. Boost contains one in uBLAS. Furthermore there is a MTL. And there are many more
+available.
+
+So the Geometry Library can be used in combination with matrix/vector libraries. It supports the
+algorithm \b for_each_point which iterates through all points of a
+container, of a polygon, and it can visit a point as well (for consistancy). for_each_point can be
+used for transformations or projections.
+
+The Geometry Library also uses simple matrix/vector calculations in its algorithms. For example
+the dot-product is used, a determinant is calculated in the intersection calculation of segments,
+and a cross-product will be used.
+
+At this moment this those aritmethics calculated in the library. Until now we didn't want
+to introduce a library for this, because it was not completely clear which library. That might change.
+*/
+
+
+#endif // _DOXYGEN_EXAMPLES_HPP
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_mainpage.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_mainpage.hpp 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,72 @@
+// Geometry Library
+//
+// Copyright Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef _DOXYGEN_MAINPAGE_HPP
+#define _DOXYGEN_MAINPAGE_HPP
+
+
+/*!
+\mainpage Geometry Library
+
+\section header Geometry Library
+
+This Geometry Library is considered to be proposed to Boost,
+and is prepared for Boost until a certain point.
+It is not part of Boost.
+
+<em>Copyright © 1995-2008 <b>Barend Gehrels</b>, Geodan Holding B.V. Amsterdam, the Netherlands.\n
+Distributed under the Boost Software License, Version 1.0.\n
+(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</em>
+
+\section intro Introduction
+The Geometry Library provides a generic implementation of geometry algorithms. Besides the
+algorithms it defines the basic geometry classes (point, linestring, polygon) which are kept
+small and simple. The algorithms include some well-known and often needed algorithms as
+point-in-polygon, polygon area, point-to-point distance, point-to-line distance, line clipping and
+polygon clipping.
+
+The implementation is as generic as possible. The algorithms work, of course, on the geometry
+classes provided by the library, but they also work on geometry classes defined by the library
+user.
+
+The library follows conventions used in the std:: library and in the boost:: libraries. It also
+follows, where possible, the OGC names and conventions. OGC is the Open Geospatial Consortium,
+the standardization committee on GIS (Geographical Information Systems). OGC geometries are used
+in many environments, among others in databases (Oracle, MySQL, PostgreSQL). OGC specifies a library
+based on inheritance, as opposed to this library, which is a template library where data classes are
+strictly separated from the algorithms. Therefore it is not an OGC implementation (but an
+OGC implementation could be built with this library).
+
+\section platforms Platforms
+
+The library currently compiles successfully on the following platforms:
+- MS Visual Studio 2005 (Express Edition)
+- MS Visual Studio 2003
+- gcc version 3.4.4
+
+It doesn't compile on the following platform:
+- MS Visual Studio 6 (because of nested templates)
+
+\section history History
+Geodan started in 1995 with a Geographic Library, called geolib. 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.
+
+In 2007 the Geometry part was revised and completely templatized. Now that it is clear and well
+designed we consider proposing the geometry part to boost, and the boost community has expressed
+their interest.
+
+The library can be downloaded on "Download" in "Related pages".
+*/
+
+
+
+
+
+#endif // _DOXYGEN_MAINPAGE_HPP
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_pages.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/doxygen_pages.hpp 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,325 @@
+// Geometry Library
+//
+// Copyright Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef _DOXYGEN_PAGES_HPP
+#define _DOXYGEN_PAGES_HPP
+
+
+/*!
+\page points Points, point types, strategies, and algorithms
+This page explains the design of the library with respect to the generic point,
+derived point types, and strategies and algorithms.
+Note that, for clarity, the
+listings do not list the complete classes. Constructors, for example, are skipped.
+Listed methods are public methods.
+\n\n \section point class point
+The class point is templatized by coordinate-type and dimension. It is generic and coordinate
+access is implemented in a neutral way, using \b value methods.
+\dontinclude geometry.hpp
+\skipline template<typename T, size_t D>
+\until {
+There are two member function templates to get and set values:
+\skipline template <size_t K>
+\until }
+\skipline template <size_t K>
+\until }
+In loops, compile-time access doesn't work. So for use in loops, there are also member
+functions with an index to get and set values:
+\skipline void ivalue
+\until }
+\skipline ivalue
+\until }
+The coordinates themselves are stored using an array
+\skipline private
+\until };
+
+\n \section point_point_xy class point_xy for Cartesian 2D points
+Library users will normally work with derived points. The point_xy point is derived from the
+generic point and exposes its coordinates as x- and y-values. (<em>The this->template
+constructs are standard and required for some compilers.</em>)
+\skipline template<typename T>
+\until {
+\skipline inline const T& x()
+\until value<1>(v); }
+\skip };
+\line };
+
+\n \section xystrategy Strategy for point_xy for distance calculation
+\n For each point type, there are strategies for primitive operations. Take, for example, the
+distance algorithm. There is a strategy for point_xy points implementing this algorithm
+(which resides in namespace strategy::distance):
+\dontinclude strategies_point_xy.hpp
+\skipline template <typename P1
+\until {
+\skipline distance_result
+\until Pythagoras
+\skipline }
+\until };
+
+\n \section strategy class strategy_traits
+\n The \b strategy_traits class matches \b point-types with \b strategies.
+\n For each point-type there is a specialization
+which defines which strategy should be used. <em>(Detail: because the library can calculate the distance of two different
+types, the strategy_traits classes use actually two types).</em>
+The following specialization defines that for point_xy points, the Pythagoras strategy should be used.
+\dontinclude strategy_traits.hpp
+\skipline template <typename T1, typename T2>
+\until pythagoras
+\skip };
+\line };
+
+\n \section point_point_ll class point_ll for lat long points
+However, there are also latlong points, \b point_ll. They don't have x/y, but they have lat/lon methods.
+\dontinclude latlong.hpp
+\skipline template <dr_selector D,
+\until {
+\skipline lon()
+\until void lat
+\skip };
+\line };
+For these points totally different strategies are implemented then for xy-points.
+For distance calculation there are three different strategies provided:
+- \b haversine: fast, simple and often used, but not so accurate for calculations on the Earth
+- \b Andoyer: not well-known but fast and accurate
+- \b Vincenty: well-known, slower but very accurate.
+
+The strategy_traits class defines only one to be the default distance calculation strategy.
+\dontinclude strategy_traits.hpp
+\skipline template <dr_selector D1
+\until haversine
+\skip };
+\line };
+
+\n \section distance The distance algorithm
+Finally, the distance algorithm selects the right strategy using the strategy_traits class:
+\dontinclude distance.hpp
+\skipline template <typename P1, typename P2>
+\until {
+It then calls the overloaded method where a strategy can specified
+\skipline distance
+\until }
+Alternatively, the library user can call this overloaded method directly:
+- to specify another (for example more accurate) strategy
+- to specify a value (e.g. Earth radius) in the constructor of the strategy
+- because there is no default strategy implemented for the specified point type or
+point type combination
+
+\n \section other Other algorithms
+The explanation above concentrates on distance algorithms. However, the design is used for other
+algorithms as well: within, centroid, area, distance to a line segment, etc.
+
+\n \section other_geometries Other geometries
+All other geometry classes in the Geometry Library are class templates and the point type
+(point_xy, point_ll or a user defined point type) can be specified as a template argument.
+
+\n \section Summary
+- there are different point types
+- for each point type (or point-type-combination) there are strategies
+- the strategy_traits class selects the default strategy
+- the algorithms use the default strategy
+- the library user can select another strategy
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\page status Status and preview
+The revised Geometry Library is successfully reapplied to the original geolib. All original
+functionality is reimplemented. However, many OGC algorithms or geometry combinations have never
+been implemented by us. For example, the distance between two polygons has never been necessary
+in our environments.
+
+If the boost community is enthousastic about the library we consider to implement more algorithms,
+or more algorithms could be implemented because it is an Open Source process then.
+
+The preview doesn't contain all implemented functionality, but probably gives
+enough view on the design.
+
+Besides this, things might still be adapted because of changed insight and/or because of comments
+from the boost community.
+
+Finally, the accompanying Projection Library, converting between latlong-points and
+xy-points, is also considered to be made open source.
+
+See also section "Changes since preview 1"
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\page changes Changes since preview 1
+\section Structure
+In preview 1 there were two layers: algorithms and implementations.
+
+In this preview 2 there are three layers:
+- algorithms, working on the Geometry Library geometry data structures
+- implementation, implementations of algorithms, working on a more abstract base on any geometry
+which satisfies the concept
+- strategies: classes operating on a specific point type
+
+\section Documentation
+The documentation has been changed. Doxygen is now used to generate all documentation. There
+are many short examples.
+
+\section Points
+The point type is changed completely. In preview 1 all points were required to have members as x() and y().
+There were many comments on this design, already before the preview was posted.
+
+The new geometry::point:
+- has now a dimension which is templatized (this makes also 3D points possible)
+- they are coordinate neutral, implemented internally as an array
+
+There are currently the following derived points:
+- geometry::point_xy with members x() and y()
+- geometry::point_ll with members lat() and lon()
+- more derived points are possible, for example point_xyz or point_rgb
+
+Derived points should have corresponding strategies (primitive algorithms). See for more information
+the page \ref points.
+
+This change is based on suggestions made on the boost mailinglist by Hervé Brönnimann.
+
+\section oi Output iterators
+In preview 1 the intersection of a linestring with a box resulted in a multi-linestring.
+This has been changed. The intersection algorithms now produces intersected linestrings which are
+sent to output iterators.
+This suggestion was made on the boost mailinglist by Phil Endecott.
+
+\section mg Multi geometries
+In preview 1 the intersection algorithms resulted in a multi-linstring. This was one of the reasons
+to have the multi_polygon / multi_linestring. Other reasons are the OGC model, and that it is a
+standard GIS concept.
+
+\section ip Iterator pairs
+In preview 1 all linestring-algorithms worked on the whole linestring. Now, in addition, they also
+work on an interator pair. This suggestion was made on the boost mailinglist by Phil Endecott.
+
+\section dr Distance results
+In preview 1 the primary distance algorithms were named "squared_" and resulted in square distances,
+for performance reasons. This is valid for xy-points but not for some other points, such as latlong
+points. Therefore the distance algorithms now return "distance_result" structures, containing the
+distance and a boolean indicating if it is squared.
+
+\section ns Namespaces
+In preview 1 all code was located within namespace geometry. This has been changed. The design,
+which in preview 1 had already two layers, has now three layers (based on changes in points).
+The layers are reflected in namespaces:
+- namespace geometry for OGC and non OGC algorithms, working on geometry:: geometry-types
+- namespace impl for algorithms, working on template geometry types G (where G are types
+implemented with the required concepts). They are called by the algorithms from namespace geometry.
+- namespace strategy for more primitive algorithms working specificly on points,
+for example on point_xy or on point_ll. They are called by the impl-algorithms.
+
+This change in namespace has an additional positive effect. There were some comments on naming of some
+of the primary algorithms, for example within_point_in_polygon. This is now changed in point_in_polygon,
+residing in namespace impl::within
+
+\section wkt WKT
+The well-known-text implementation has been changed completely. In preview 1 all geometries could be
+streamed as well-known-text. This made streaming of other formats inconvenient. Now the library user can
+choose how and what he wants to be streamed.
+
+Besides that, there is a new algorithm from_wkt which parses WKT.
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\page WKT WKT (Well-Known Text)
+Well-Known Text is a text representation of a geometry, designed by \ref OGC.
+Well-Known Text can represent a point, a linestring, a polygon, or multi versions of those.
+
+Well-Known Text is used in the databases:
+- PostGreSQL
+- MySQL
+- SQL Server 2008
+
+WKT is explained in Wikipedia: http://en.wikipedia.org/wiki/Well-known_text
+\note WKT points are comma-separated, coordinates are space-separated.
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+
+/*!
+\page OGC OGC (Open Geospatial Consortium)
+OGC is a standardizing committee on Geospatial Interoperability. The Geometry Library uses OGC conventions
+for \ref WKT, for class names and for algorithms.
+
+\section Classes
+OGC defines the following geometry classes, implemented by the Geometry Library:
+- \ref geometry::point "point": Point
+- \ref geometry::linestring "linestring": Sequence of point values with linear interpolation
+between points
+- \ref geometry::linear_ring "linear_ring": Sequence of point values with linear interpolation
+between points, which is closed and
+not self-intersecting
+- \ref geometry::polygon "polygon": Plane figure, consisting of an outer ring and zero or more
+inner rings.
+<em>Note that this definition is different from several other polygon definitions and libraries,
+where polygons are not allowed to have holes. These polygons are comparable to the linear_ring above</em>
+- \b multi_point: collection of points
+- \b multi_linestring: collection of linestrings
+- \b multi_polygon: collection of polygons
+
+The naming of these classes is used in:
+- WKT (Well-Known Text)
+- KML (Google Maps)
+- GML
+- many GIS/geometry libraries
+
+Besides this the Geometry Library provides the following additional classes:
+- \ref geometry::box "box": Box, used for selections and for envelopes (bounding boxes)
+- \ref geometry::circle "circle": Circle, used for selections
+- \ref geometry::segment "segment": Segment, helper class, used for e.g. intersections
+
+
+\section Algorithms
+The Geometry Library implements the following OGC algorithms, which are applicable to most or all geometries
+- \b area: Returns the area of surface-geometries
+- \b as_text: Represents the geometry as a Well Known Text
+- \b centroid: Returns a point geometry: the centroid on surface-geometries
+- \b distance: Returns the distance between two geometries
+- \b envelope: Returns the bounding box of a geometry
+- \b intersection: Returns a geometry containing the intersection between two geometries
+- \b is_simple: Returns true if the geometry is simple (doesn't intersect itself)
+- \b length: Returns the length of curve-type geometries
+- \b within: Returns true if one geometry falls completely within another geometry
+
+\section Differences
+The Geometry Library does not implement the OGC Simple Feature interface exactly and completely.
+There are many differences. Below the most important differences are listed.
+- In OGC all operations are class methods. The Geometry Library is a template library and defines the operations
+as functions.
+- 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 Geometry Library the basic point defines coordinates in a neutral way,
+so there is no x, no y. In addition there are two derived point classes:
+\ref geometry::point_ll "point_ll" and \ref geometry::point_xy "point_xy".
+- in OGC all geometries have additional members, such as SRID, type, dimension information. These
+properties are not defined in the Geometry Library. Library users can implement them, if necessary,
+in derived classes.
+- In OGC the envelope returns a geometry, in the Geometry Library it returns a box
+- The OGC algorithm asText is renamed to the class as_wkt and the manipulators in streamwkt
+
+
+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
+*/
+
+//---------------------------------------------------------------------------------------------------
+
+/*!
+\page download Download the Geometry Library
+The geometry library preview 2 can be downloaded here:
+http://geometrylibrary.geodan.nl/geometry_library_preview_2.zip
+*/
+
+
+
+
+
+#endif // _DOXYGEN_PAGES_HPP
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/geometry.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/geometry.html 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -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>Geometry Library</title>
+
+<link rel="stylesheet" href="boostbook.css" type="text/css"></head>
+<body style="color: black; background-color: white; background-image: url(images/draft.png);" alink="#0000ff" link="#0000ff" vlink="#840084">
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="proposed_boost.png" height="86" width="277"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+<div class="chapter" lang="en">
+<div>
+<h2 class="title">Geometry Library</h2>
+</div>
+<span class="bold">
+This Geometry Library will be proposed to Boost, and prepared
+for Boost until a certain point.
+<strong>It is not part of Boost.</strong>
+</span>
+
+<div class="author">
+<h3 class="author"><span class="firstname">Barend</span> <span class="surname">Gehrels</span></h3>
+</div>
+
+<div><p class="copyright">Copyright © 1995-2008 Barend Gehrels, Geodan B.V. Amsterdam, the Netherlands</p></div>
+<div class="legalnotice">
+<p>Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt
+or copy at http://www.boost.org/LICENSE_1_0.txt)
+</p>
+</div>
+
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Introduction</span></dt><dt><span class="section">Usage</span></dt>
+<dd>
+<dl>
+<dt><span class="section">Point Example</span></dt>
+<dt><span class="section">Linestring Example</span></dt>
+<dt><span class="section">Polygon Example</span></dt>
+</dl>
+</dd>
+<dt><span class="section"></span>Rationale<span class="section"></span></dt><dt><span class="section">Classes</span></dt>
+
+<dt><span class="section">Algorithms
</span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div>
+<h2 class="title" style="clear: both;"><a name="introduction"></a>Introduction</h2>
+</div>
+</div>
+<p> The Geometry Library provides a generic implementation of
+geometry algorithms. Besides the algorithms it defines the basic
+geometry classes (point, linestring, polygon) which are kept small and
+simple. The algorithms include some well-known and often needed algorithms
+as point-in-polygon, polygon area, point-to-point distance, point-to-line distance,
+line clipping and polygon clipping.
+</p>
+<p> The implementation is as generic as possible. The algorithms
+work, of course, on the geometry classes provided by the library, but
+they also work on geometry classes defined by the
+library user.
+</p>
+<p> The library follows conventions used in the std:: library and
+in the boost:: libraries. It also follows, where possible, the OGC
+names and conventions. OGC is the Open Geospatial Consortium,
+the standardization committee on GIS (Geographical Information
+Systems). OGC geometries are used in many environments, among others in
+databases (Oracle, MySQL, PostgreSQL). OGC specifies a library based on
+inheritance, as opposed to this library, which is a template library
+where data classes are strictly
+separated from the algorithms. Therefore it is not an OGC
+implementation (but an OGC implementation could be built with this
+library).
+</p>
+<p> The library interface functions and classes are defined in
+namespace <code class="computeroutput">geometry</code>.</p><div class="titlepage">
+<div>
+<h2 class="title" style="clear: both;"><a name="platforms"></a>Platforms</h2>
+</div>
+</div>
+ <p>The library currently compiles successfully on the following platforms:</p><ul><li><p>MS Visual Studio 2005 (Express Edition)</p></li><li><p>MS Visual Studio 2003 </p></li><li><p>gcc version 3.4.4</p></li></ul><p>It doesn't compile on the following platform:</p><ul><li>MS Visual Studio 6 (because of nested templates)</li></ul><div class="titlepage">
+<div>
+<h2 class="title" style="clear: both;"><a name="history"></a>History</h2>
+</div>
+</div>
+ <p>Geodan started in 1995 with a Geographic Library, called geolib.
+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><p>In 2007
+the Geometry part was revised and completely templatized. Now that it
+is clear and well designed we consider proposing the geometry part to
+boost, and the boost community has expressed their interest.</p><div class="titlepage">
+<div>
+<h2 class="title" style="clear: both;"><a name="status"></a>Status and preview</h2>
+</div>
+</div>
+ <p>The revised Geometry Library is successfully reapplied
+to the original geolib. All original functionality is
+reimplemented. However, many OGC algorithms or geometry combinations
+have never been implemented by us. For example, the distance between
+two polygons has never been necessary in our environments.</p><p>If
+the boost community is enthousastic about the library we consider to
+implement more algorithms, or more algorithms could be implemented
+because it is an Open Source process then.</p><p>The preview, placed
+January 2008, doesn't contain all implemented functionality, but
+probably gives enough view on the design. Algorithms using sweeping
+are not yet ready for preview.</p><p>Besides this, things might still be adapted because of changed insight and/or because of comments from the boost community.</p><div class="titlepage">
+<div>
+<h2 class="title" style="clear: both;"><a name="download"></a>Download preview</h2>
+</div>
+</div>
+ <p>The geometry library preview can be downloaded here.</p><p></p>
+</div>
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>February 1, 2008</p>
+</small></td>
+<td align="right"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</body></html>
\ No newline at end of file
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_footer.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_footer.html 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,17 @@
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>March 25, 2008</p>
+</small></td>
+<td align="right"><small>Copyright © 1995-2008 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands</small></td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
\ No newline at end of file
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_header.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2008/spacial_indexing/geometry/doc/gl_doxygen_header.html 2008-06-04 15:50:20 EDT (Wed, 04 Jun 2008)
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277"></td>
+</tr>
+</tbody>
+</table>
Added: sandbox/SOC/2008/spacial_indexing/geometry/doc/proposed_boost.png
==============================================================================
Binary file. No diff available.
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