[DEV] add v1.66.0

This commit is contained in:
2018-01-12 21:47:58 +01:00
parent 87059bb1af
commit a97e9ae7d4
49032 changed files with 7668950 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2014 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2014 Mateusz Loskot, London, UK.
Copyright (c) 2009-2014 Bruno Lalande, Paris, France.
This file was modified by Oracle on 2014.
Modifications copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
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__ append]
[heading_conformance_no_ogc __this_function__]
[include reference/status/append_status.qbk]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__point__, __box__, __segment__][Compiles, but no action]]
[[__linestring__][Appends point or range to the end of the linestring]]
[[__ring__][Appends point or range to the end of the ring (without explicitly closing it)]]
[[__polygon__][Appends point or range to the end of the polygon (without explicitly closing it),
either the exterior ring (the default) or specify a zero-based index for one of the interior rings.
In the last case, the interior rings are not resized automatically,
so ensure that the zero-based index is smaller than the number of interior rings]]
[[__multi_linestring__][Appends point or range to the end of the
linestring with the given multi index.
The multi-linestring is not resized automatically, so ensure
that the multi index is smaller than then number of linestring
in the multi-linestring.]]
[[__multi_polygon__][Appends point or range to the end of the polygon
(without explicitly closing it) with the given multi-index.
The point or range is appended at the end of the
exterior ring (the default) or specify a zero-based ring index for
the interior rings.
The multi-polygon is not resized automatically, so ensure
that the multi index is smaller than then number of polygon
in the multi-polygon. The same applies for the interior rings
of the polygon: the interior rings are not resized
automatically, so ensure that the zero-based ring index is
smaller than the number of interior rings of the polygon.]]
]
[heading Complexity]
Linear
[heading Example]
[append]
[append_output]
[heading See also]
* [link geometry.reference.algorithms.assign.assign_points assign]

View File

@@ -0,0 +1,33 @@
[/============================================================================
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__ area]
[heading_conformance_ogc __this_function__..Area]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret 0]]]
[[__2dim__][[qbk_ret the area]]]
[[__cart__][[qbk_ret the area] __cs_units__]]
[[__sph__][[qbk_ret the area] __sph1__]]
[[__rev__][[qbk_ret the negative area]]]
]
[include reference/status/area_status.qbk]
[heading Complexity]
Linear

View File

@@ -0,0 +1,26 @@
[/============================================================================
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__ 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] ]
[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
]

View File

@@ -0,0 +1,72 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2014 Barend Gehrels, 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)
=============================================================================/]
[def __this_function__ buffer]
[heading Strategies]
The 5 strategies give the user control to the generated buffer
* convex corners can be rounded or sharp
* line-ends can be rounded or flat
* distance can be symmetric or assymetric, and positive or negative
* around points the shape can be circular or square
* the sides can be controlled (currently there is only one option provided)
By specifying a negative distance for the distance_strategy, for the (multi) polygon case, the polygon will be smaller (also known as deflate). The distance cannot be 0.
The next figure shows where in the generated buffer the strategies have effect
[$img/algorithms/buffer_strategies.png]
[heading_conformance_ogc __this_function__..Buffer]
It is conformant if used with the following combination of strategies:
[link geometry.reference.strategies.strategy_buffer_join_round join_round],
[link geometry.reference.strategies.strategy_buffer_end_round end_round],
[link geometry.reference.strategies.strategy_buffer_distance_symmetric distance_symmetric],
[link geometry.reference.strategies.strategy_buffer_point_circle point_circle],
side_straight
[heading Supported geometries]
[table
[[ ][2D Cartesian]]
[[Point][[$img/ok.png]]]
[[Segment][[$img/nyi.png]]]
[[Box][[$img/nyi.png]]]
[[Linestring][[$img/ok.png]]]
[[Ring][[$img/ok.png]]]
[[Polygon][[$img/ok.png]]]
[[MultiPoint][[$img/ok.png]]]
[[MultiLinestring][[$img/ok.png]]]
[[MultiPolygon][[$img/ok.png]]]
]
[heading Examples]
[buffer_with_strategies]
[heading The linestring case]
[$img/algorithms/buffer_linestring.png]
[heading The multi_point case]
[$img/algorithms/buffer_multi_point.png]
[heading The multi_polygon case]
[$img/algorithms/buffer_multi_polygon.png]
[heading Available Strategies]
* JoinStrategy: [link geometry.reference.strategies.strategy_buffer_join_round join_round (cartesian)]
* JoinStrategy: [link geometry.reference.strategies.strategy_buffer_join_miter join_miter (cartesian)]
* EndStrategy: [link geometry.reference.strategies.strategy_buffer_end_round end_round (cartesian)]
* EndStrategy: [link geometry.reference.strategies.strategy_buffer_end_flat end_flat (cartesian)]
* DistanceStrategy: [link geometry.reference.strategies.strategy_buffer_distance_symmetric distance_symmetric]
* DistanceStrategy: [link geometry.reference.strategies.strategy_buffer_distance_asymmetric distance_asymmetric]
* PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_circle point_circle (cartesian)]
* PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_square point_square (cartesian)]
* SideStrategy: [link geometry.reference.strategies.strategy_buffer_side_straight side_straight (cartesian)]

