Boost.Geometry merge doc updates

[SVN r77001]
This commit is contained in:
Barend Gehrels 2012-02-12 18:01:22 +00:00
parent af40216f1d
commit c8bc3cc1e1
51 changed files with 327 additions and 54 deletions

View File

@ -39,9 +39,11 @@ compilers:
* 9.0 (__msvc__ 2008) [/reported by Trunk report May 8, 2011]
* 8.0 (__msvc__ 2005) [/reported by Trunk report May 8, 2011]
* gcc
* gcc 4.7.0 [/reported by Trunk report February 12, 2012]
* gcc 4.6.2 [/reported by Trunk report February 12, 2012]
* gcc 4.6.1 [/reported by Trunk report May 8, 2011]
* gcc 4.6.0 (including C++0x) [/reported by Trunk report May 8, 2011]
* gcc 4.5.2 (including C++0x) [/reported by Trunk report May 8, 2011]
* gcc 4.6.0 [/reported by Trunk report May 8, 2011]
* gcc 4.5.2 [/reported by Trunk report May 8, 2011]
* gcc 4.4.0 [/reported by Trunk report May 8, 2011]
* gcc 4.3.4 [/reported by Trunk report March 26, 2011]
* gcc 4.2.1 [/reported by Trunk report May 8, 2011]

View File

