mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-11 05:24:02 +00:00
Boost.Geometry merge doc updates
[SVN r77001]
This commit is contained in:
parent
af40216f1d
commit
c8bc3cc1e1
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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.
|
||||
|
@ -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]
|
||||
|
@ -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] ]]
|
||||
]
|
||||
|
@ -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:
|
||||
|
@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Chapter 1. Geometry 1.49</title>
|
||||
<title>Chapter 1. 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 1. Geometry 1.49">
|
||||
<link rel="home" href="index.html" title="Chapter 1. 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 1. Geometry 1.49</h2></div>
|
||||
<a name="geometry"></a>Chapter 1. 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 © 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ández (spatial indexes) <sup>[<a name="id656686" href="#ftn.id656686" class="footnote">2</a>]</sup>
|
||||
Federico Ferná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>
|
||||
|
@ -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
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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]
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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)]
|
||||
|
@ -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]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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]
|
||||
|
15
doc/reference/algorithms/disjoint.qbk
Normal file
15
doc/reference/algorithms/disjoint.qbk
Normal 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]
|
@ -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]
|
||||
|
15
doc/reference/algorithms/envelope.qbk
Normal file
15
doc/reference/algorithms/envelope.qbk
Normal 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]
|
@ -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]
|
||||
|
@ -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]
|
||||
|
16
doc/reference/algorithms/for_each_point.qbk
Normal file
16
doc/reference/algorithms/for_each_point.qbk
Normal 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]
|
16
doc/reference/algorithms/for_each_segment.qbk
Normal file
16
doc/reference/algorithms/for_each_segment.qbk
Normal 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]
|
@ -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] ]
|
||||
|
@ -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]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
15
doc/reference/algorithms/overlaps.qbk
Normal file
15
doc/reference/algorithms/overlaps.qbk
Normal 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]
|
@ -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] ]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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] ]
|
||||
|
@ -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] ]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -13,3 +13,6 @@
|
||||
[heading Examples]
|
||||
[point]
|
||||
[point_output]
|
||||
|
||||
[include reference/geometries/point_assign_warning.qbk]
|
||||
|
||||
|
16
doc/reference/geometries/point_assign_warning.qbk
Normal file
16
doc/reference/geometries/point_assign_warning.qbk
Normal 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]
|
@ -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]
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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]
|
||||
|
@ -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)
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user