View File

@@ -0,0 +1,46 @@
[/============================================================================
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__ centroid]
[heading_conformance_ogc __this_function__..Centroid]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__point__][Returns the point itself as the centroid]]
[[__multi_point__][Calculates centroid (based on average)]]
[[__1dim__][Calculates centroid (based on weighted length)]]
[[__2dim__][Calculates centroid]]
[[__empty__][Throws a [link geometry.reference.exceptions.centroid_exception centroid_exception] ]]
[[__cart__][Implemented]]
[[__sph__][Calculates the centroid as if based on Cartesian coordinates]]
]
[/ TODO: change by status /]
[heading Supported geometries]
[table
[[ ][2D][3D]]
[[Point][[$img/ok.png]][[$img/ok.png]]]
[[Segment][[$img/ok.png]][[$img/ok.png]]]
[[Box][[$img/ok.png]][[$img/ok.png]]]
[[Linestring][[$img/ok.png]][[$img/nyi.png]]]
[[Ring][[$img/ok.png]][[$img/nyi.png]]]
[[Polygon][[$img/ok.png]][[$img/nyi.png]]]
[[MultiPoint][[$img/ok.png]][[$img/ok.png]]]
[[MultiLinestring][[$img/ok.png]][[$img/nyi.png]]]
[[MultiPolygon][[$img/ok.png]][[$img/nyi.png]]]
]
[heading Complexity]
Linear

View File

@@ -0,0 +1,14 @@
[/============================================================================
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 Available Strategies]
* [link geometry.reference.strategies.strategy_centroid_bashein_detmer Bashein Detmer (cartesian)]

View File

@@ -0,0 +1,41 @@
[/============================================================================
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 __is_cleared__ is cleared]
[def __this_function__ clear]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..__this_function__() method]
[include reference/status/clear_status.qbk]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__point__][__does_nothing__]]
[[__segment__][__does_nothing__]]
[[__box__][__does_nothing__]]
[[__linestring__][__linestring__ __is_cleared__]]
[[__ring__][__ring__ is cleared]]
[[__polygon__][The exterior ring __is_cleared__ and all interior rings are removed]]
[[__multi_point__][__multi_point__ __is_cleared__]]
[[__multi_linestring__][__multi_linestring__ __is_cleared__]]
[[__multi_polygon__][__multi_polygon__ __is_cleared__]]
]
[heading Complexity]
Constant
[heading Example]
[clear]
[clear_output]

View File

@@ -0,0 +1,33 @@
[/============================================================================
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__ comparable_distance]
[heading_conformance_no_ogc __this_function__]
[heading Behaviour]
It depends on the coordinate system of the geometry's point type if there is
a strategy available which can determine (more efficient than the standard
strategy) a measure of comparable distance.
[include reference/status/distance_status.qbk]
[heading Complexity]
For point to geometry: linear
For multi-point to ring/polygon/multi-polygon: currently quadratic
For all other geometry combinations: linearithmic
[heading Example]
[comparable_distance]
[comparable_distance_output]

View File