@ -16,7 +16,7 @@
[concept Linestring..linestring]
A linestring is ['a Curve with linear interpolation between Points].
([@http://portal.opengeospatial.org/files/?artifact_id=25355 opengeospatial]).
(__ogc_sf__).
[heading Concept Definition]
@ -27,9 +27,19 @@ The Linestring Concept is defined as following:
* The type defined by the metafunction `range_value<...>::type` must fulfill
the [link geometry.reference.concepts.concept_point Point Concept]
[heading Rules]
Besides the Concepts, which are checks on compile-time, there are rules that
valid linestrings must fulfill. Most algorithms work on any linestring, so either
self-crossing or not. However, for correct results using the overlay algorithms
(intersection and difference algorithms in combination with a polygon)
self-intersections can disturb the process and result in incorrect results.
[heading Available Models]
* [link geometry.reference.models.model_linestring model::linestring]
* a std::vector (requires registration)
* a std::deque (requires registration)
[see_boost_range_sample Linestring]
[endsect]

View File

@ -16,7 +16,7 @@
[concept Polygon..polygon]
A polygon is ['A polygon is a planar surface defined by one exterior boundary and zero or more interior boundaries]
([@http://portal.opengeospatial.org/files/?artifact_id=25355 opengeospatial]).
(__ogc_sf__).
So the definition of a Boost.Geometry polygon differs a bit from e.g. Wiki, where a polygon does not have holes. A
polygon of Boost.Geometry is a polygon with or without holes.

View File

@ -41,5 +41,6 @@ on the rules a polygon (and also a ring) must fulfill.
* a std::vector (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`)
* a std::deque (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`)
[see_boost_range_sample Ring]
[endsect]

View File

@ -1,3 +1,4 @@
[/NOTE: adapted manually, multi-linestring/multi-polygon do compile but not run!]
[heading Supported geometries]
[table
[[ ][Point][Range]]
@ -8,6 +9,6 @@
[[Ring][ [$img/ok.png] ][ [$img/ok.png] ]]
[[Polygon][ [$img/ok.png] ][ [$img/ok.png] ]]
[[MultiPoint][ [$img/ok.png] ][ [$img/ok.png] ]]
[[MultiLinestring][ [$img/ok.png] ][ [$img/ok.png] ]]
[[MultiPolygon][ [$img/ok.png] ][ [$img/ok.png] ]]
[[MultiLinestring][ [$img/nyi.png] ][ [$img/nyi.png] ]]
[[MultiPolygon][ [$img/nyi.png] ][ [$img/nyi.png] ]]
]

View File

@ -12,7 +12,6 @@
[library Geometry
[quickbook 1.5]
[version 1.49]
[authors [Gehrels, Barend], [Lalande, Bruno], [Loskot, Mateusz]]
[copyright 2009-2012 Barend Gehrels, Bruno Lalande, Mateusz Loskot]
[purpose Documentation of Boost.Geometry library]
@ -61,10 +60,6 @@
[template qbk_ret[what] Returns [what]]
[template qbk_out[what] GeometryOut is a [what]]
[template concept[name type] The [name] Concept describes the requirements for a [type] type.
All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.]
[def __boost__ Boost]
[def __boost_geometry__ Boost.Geometry]
[def __boost_array__ Boost.Array]
@ -78,6 +73,35 @@ All algorithms in Boost.Geometry will check any geometry arguments against the c
[def __ttmath__ [@http://www.ttmath.org/ ttmath]]
[def __ogc__ [@http://www.opengeospatial.org OGC]]
[def __ogc_sf__ [@http://www.opengeospatial.org/standards/sfa OGC Simple Feature Specification]]
[/Templates]
[template concept[name type]
The [name] Concept describes the requirements for a [type] type.
All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.
]
[template heading_conformance_no_ogc[function]
[heading Conformance]
The function [function] is not defined by OGC.
]
[template heading_conformance_ogc[function ogc_function]
[heading Conformance]
The function [function] implements function [ogc_function] from the __ogc_sf__.
]
[template conformance_std[function std_function]
The function [function] conforms to the [std_function] of the C++ std-library.
]
[template see_boost_range_sample[concept]
[note See also the sample in the [@../../../range/doc/html/range/reference/extending/method_2.html Boost.Range documentation]
showing how a type can be adapted to a Boost.Range to fulfill the concept of a [concept]
]
]
[heading Contributions]
Boost.Geometry contains contributions by:

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter&#160;1.&#160;Geometry 1.49</title>
<title>Chapter&#160;1.&#160;Geometry</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Geometry 1.49">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Geometry">
<link rel="next" href="geometry/introduction.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -21,7 +21,7 @@
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="geometry"></a>Chapter&#160;1.&#160;Geometry 1.49</h2></div>
<a name="geometry"></a>Chapter&#160;1.&#160;Geometry</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Barend</span> <span class="surname">Gehrels</span>
</h3></div></div>
@ -34,7 +34,7 @@
<div><p class="copyright">Copyright &#169; 2009-2012 Barend
Gehrels, Bruno Lalande, Mateusz Loskot</p></div>
<div><div class="legalnotice">
<a name="id625665"></a><p>
<a name="id792816"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
@ -89,24 +89,24 @@
Alfredo Correa (adaption of Boost.Array)
</li>
<li class="listitem">
Adam Wulkiewicz (spatial indexes) <sup>[<a name="id656673" href="#ftn.id656673" class="footnote">1</a>]</sup>
Adam Wulkiewicz (spatial indexes) <sup>[<a name="id823824" href="#ftn.id823824" class="footnote">1</a>]</sup>
</li>
<li class="listitem">
Federico Fern&#225;ndez (spatial indexes) <sup>[<a name="id656686" href="#ftn.id656686" class="footnote">2</a>]</sup>
Federico Fern&#225;ndez (spatial indexes) <sup>[<a name="id823837" href="#ftn.id823837" class="footnote">2</a>]</sup>
</li>
</ul></div>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id656673" href="#id656673" class="para">1</a>] </sup>
<div class="footnote"><p><sup>[<a name="ftn.id823824" href="#id823824" class="para">1</a>] </sup>
Currently an extension
</p></div>
<div class="footnote"><p><sup>[<a name="ftn.id656686" href="#id656686" class="para">2</a>] </sup>
<div class="footnote"><p><sup>[<a name="ftn.id823837" href="#id823837" class="para">2</a>] </sup>
Currently an extension
</p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: February 12, 2012 at 12:12:26 GMT</small></p></td>
<td align="left"><p><small>Last revised: February 12, 2012 at 17:59:04 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@ -38,10 +38,9 @@ The library follows existing conventions:
* conventions from boost
* conventions from the std library
* conventions and names from one of the __ogc__ standards on geometry and, more
specificly, from the
[@http://portal.opengeospatial.org/files/?artifact_id=25355 Simple Feature Specification]
specificly, from the __ogc_sf__
The library was released with Boost 1.47.0 and from that point on it is
The library was first released with Boost 1.47.0 and from that point on it is
officially part of the Boost C++ Libraries.
Latest stable version of the source code is included in the

View File

@ -10,6 +10,12 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ append]
[heading_conformance_no_ogc __this_function__]
[include generated/append_status.qbk]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ area]
[heading_conformance_ogc __this_function__..Area]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,13 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ buffer]
[heading_conformance_ogc __this_function__..Buffer]
[note The current implemetation only enlarges a box, which is not defined by OGC.
A next version of the library will contain a more complete implementation
]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ centroid]
[heading_conformance_ogc __this_function__..Centroid]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -11,6 +11,10 @@
=============================================================================/]
[def __is_cleared__ is cleared]
[def __this_function__ clear]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..__this_function__() method]
[include generated/clear_status.qbk]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ comparable_distance]
[heading_conformance_no_ogc __this_function__]
[heading Behaviour]
There is no (not yet) version with a strategy.

View File

@ -10,9 +10,9 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[note convert is not defined within OGC or ISO]
[note convert is modelled as source -> target
(where assign is modelled as target := source)]
[def __this_function__ convert]
[heading_conformance_no_ogc __this_function__]
[include generated/convert_status.qbk]
[note In this status matrix above: columns are source types
@ -29,4 +29,5 @@ Linear
[heading See also]
* [link geometry.reference.algorithms.assign.assign assign]
[note convert is modelled as source -> target
(where assign is modelled as target := source)]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ convex_hull]
[heading_conformance_ogc __this_function__..ConvexHull()]
[include generated/convex_hull_status.qbk]
[heading Complexity]

View File

@ -11,6 +11,11 @@
=============================================================================/]
[def __corrected__ is corrected]
[def __this_function__ correct]
[heading_conformance_no_ogc __this_function__]
[include generated/correct_status.qbk]
[heading Behavior]
[table
@ -22,8 +27,6 @@
[[__other__][__does_nothing__]]
]
[tip Correct is not defined within OGC or ISO]
[heading Complexity]
Linear

View File

@ -10,17 +10,20 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ covered_by]
[heading_conformance_no_ogc __this_function__]
[note Both PostGIS and Oracle contain an algorithm with the same name and the
same functionality.
See the [@http://www.postgis.org/docs/ST_CoveredBy.html PostGIS documentation].
]
[include generated/covered_by_status.qbk]
[note In this status matrix above: columns are types of first parameter
and rows are types of second parameter. So a point can be checked to be
covered by a polygon, but not vice versa.
]
[note convert is not defined within OGC or ISO. However, both PostGIS
and Oracle contain an algorithm with the same name and the same functionality.
See the [@http://www.postgis.org/docs/ST_CoveredBy.html PostGIS documentation].
]
[heading Complexity]
Linear

View File

@ -8,6 +8,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ difference]
[heading_conformance_ogc __this_function__..Difference]
[include reference/algorithms/difference_behavior.qbk]
[include reference/algorithms/geometry_rules.qbk]

View File

@ -0,0 +1,15 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[def __this_function__ disjoint]
[heading_conformance_ogc __this_function__..Disjoint]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ distance]
[heading_conformance_ogc __this_function__..Distance]
[include generated/distance_status.qbk]
[heading Complexity]

View File

@ -0,0 +1,15 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[def __this_function__ envelope]
[heading_conformance_ogc __this_function__..Envelope]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ equals]
[heading_conformance_ogc __this_function__..Equals]
[include generated/equals_status.qbk]
[heading Complexity]

View File

@ -10,8 +10,12 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ expand]
[def __apply_expand__ Box is expanded to include the specified]
[heading_conformance_no_ogc __this_function__]
[heading Behavior]
[table
[[Case] [Behavior] ]
@ -20,7 +24,6 @@
[[__box__ / __other__][__nyiversion__]]
]
[tip Expand is not defined within OGC or ISO]
[note To use expand with another geometry type then specified, use expand(make_envelope<box_type>(geometry)]
[heading Complexity]

View File

@ -0,0 +1,16 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[def __this_function__ for_each_point]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..std::for_each function]

View File

@ -0,0 +1,16 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[def __this_function__ for_each_segment]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..std::for_each function]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ intersection]
[heading_conformance_ogc __this_function__..Intersection]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,11 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ intersects]
[heading_conformance_ogc __this_function__..Intersects]
[? __one_parameter__ The version with one parameter is additional and not described in the OGC standard]
[heading Examples]
[intersects_linestring]
[intersects_linestring_output]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ length]
[heading_conformance_ogc __this_function__..Length]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ num_geometries]
[heading_conformance_ogc __this_function__..NumGeometries]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,11 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ num_interior_ring]
[heading_conformance_ogc __this_function__..NumInteriorRing]
[note __boost_geometry__ adds an "s"]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,12 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ num_points]
[heading_conformance_ogc __this_function__..NumPoints]
[note __this_function__ can be called for any geometry and not just linestrings
(as the standard describes)]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -0,0 +1,15 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[def __this_function__ overlaps]
[heading_conformance_ogc __this_function__..Overlaps]

