diff --git a/doc/Doxyfile b/doc/Doxyfile new file mode 100644 index 000000000..e32c567ad --- /dev/null +++ b/doc/Doxyfile @@ -0,0 +1,285 @@ +# Doxyfile 1.5.5 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "Boost.Geometry (aka GGL)" +PROJECT_NUMBER = +OUTPUT_DIRECTORY = ./doxygen_output +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/boost-geometry \ + c:/svn/boost-geometry/libs/geometry/doc/doxygen_input/pages +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +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 = NO +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 = . .. ../../../boost/geometry/core \ + ../../../boost/geometry/algorithms \ + ../../../boost/geometry/algorithms/detail \ + ../../../boost/geometry/algorithms/overlay \ + ../../../boost/geometry/arithmetic \ + ../../../boost/geometry/geometries/concepts \ + ../../../boost/geometry/geometries/concepts/detail \ + ../../../boost/geometry/geometries \ + ../../../boost/geometry/geometries/adapted \ + ../../../boost/geometry/geometries/register \ + ../../../boost/geometry/iterators \ + ../../../boost/geometry/multi/algorithms \ + ../../../boost/geometry/multi/algorithms/detail \ + ../../../boost/geometry/multi/core \ + ../../../boost/geometry/multi/geometries \ + ../../../boost/geometry/multi/geometries/concepts \ + ../../../boost/geometry/multi/iterators \ + ../../../boost/geometry/policies \ + ../../../boost/geometry/policies/relate \ + ../../../boost/geometry/strategies \ + ../../../boost/geometry/strategies/concepts \ + ../../../boost/geometry/strategies/agnostic \ + ../../../boost/geometry/strategies/cartesian \ + ../../../boost/geometry/strategies/spherical \ + ../../../boost/geometry/strategies/transform \ + ../../../boost/geometry/util \ + ../../../boost/geometry/extensions/io/svg \ + ./doxygen_input/pages +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.hpp +RECURSIVE = NO +EXCLUDE = ../../../boost/geometry/util/builder.hpp \ + ../../../boost/geometry/algorithms/parse.hpp \ + ../../../boost/geometry/algorithms/point_on_line.hpp \ + ../../../boost/geometry/strategies/cartesian/cart_intersect.hpp \ + ../../../boost/geometry/util/distance_sort.hpp \ + ./doxygen_extension_examples.hpp +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = . .. ../example \ + doxygen_input/sourcecode \ + ../../../boost/geometry/geometries \ + ../../../boost/geometry/strategies \ + ../../../boost/geometry/strategies/cartesian \ + ../../../boost/geometry/algorithms +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = doxygen_input/images +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +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 +#--------------------------------------------------------------------------- +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 = doxygen_input/ggl_doxygen_header.html +HTML_FOOTER = doxygen_input/ggl_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 = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = BOOST_CONCEPT_REQUIRES(x)= \ + BOOST_CONCEPT_ASSERT(x) = \ + BOOST_STATIC_ASSERT(x) = \ + DOXYGEN_SHOULD_SKIP_THIS \ + DOXYGEN_NO_DISPATCH \ + DOXYGEN_NO_IMPL \ + DOXYGEN_NO_DETAIL \ + DOXYGEN_NO_CONCEPT_MEMBERS \ + DOXYGEN_NO_TRAITS_SPECIALIZATIONS \ + DOXYGEN_NO_STRATEGY_SPECIALIZATIONS \ + DOXYGEN_NO_SPECIALIZATIONS +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 diff --git a/doc/README.txt b/doc/README.txt new file mode 100644 index 000000000..0cd80e938 --- /dev/null +++ b/doc/README.txt @@ -0,0 +1,37 @@ +Generic Geometry Library (ggl) + +Website: http://geometrylibrary.geodan.nl/ + +Copyright © 1995-2009 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands. +Copyright © 2008-2009 Bruno Lalande, Paris, France. + +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 + +Introduction + +The Generic Geometry Library (currently in "preview 4") provides a generic +implementation of geometry algorithms, working with user-defined geometries. + +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, convex hulls. It also contains +transformation algorithms, map projections and selection algorithms. + +Besides algorithms the library provides geometry classes which might be used, +but the generic algorithms do not depend on them. + +The library follows existing conventions: + + * conventions from boost + * conventions from the std library + * OGC names and conventions (see the page about OGC) + +This Generic Geometry Library (ggl) is aimed to be proposed to the Boost +Library Collection. + +The library can be downloaded from the Boost Sandbox or as a zipfile, +go to the Download page for more information: + +http://geometrylibrary.geodan.nl/download.html diff --git a/doc/boost.png b/doc/boost.png new file mode 100644 index 000000000..9912755af Binary files /dev/null and b/doc/boost.png differ diff --git a/doc/boostbook.css b/doc/boostbook.css new file mode 100644 index 000000000..81bb80618 --- /dev/null +++ b/doc/boostbook.css @@ -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; +} diff --git a/doc/design_notes.txt b/doc/design_notes.txt new file mode 100644 index 000000000..400e2b0c8 --- /dev/null +++ b/doc/design_notes.txt @@ -0,0 +1,168 @@ +Notes for Bruno / documentation + +1) BOX CONCEPT + +concepts/box_traits.hpp +a) static ints min_corner/max_corner to select min/max corner +b) namespace traits let user define: + -> traits::box_point::type LATERON made generic, this is geometry::point_type::type for everything + -> traits::box_access::get and set (LATERON RENAMED TO index_access AND GOT MORE TEMPLATE PARAMETERS) + Note that these concepts are NOT worked out anymore for our geometries + They are empty and should be specialized by the user. The + specialization of the predeclared box is in geometries/box.hpp +c) namespace support to use: + support::box_point::type for the type of the point of the box + support::box_coordinate::type for the coordinate type, double etc. + + LATERON CHANGED TO GET IT CONSISTENT (and removed support prefix): + point_type::type for the type of the point of the box (or any geometry) + coordinate_type::type for the coordinate type, double etc. of any geometry + +4) bget/bset like get/set for point point, but here for box (cannot override, GCC complains, might be with enable_if) + -> lateron renamed to get_indexed/set_indexed to harmonize with segment + +Note on concept compared with point: +- it is smaller because most things are already in point +- the default traits classes are empty, propose to do that in point also +- I decided to not give directly access to the points of the box. Because users might + have a box defined like this: struct box { double left,right,top,bottom; }; they have no point + at all. + However, they still should define a "point type", with meta-functions, that would be the type that fits with the box. + It also defines the coordinate system and dimensions. + + +Furthermore: +-> removed init enumerations and constructors +-> added instead of constructor a "init_inverse" utility LATERON RENAMED TO make_inverse and assign_inverse + + +2) POINT CONCEPT +didn't change the concept but: +-> removed in the source code everything using constructor with two values +-> removed the initialization +-> points should still have a default constructor, there is nothing to do about that. No problem I think +-> added instead of the constructor a "make" object generator set + +changed the concept files a bit: +-> moved usages of our points (coordinate_type etc) to point.hpp + so specialization is now required for custom point + -> THIS INVALIDATES ONE OF THE WELL FORM POINTS! + -> THIS REQUIRES USERS TO ALWAYS DEFINE 5 TRAIT METAFUNCTIONS + -> THEREFORE WE MIGHT ADD A MACRO (OR A FEW MACRO'S) TO REGISTER A CUSTOM POINT + +-> moved folder "concept/adapted" to "geometries/adapted" because, actually, it implements the concepts but it does not + define the concepts + + +SUGGESTIONS / CONSIDERATIONS: +-> I wouldn't be against merging the files coordinate.hpp, dimension.hpp, system.hpp and access.hpp to one file + "point_traits.hpp" (or "point_meta.hpp") to have the point concept defined in one place. + Like with box. + I ALREADY DID THIS. + +-> An idea would be that "*_concept.hpp" is renamed to "*_concept_check.hpp" and "*_traits.hpp" renamed to "*_concept.hpp" + because that last is what actually defines the concept, that first checks the concept. + However, the checker hpp must include the definition hpp, and all sources should check, so like now they include + "*_concept.hpp" and that is OK. + SO THIS SUGGESTION IS REDRAWN (?) + Still find it a bit unclear / confusing where is really the concept defined. In the traits? In the concept? In the dispatch? + +-> I wondered why the get function didn't return a const ref. But I understand. The value inside the geometry + object might be calculated (e.g. a planet, in time). So it has to return the value. + I first did change it but later on reverted it. + SO THIS SUGGESTION IS NOT VALID + + +QUESTIONS: +-> can ConstPoint be baseclass and Point derived such that it only additionally checks write access? + Or, maybe better that Point has a BOOST_CONCEPT_ASSERT from ConstPoint somewhere + IF yes, same for box + PROBABLY NOT + +-> name of a 2 or 3D (or ND) circle: this is nearly impossible. Wikipedia gives "ball" (meaning only the + interior), n-sphere, hypersphere (>3d). n-sphere was mentioned on the list (e.g. by Bruno), there were objections + I combined all and come up with "sphercle" as appropriate :-) + However, didn't commit that, too funny. Probably nsphere is the most appropriate. So that's how it is now... + + Objections to n-sphere are no problem as we still define a typedef "circle" and "sphere" for the 2D, 3D cases + + + +3) CONCEPTS IN GENERAL +We had the get/set functionality. It has proved very useful. +I made a bget/bset to set bounds of a box in a similar way. +THIS IS NOW CHANGED TO get_indexed/set_indexed to set by index of a box/segment/(n-sphere?). + +However, it can and should be slightly more generic. + +How to set the center of the circle? set_center? (later) NO, THIS IS NOW ALSO GET/SET, see below + +We had also the generic "support::coordinate
::type" function (and dimension). It would be useful if the same
+function could be used for all geometries.
+
+So I added one other level of indirection, by using again tag dispatching. I also decided to remove the namespace "support",
+because it is functionality even for the end user (e.g. getting the dimension of a geometry). It is generic functionality,
+just like "distance".
+
+
+So it is now, sample with coordinate type:
+
+1) one generic "coordinate_type December 1, 2009Modules
Here is a list of all modules:', '
+Documentation is generated by Doxygen
+
+
+Function overview
Here is a list of all functions:')
+doxygen_contents = doxygen_contents.replace('
Related Pages
Here is a list of all related documentation pages:', '
Main pages
The following pages give backgrounds on Boost.Geometry:')
+
+
+file_out = file (args[0], 'w')
+file_out.write(doxygen_contents)
+file_out.close()
diff --git a/doc/doxygen_input/ggl_doxygen_footer.html b/doc/doxygen_input/ggl_doxygen_footer.html
new file mode 100644
index 000000000..e1789091f
--- /dev/null
+++ b/doc/doxygen_input/ggl_doxygen_footer.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam
+
+Copyright © 2008-2009 Bruno Lalande, Paris
+Copyright © 2009 Mateusz Loskot, Cadcorp, London
+
+