@@ -0,0 +1,33 @@
[/============================================================================
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__ convert]
[heading_conformance_no_ogc __this_function__]
[include reference/status/convert_status.qbk]
[note In this status matrix above: columns are source types
and rows are target types. So a box can be converted to a ring, polygon
or multi-polygon, but not vice versa.]
[heading Complexity]
Linear
[heading Example]
[convert]
[convert_output]
[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

@@ -0,0 +1,24 @@
[/============================================================================
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__ convex_hull]
[heading_conformance_ogc __this_function__..ConvexHull()]
[include reference/status/convex_hull_status.qbk]
[heading Complexity]
Linearithmic
[heading Example]
[convex_hull]
[convex_hull_output]

View File

@@ -0,0 +1,36 @@
[/============================================================================
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 __corrected__ is corrected]
[def __this_function__ correct]
[heading_conformance_no_ogc __this_function__]
[include reference/status/correct_status.qbk]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__ring__][__ring__ __corrected__]]
[[__polygon__][__polygon__ __corrected__]]
[[__multi_polygon__][__multi_polygon__ __corrected__]]
[[__box__][__box__ __corrected__ with respect to minimal and maximal corners]]
[[__other__][__does_nothing__]]
]
[heading Complexity]
Linear
[heading Example]
[correct]
[correct_output]

View File

@@ -0,0 +1,35 @@
[/============================================================================
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__ 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 reference/status/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.
]
[heading Complexity]
Linear
[heading See also]
* [link geometry.reference.algorithms.within within]
[note The difference with the `within` algorithm is that this algorithm checks the
border by default
]

View File

@@ -0,0 +1,22 @@
[/============================================================================
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.
This file was modified by Oracle on 2014.
Modifications copyright (c) 2014 Oracle and/or its affiliates.
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)
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
=============================================================================/]
[def __this_function__ crosses]
[heading_conformance_ogc __this_function__..Crosses]
[include reference/status/crosses_status.qbk]

View File

@@ -0,0 +1,26 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2011-2012 Barend Gehrels, 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)
=============================================================================/]
[def __this_function__ difference]
[heading_conformance_ogc __this_function__..Difference]
[include reference/algorithms/difference_behavior.qbk]
[include reference/algorithms/geometry_rules.qbk]
[heading Example]
[difference] [difference_output]
[heading See also]
* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)]
* [link geometry.reference.algorithms.intersection intersection]
* [link geometry.reference.algorithms.union_ union]

View File

@@ -0,0 +1,28 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2011-2014 Barend Gehrels, Amsterdam, the Netherlands.
This file was modified by Oracle on 2014.
Modifications copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
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 Behavior]
[table
[[Case] [Behavior] ]
[[__2dim__][All combinations of: box, ring, polygon, multi_polygon]]
[[__1dim__ / __2dim__][A combinations of a (multi) linestring with a (multi) polygon
results in a collection of linestrings]]
[[__1dim__][All combinations of: linestring, multi_linestring; results in a collection of linestrings]]
[[__0dim__][All combinations of: point, multi_point; results in a collection of points]]
[[__other__][__nyiversion__]]
[[__sph__][__nyiversion__]]
[[Three dimensional][__nyiversion__]]
]

View File

@@ -0,0 +1,22 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2011-2012 Barend Gehrels, 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)
=============================================================================/]
[include reference/algorithms/difference_behavior.qbk]
[include reference/algorithms/geometry_rules.qbk]
[heading Example]
[difference_inserter] [difference_inserter_output]
[heading See also]
* [link geometry.reference.algorithms.sym_difference.sym_difference_inserter_3 sym_difference_inserter (symmetric difference)]
* [link geometry.reference.algorithms.intersection.intersection_inserter_3 intersection_inserter]
* [link geometry.reference.algorithms.union.union_inserter_3 union_inserter]

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__ disjoint]
[heading_conformance_ogc __this_function__..Disjoint]
[include reference/status/disjoint_status.qbk]

View File

@@ -0,0 +1,28 @@
[/============================================================================
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__ distance]
[heading_conformance_ogc __this_function__..Distance]
[include reference/status/distance_status.qbk]
[heading Complexity]
For point to geometry: linear
For multi-point to ring/polygon/multi-polygon: currently quadratic
For all other geometry combinations: linearithmic
[heading Example]
[distance]
[distance_output]

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

@@ -0,0 +1,25 @@
[/============================================================================
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__ equals]
[heading_conformance_ogc __this_function__..Equals]
[include reference/status/equals_status.qbk]
[heading Complexity]
Linear
[heading Example]
[equals]
[equals_output]

View File