View File

@ -10,6 +10,14 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ perimeter]
[heading_conformance_no_ogc __this_function__]
[note PostGIS contains an algorithm with the same name and the
same functionality.
See the [@http://www.postgis.org/docs/ST_Perimeter.html PostGIS documentation].
]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ reverse]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..std::__this_function__ function]
[heading Behavior]
[table
@ -27,8 +31,6 @@
[note The reverse of a (multi)polygon or ring might make a valid geometry invalid because the (counter)clockwise orientation reverses.]
[tip Conforms to std::reverse functionality. It is not defined within OGC or ISO]
[heading Complexity]
Linear

View File

@ -10,6 +10,23 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ simplify]
[heading_conformance_no_ogc __this_function__]
[note PostGIS contains an algorithm with the same name and the
same functionality.
See the [@http://www.postgis.org/docs/ST_Simplify.html PostGIS documentation].
]
[note SQL Server contains an algorithm Reduce() with the same functionality.
See the [@http://msdn.microsoft.com/en-us/library/bb933814.aspx MSDN documentation].
]
[heading Behavior]
Simplification is done using [@http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm Douglas-Peucker] (if the default strategy is used).
[note Geometries might become invalid by using simplify. The simplification
process might create self-intersections.
]
[heading Examples]
[simplify]
[simplify_output]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ sym_difference]
[heading_conformance_ogc __this_function__..SymDifference]
[include reference/algorithms/difference_behavior.qbk]
[include reference/algorithms/geometry_rules.qbk]

View File

@ -10,6 +10,10 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ transform]
[heading_conformance_no_ogc __this_function__]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -10,6 +10,11 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ union]
[heading_conformance_ogc __this_function__..Union]
[note __boost_geometry__ adds an underscore to avoid using the `union` keyword]
[heading Behavior]
[table
[[Case] [Behavior] ]

View File

@ -11,6 +11,10 @@
=============================================================================/]
[def __applies_unique__ Removes all consecutive duplicate points]
[def __this_function__ unique]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..std::__this_function__ function]
[heading Behavior]
[table
@ -26,8 +30,6 @@
[[__multi_polygon__][__applies_unique__ in all contained polygons (all rings)]]
]
[tip Conforms to std::unique functionality. It is not defined within OGC or ISO]
[heading Complexity]
Linear

View File

@ -10,6 +10,11 @@
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[def __this_function__ within]
[heading_conformance_ogc __this_function__..Within]
[note OGC defines within as completely within and not on the border. See the notes for within / on the border]
[include generated/within_status.qbk]
[note In this status matrix above: columns are types of first parameter
and rows are types of second parameter. So a point can be checked to be

View File

@ -13,3 +13,6 @@
[heading Examples]
[point]
[point_output]
[include reference/geometries/point_assign_warning.qbk]

View File

@ -0,0 +1,16 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
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)
=============================================================================/]
[heading Notes]
[note Coordinates are not initialized. If the constructor with parameters is not
called and points are not assigned using `set` or `assign` then the coordinate
values will contain garbage]

View File

@ -23,13 +23,14 @@
[*Bugfixes]
* bugfix: distance for multi-geometries ignored specified distance strategy. Fixed
* bugfix in difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
* bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
* bugfix: raise exception for calculation of distances of multi-geometrie(s) where one of them is empty
* bugfix: multi DSV did not correctly use settings, fixed
* bugfix: self-intersections could sometimes be missed (introduced in 1.48), fixed
* bugfix: convex hull crashed on empty range (e.g. empty multi point), fixed
* bugfix: area/centroid/side/intersection/distance did not work for "int" type filled with large (but not overflowing) integers. Fixed.
* bugfix: disjoint/intersect did not work for degenerate linestrings. Fixed.
* bugfix: covered_by did not compile for a ring. Fixed.
[*Solved tickets]
@ -43,18 +44,20 @@
* support for line/polygon intersections and differences
* support for convert of segment/box of different point types
* support for append for multi point
* scalar functions (distance, area, length, perimeter) now throw an empty_input_exception on empty input
* the scalar function distance now throws an empty_input_exception on empty input
[*Documentation]
* updated support status in several algorithms
* updated conformance to OGC or std
* other updates and fixes
[*Internal changes]
* updates in specializations/not_implemented for distance/convert/assign/area/with/covered_by
* move of wkt/dsv to io folder, making domains redundant
* warnings: strategy concepts assigned to zero to avoid clang warnings (patched by Vishnu)
* warnings: there were several unused parameters, for which gcc/clang warned. Fixed.
* warnings: there were several unused parameters, for which gcc/clang warned (patched by Christophe)
[/=================]
[heading Boost 1.48]

View File