@@ -0,0 +1,35 @@
[/============================================================================
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__ expand]
[def __apply_expand__ Box is expanded to include the specified]
[heading_conformance_no_ogc __this_function__]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__box__ / __point__][__apply_expand__ __point__]]
[[__box__ / __box__][__apply_expand__ __box__]]
[[__box__ / __other__][__nyiversion__]]
]
[note To use expand with another geometry type then specified, use expand(make_envelope<box_type>(geometry)]
[heading Complexity]
Linear
[heading Example]
[expand]
[expand_output]

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

@@ -0,0 +1,12 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2011-2012 Barend Gehrels, 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)
=============================================================================/]
[note Check the [link geometry.reference.concepts.concept_polygon Polygon Concept]
for the rules that polygon input for this algorithm should fulfill]

View File

@@ -0,0 +1,39 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2014 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2014 Mateusz Loskot, London, UK.
Copyright (c) 2009-2014 Bruno Lalande, Paris, France.
This file was modified by Oracle on 2014.
Modifications copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
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__ intersection]
[heading_conformance_ogc __this_function__..Intersection]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[[qbk_out __point__]][Calculates intersection points of input geometries]]
[[[qbk_out __linestring__]][Calculates intersection linestrings of input (multi)linestrings]]
[[[qbk_out __polygon__]][Calculates intersection polygons of input (multi)polygons and/or boxes]]
]
[include reference/algorithms/geometry_rules.qbk]
[heading Example]
[intersection]
[intersection_output]
[heading See also]
* [link geometry.reference.algorithms.union_ union]
* [link geometry.reference.algorithms.difference difference]
* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)]

View File

@@ -0,0 +1,24 @@
[/============================================================================
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__ intersects]
[heading_conformance_ogc __this_function__..Intersects]
[? __one_parameter__ The version with one parameter is additional and not described in the OGC standard]
[/ uncomment if this file is splitted into one/two parameter versions /]
[/ include reference/status/intersects_status.qbk /]
[heading Examples]
[intersects_linestring]
[intersects_linestring_output]

View File

@@ -0,0 +1,26 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2015, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ is_empty]
[heading_conformance_ogc __this_function__..IsEmpty]
[include reference/status/is_empty_status.qbk]
[heading Complexity]
Constant-time
[heading Example]
[is_empty]
[is_empty_output]
[heading See also]
* [link geometry.reference.algorithms.num_points num_points]

View File

@@ -0,0 +1,30 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ is_simple]
[heading_conformance_ogc __this_function__..IsSimple]
[include reference/status/is_simple_status.qbk]
[heading Complexity]
Constant-time for points, segments and boxes
Linear for rings, polygons and multi-polygons
Linearithmic for multi-points, linestrings and multi-linestrings
[heading Example]
[is_simple]
[is_simple_output]
[heading See also]
* [link geometry.reference.algorithms.is_valid is_valid]

View File

@@ -0,0 +1,32 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ is_valid]
[heading_conformance_no_ogc __this_function__]
[include reference/status/is_valid_status.qbk]
[heading Complexity]
Constant-time for points, segments, boxes and multi-points
Linear for linestrings and multi-linestrings
Linearithmic for rings
Currently, worst-case quadratic for polygons and multi-polygons
[heading Example]
[is_valid]
[is_valid_output]
[heading See also]
* [link geometry.reference.algorithms.is_simple is_simple]

View File

@@ -0,0 +1,33 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2015, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ is_valid]
[heading_conformance_no_ogc __this_function__]
[include reference/status/is_valid_status.qbk]
[heading Complexity]
Constant-time for points, segments, boxes and multi-points
Linear for linestrings and multi-linestrings
Linearithmic for rings
Currently, worst-case quadratic for polygons and multi-polygons
[heading Example]
[is_valid_failure]
[is_valid_failure_output]
[heading See also]
* [link geometry.reference.algorithms.is_simple is_simple]
* [link geometry.reference.enumerations.validity_failure_type validity_failure_type]

View File

@@ -0,0 +1,32 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2015, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ is_valid]
[heading_conformance_no_ogc __this_function__]
[include reference/status/is_valid_status.qbk]
[heading Complexity]
Constant-time for points, segments, boxes and multi-points
Linear for linestrings and multi-linestrings
Linearithmic for rings
Currently, worst-case quadratic for polygons and multi-polygons
[heading Example]
[is_valid_message]
[is_valid_message_output]
[heading See also]
* [link geometry.reference.algorithms.is_simple is_simple]

View File

@@ -0,0 +1,29 @@
[/============================================================================
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__ length]
[heading_conformance_ogc __this_function__..Length]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret the length]]]
[[__2dim__][[qbk_ret 0]]]
]
[heading Complexity]
Linear
[heading Examples] [/ filled by doxml2qbk]

View File

@@ -0,0 +1,31 @@
[/============================================================================
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__ num_geometries]
[heading_conformance_ogc __this_function__..NumGeometries]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__single__][[qbk_ret 1]]]
[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
]
[heading Complexity]
Constant
[heading Examples]
[num_geometries]
[num_geometries_output]

View File

@@ -0,0 +1,33 @@
[/============================================================================
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__ num_interior_ring]
[heading_conformance_ogc __this_function__..NumInteriorRing]
[note __boost_geometry__ adds an "s"]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__polygon__][[qbk_ret the number of its interior rings]]]
[[__multi_polygon__][[qbk_ret the number of the interior rings of all polygons]]]
[[__other__][[qbk_ret 0]]]
]
[heading Complexity]
Constant
[heading Examples]
[num_interior_rings]
[num_interior_rings_output]

View File

@@ -0,0 +1,38 @@
[/============================================================================
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__ 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] ]
[[__point__][[qbk_ret 1]]]
[[__segment__][[qbk_ret 2]]]
[[__box__][[qbk_ret 2^d, where d is the dimension of the box]]]
[[__range__][[qbk_ret boost::size(geometry)]]]
[[__other__][[qbk_ret the sum of the number of points of its elements]]]
[[Open geometries][[qbk_ret the sum of the number of points of its elements, it adds one for open (per ring) if specified]]]
[[Closed geometries][[qbk_ret the sum of the number of points of its elements]]]
]
[heading Complexity]
Constant or Linear
[heading Examples]
[num_points]
[num_points_output]

View File

@@ -0,0 +1,32 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ num_segments]
[heading_conformance_no_ogc __this_function__]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__segment__][[qbk_ret 1]]]
[[__box__][[qbk_ret d * 2^(d-1), where d is the dimension of the box]]]
[[__range__][[qbk_ret boost::size(geometry) - 1]]]
[[__other__][[qbk_ret the sum of the number of segments of its elements]]]
]
[heading Complexity]
Constant or Linear
[heading Examples]
[num_segments]
[num_segments_output]

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__ overlaps]
[heading_conformance_ogc __this_function__..Overlaps]
[include reference/status/overlaps_status.qbk]

View File

@@ -0,0 +1,31 @@
[/============================================================================
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__ 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] ]
[[__0dim__][Returns zero]]
[[__1dim__][Returns zero]]
[[__2dim__][Returns the perimeter]]
]
[heading Complexity]
Linear

View File

@@ -0,0 +1,23 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2015, Oracle and/or its affiliates.
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ relate]
[heading_conformance_ogc __this_function__..Relate]
[heading Example]
[relate]
[relate_output]
[heading See also]
* [link geometry.reference.de9im.de9im_mask de9im::mask]
* [link geometry.reference.de9im.de9im_static_mask de9im::static_mask]
* [link geometry.reference.algorithms.relation relation]

View File

@@ -0,0 +1,24 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2015, Oracle and/or its affiliates.
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
Licensed under the Boost Software License version 1.0.
http://www.boost.org/users/license.html
=============================================================================/]
[def __this_function__ relation]
[heading Conformance]
This function is additional and not described in the OGC standard.
The spatial relation is represented by DE-9IM matrix.
[heading Example]
[relation]
[relation_output]
[heading See also]
* [link geometry.reference.de9im.de9im_matrix de9im::matrix]
* [link geometry.reference.algorithms.relate relate]

View File

@@ -0,0 +1,40 @@
[/============================================================================
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__ reverse]
[heading_conformance_no_ogc __this_function__]
[conformance_std __this_function__..std::__this_function__ function]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__point__][__does_nothing__]]
[[__segment__][__nyiversion__]]
[[__box__][__does_nothing__]]
[[__linestring__][Reverses the __linestring__]]
[[__ring__][Reverses the __ring__]]
[[__polygon__][Reverses the exterior ring and all interior rings in the polygon]]
[[__multi_point__][__does_nothing__]]
[[__multi_linestring__][Reverses all contained linestrings individually]]
[[__multi_polygon__][Reverses all contained polygons individually]]
]
[note The reverse of a (multi)polygon or ring might make a valid geometry invalid because the (counter)clockwise orientation reverses.]
[heading Complexity]
Linear
[heading Example]
[reverse]
[reverse_output]

View File

@@ -0,0 +1,35 @@
[/============================================================================
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__ 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]
[heading Image(s)]
[$svg_simplify_country.png]

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 Examples]
[simplify_inserter]
[simplify_inserter_output]