@ -32,14 +32,14 @@ int main()
// Append a range
append(poly, tuple_list_of(0, 0)(0, 10)(11, 11)(10, 0)); /*< tuple_list_of delivers a range and can therefore be used in boost::geometry::append >*/
// Append a point (in this case the closing point
// Append a point (in this case the closing point)
append(poly, make_tuple(0, 0));
// Create an interior ring (append does not do this automatically)
boost::geometry::interior_rings(poly).resize(1);
// Append a range to the interior ring
append(poly, tuple_list_of(2, 2)(2, 5)(6, 6)(5, 2), 0);
append(poly, tuple_list_of(2, 2)(2, 5)(6, 6)(5, 2), 0); /*< The last parameter ring_index 0 denotes the first interior ring >*/
// Append a point to the first interior ring
append(poly, make_tuple(2, 2), 0);

View File

@ -228,7 +228,9 @@ struct disjoint_reversed
\param geometry1 \param_geometry
\param geometry2 \param_geometry
\return \return_check2{are disjoint}
*/
\qbk{[include reference/algorithms/disjoint.qbk]}
*/
template <typename Geometry1, typename Geometry2>
inline bool disjoint(Geometry1 const& geometry1,
Geometry2 const& geometry2)

View File

@ -216,14 +216,7 @@ struct envelope
\param geometry \param_geometry
\param mbr \param_box \param_set{envelope}
\par Example:
Example showing envelope calculation, using point_ll latlong points
\dontinclude doxygen_1.cpp
\skip example_envelope_polygon
\line {
\until }
\qbk{[include reference/algorithms/envelope.qbk]}
\qbk{
[heading Example]
[envelope] [envelope_output]
@ -253,6 +246,7 @@ inline void envelope(Geometry const& geometry, Box& mbr)
\param geometry \param_geometry
\return \return_calc{envelope}
\qbk{[include reference/algorithms/envelope.qbk]}
\qbk{
[heading Example]
[return_envelope] [return_envelope_output]

View File

@ -250,6 +250,7 @@ struct for_each_segment<polygon_tag, Polygon, Functor, IsConst>
\tparam Functor \tparam_functor
\qbk{distinguish,const version}
\qbk{[include reference/algorithms/for_each_point.qbk]}
\qbk{[heading Example]}
\qbk{[for_each_point_const] [for_each_point_const_output]}
*/
@ -277,6 +278,7 @@ inline Functor for_each_point(Geometry const& geometry, Functor f)
\tparam Geometry \tparam_geometry
\tparam Functor \tparam_functor
\qbk{[include reference/algorithms/for_each_point.qbk]}
\qbk{[heading Example]}
\qbk{[for_each_point] [for_each_point_output]}
*/
@ -305,6 +307,7 @@ inline Functor for_each_point(Geometry& geometry, Functor f)
\tparam Functor \tparam_functor
\qbk{distinguish,const version}
\qbk{[include reference/algorithms/for_each_segment.qbk]}
\qbk{[heading Example]}
\qbk{[for_each_segment_const] [for_each_segment_const_output]}
*/
@ -331,6 +334,8 @@ inline Functor for_each_segment(Geometry const& geometry, Functor f)
\param f \par_for_each_f{segment}
\tparam Geometry \tparam_geometry
\tparam Functor \tparam_functor
\qbk{[include reference/algorithms/for_each_segment.qbk]}
*/
template<typename Geometry, typename Functor>
inline Functor for_each_segment(Geometry& geometry, Functor f)

View File

@ -35,6 +35,7 @@ namespace boost { namespace geometry
\return \return_check{is self-intersecting}
\qbk{distinguish,one geometry}
\qbk{[def __one_parameter__]}
\qbk{[include reference/algorithms/intersects.qbk]}
*/
template <typename Geometry>

View File

@ -179,7 +179,9 @@ struct overlaps<box_tag, box_tag, Box1, Box2>
\brief \brief_check2{overlap}
\ingroup overlaps
\return \return_check2{overlap}
*/
\qbk{[include reference/algorithms/overlaps.qbk]}
*/
template <typename Geometry1, typename Geometry2>
inline bool overlaps(Geometry1 const& geometry1, Geometry2 const& geometry2)
{

View File

@ -36,6 +36,9 @@ namespace model { namespace d2
[heading Model of]
[link geometry.reference.concepts.concept_point Point Concept]
}
\qbk{[include reference/geometries/point_assign_warning.qbk]}
*/
template<typename CoordinateType, typename CoordinateSystem = cs::cartesian>
class point_xy : public model::point<CoordinateType, 2, CoordinateSystem>