View File

@@ -0,0 +1,29 @@
[/============================================================================
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__ sym_difference]
[heading_conformance_ogc __this_function__..SymDifference]
[include reference/algorithms/difference_behavior.qbk]
[include reference/algorithms/geometry_rules.qbk]
[heading Example]
[sym_difference]
[sym_difference_output]
[heading See also]
* [link geometry.reference.algorithms.difference difference]
* [link geometry.reference.algorithms.intersection intersection]
* [link geometry.reference.algorithms.union_ union]

View File

@@ -0,0 +1,19 @@
[/============================================================================
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__ touches]
[heading_conformance_ogc __this_function__..Touches]
[? __one_parameter__ The version with one parameter is additional and not described in the OGC standard]
[note Implemented for Point/Linestring/MultiLinestring/Polygon/MultiPolygon.]

View File

@@ -0,0 +1,32 @@
[/============================================================================
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__ transform]
[heading_conformance_no_ogc __this_function__]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[__sph__ (degree) / __sph__ (radian)][Transforms coordinates from degree to radian, or vice versa]]
[[__sph__ / __cart__ (3D)][Transforms coordinates from spherical coordinates to X,Y,Z, or vice versa, on a unit sphere]]
[[__sph__ (degree, with radius) / __sph__ (radian, with radius)][Transforms coordinates from degree to radian, or vice versa. Third coordinate (radius) is untouched]]
[[__sph__ (with radius) / __cart__ (3D)][Transforms coordinates from spherical coordinates to X,Y,Z, or vice versa, on a unit sphere. Third coordinate (radius) is taken into account]]
]
[heading Complexity]
Linear
[heading Example]
[transform]
[transform_output]

View File

@@ -0,0 +1,19 @@
[/============================================================================
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 Complexity]
Linear
[heading Example]
[transform_with_strategy]
[transform_with_strategy_output]

View File

@@ -0,0 +1,40 @@
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2014 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2014 Mateusz Loskot, London, UK.
Copyright (c) 2009-2014 Bruno Lalande, Paris, France.
This file was modified by Oracle on 2014.
Modifications copyright (c) 2014, Oracle and/or its affiliates.
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
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__ union]
[heading_conformance_ogc __this_function__..Union]
[note __boost_geometry__ adds an underscore to avoid using the `union` keyword]
[heading Behavior]
[table
[[Case] [Behavior] ]
[[[qbk_out __point__]][Calculates union linestrings of input (multi)points]]
[[[qbk_out __linestring__]][Calculates union linestrings of input (multi)linestrings]]
[[[qbk_out __polygon__]][Calculates union polygons of input (multi)polygons and/or boxes]]
]
[include reference/algorithms/geometry_rules.qbk]
[heading Example]
[union]
[union_output]
[heading See also]
* [link geometry.reference.algorithms.intersection intersection]
* [link geometry.reference.algorithms.difference difference]
* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)]

View File

@@ -0,0 +1,39 @@
[/============================================================================
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 __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
[[Case] [Behavior] ]
[[__point__][__does_nothing__]]
[[__segment__][__does_nothing__]]
[[__box__][__does_nothing__]]
[[__linestring__][__applies_unique__]]
[[__ring__][__applies_unique__]]
[[__polygon__][__applies_unique__ in all rings]]
[[__multi_point__][__does_nothing__. Even if two equal points happen to be stored consecutively, they are kept]]
[[__multi_linestring__][__applies_unique__ in all contained linestrings]]
[[__multi_polygon__][__applies_unique__ in all contained polygons (all rings)]]
]
[heading Complexity]
Linear
[heading Example]
[unique]
[unique_output]

View File

@@ -0,0 +1,35 @@
[/============================================================================
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__ 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 reference/status/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
within a polygon, but not vice versa.]
[heading Notes]
If a point is located exactly on the border of a geometry, the result depends on the strategy.
The default strategy ([link geometry.reference.strategies.strategy_within_winding Winding (coordinate system agnostic)])
returns false in that case.
If a polygon has a reverse oriented (e.g. counterclockwise for a clockwise typed polygon), the result also depends on the strategy.
The default strategy returns still true if a point is completely within the reversed polygon. There is a specific strategy which returns false in this case.
[heading Complexity]
Linear
[heading See also]
* [link geometry.reference.algorithms.covered_by covered_by]