Commit Graph

2521 Commits

Author SHA1 Message Date
Barend Gehrels
e4cd46ac5d [buffer] support degenerate linestrings containing one point. In that
case point-buffer is applied. Including updated unit tests
2014-10-24 11:21:32 +02:00
Adam Wulkiewicz
153276fbb3 [geometries] Fix unused parameter warning in ring_proxy 2014-10-20 16:07:15 +02:00
Adam Wulkiewicz
ac6744fa89 [algorithms] Fix unused parameter warning in throw_on_empty_input() 2014-10-20 16:06:41 +02:00
Adam Wulkiewicz
8ad3bd8188 [strategies] Fix conversion in intersection_result.hpp 2014-10-20 15:27:15 +02:00
Adam Wulkiewicz
d067f7b21b [algorithms][index] Remove extra semicolons. 2014-10-19 23:05:08 +02:00
Adam Wulkiewicz
b1d3bb9665 Merge pull request #161 from mkaravel/feature/distance
Re-factoring of bg::distance
2014-10-19 22:13:46 +02:00
Adam Wulkiewicz
1808886487 Merge pull request #155 from awulkiew/fix/centroid
Fix/centroid
2014-10-18 17:35:29 +02:00
Adam Wulkiewicz
eee5b9e6ea [centroid] Move translating_transformer to separate file.
Add ctor taking Geometry to transformer.
This allows to encapsulate the origin-retrieving-logic inside the transformer.
Remove assign_origin() function.
2014-10-18 17:27:52 +02:00
Adam Wulkiewicz
1a2bb4f72e Merge pull request #132 from awulkiew/fix/distance_spherical
Fix/distance spherical
2014-10-18 13:40:25 +02:00
Adam Wulkiewicz
cc9b1292a6 Merge pull request #152 from awulkiew/fix/convex_hull
Fix/convex hull
2014-10-18 13:38:16 +02:00
Adam Wulkiewicz
b56727c606 Merge pull request #163 from awulkiew/fix/disjoint
Fix/disjoint
2014-10-18 13:28:02 +02:00
Adam Wulkiewicz
fba1b5607f [disjoint] Update a comment about point on border. 2014-10-18 12:07:15 +02:00
Adam Wulkiewicz
34fb6d82ef [disjoint] Replace has_within with not_disjoint and set it instead of checking conditions. 2014-10-18 11:58:53 +02:00
Adam Wulkiewicz
a87ace4c58 [nsphere][index][rstar] Fix compilation errors. 2014-10-18 03:45:25 +02:00
Adam Wulkiewicz
1f0d7393fb [nsphere][num_points] Fix compilation errors. 2014-10-18 03:45:06 +02:00
Adam Wulkiewicz
ed649b3b73 [disjoint] Fix A/A by replacing point_on_surface with point_on_boundary and changing relation check. 2014-10-18 03:06:38 +02:00
Adam Wulkiewicz
441ef15657 [relate] Fix uninitialized const object error. 2014-10-17 02:43:56 +02:00
Menelaos Karavelas
688fc8fda2 [algorithms][distance] rename the file "geometry_to_geometry_rtree.hpp"
to "range_to_geometry.hpp"
2014-10-16 18:25:36 +03:00
Menelaos Karavelas
c3dc9d0083 [algorithms][distance] remove the geometry_to_geometry_rtree class
(not used anymore); rename "cf" to "closest_features" (more descriptive);
fix header includes;
2014-10-16 18:22:00 +03:00
Menelaos Karavelas
5590da0d13 [algorithms][distance] remove the UseRTreeOfSegments template parameter
and the specialization when the value of this parameter was false
2014-10-16 18:20:47 +03:00
Menelaos Karavelas
e2eeebc3b7 [algorithms][closest_feature] for each intermediate distance result
add test against zero, and return if needed
2014-10-16 18:19:24 +03:00
Adam Wulkiewicz
4ff5fc787b [core] Use bare_type in closure and point_order. 2014-10-16 16:43:16 +02:00
Adam Wulkiewicz
a757dc8fef [util][core] remove_reference in bare_type. 2014-10-16 16:01:45 +02:00
Menelaos Karavelas
87e56dd875 [algorithms][distance] remove unused variables 2014-10-15 19:34:35 +03:00
Menelaos Karavelas
146a17467f [algorithms][distance] replace the default value for the boolean template
parameter CheckCoveredBy to the correct one
2014-10-15 19:31:49 +03:00
Menelaos Karavelas
2221746e42 [algorithms][distance] change calls to bg::within by the more stable
bg::covered_by; rename template parameter in partial specialization of
point_to_multigeometry to reflect the actual geometry for which it is
called;
2014-10-15 19:25:51 +03:00
Adam Wulkiewicz
49f677cca9 [index][intersection_content] Add a condition to make the code more robust and silence GCC 4.9.x warning about uninitialized variable. 2014-10-15 17:06:11 +02:00
Adam Wulkiewicz
5125c518b7 [distance][strategy] (spherical) Cosmetic changes - comment, lines length. 2014-10-15 16:32:30 +02:00
Matt Amos
5b47fb3188 [extreme_points] s/kludge/factor/ when flipping side tests. 2014-10-15 14:29:44 +02:00
Matt Amos
deb9d08914 [extreme_points] Kludge to flip side strategy for CCW polygons and their inners. 2014-10-15 13:55:32 +02:00
Matt Amos
786aac69b7 [point_on_surface] Do multiply & divide as separate steps to preserve as much precision as possible when using integer coordinates. 2014-10-15 13:55:05 +02:00
Barend Gehrels
8528423314 Merge branch 'develop' into feature/buffer 2014-10-15 13:08:39 +02:00
Barend Gehrels
70b722436b [buffer] Fix rt_u13 but that fix is still commented because causes other issues.
get_left_turns/occupation_info are revised
2014-10-15 11:59:01 +02:00
Menelaos Karavelas
54a969212c [algorithms][closest_feature] follow coding guidelines regarding "if (expr)" statements 2014-10-15 12:22:19 +03:00
Menelaos Karavelas
ba80bae681 [algorithms][distance] follow coding guidelines regarding "if (expr)" statements 2014-10-15 12:20:13 +03:00
Menelaos Karavelas
f58f6a8255 [algorithms][distance] rename beyond to last 2014-10-14 23:38:55 +03:00
Menelaos Karavelas
ecd30f48b6 [algorithms][closest_feature] add assertion against an empty range 2014-10-14 15:46:21 +03:00
Menelaos Karavelas
b7367b76a9 [algorithms][closest_feature] rename beyond to last 2014-10-14 15:44:57 +03:00
Menelaos Karavelas
1139ca97f7 [algorithms][distance] modify the various classes to do not inherit
from closest feature classes, but rather call their public (instead
of protected) interface; optimize the computation of comparable
distances by not re-computing them from closest features
2014-10-14 11:19:18 +03:00
Menelaos Karavelas
d6b9ee59a5 [algorithms][distance] add a boolean metafunction that returns whether
a strategy is comparable or not
2014-10-14 11:16:31 +03:00
Menelaos Karavelas
419a5eadd1 [algorithms][closest_feature] modify the public interface to include
a version of the apply methods that returns (via a reference) the
minimum distance
2014-10-14 11:15:34 +03:00
Menelaos Karavelas
511845ac94 [algorithms][distance] delete obsolete files; code in these files
are to be moved to other files, or replaces by more generic functionality;
2014-10-13 15:24:02 +03:00
Menelaos Karavelas
76132d8737 [algorithms][distance] update the algorithms/detail/distance/implementation.hpp
file to reflect the new/updated files
2014-10-13 15:23:00 +03:00
Menelaos Karavelas
efd60133dc [algorithms][distance] update backward compatibility code according to
the new design rationale
2014-10-13 15:22:13 +03:00
Menelaos Karavelas
0daeabbe57 [algorithms][distance] re-factor the point range-to-geometry and
geometry-to-geometry distance computations: instead of computing distances
directly, first compute the closest features and then compute the distance
as the distance to the closest features; rewrite point range-to-geometry
distance computation so that the range passed can be a range of segments
of the geometry; remove all dispatch code (moved to other more appropriate files,
or replaced by more compact dispatch code);
2014-10-13 15:18:28 +03:00
Menelaos Karavelas
e74accfab9 [algorithms][distance] re-factor point-to-geometry distance computations;
include in point_to_geometry.hpp implementation of point-to-multigeometry
distance computations and dispatches; compute, whenever applicable, the closest
feature of the goemetry to the point, and then compute the distance as the
distance of this closest feature to the point; optimize the performance of
point-to-ring and point-to-polygon by not computing both containment and distance
to the boundary: compute the distance to the boundary only if the containment
test fails;
2014-10-13 15:14:23 +03:00
Menelaos Karavelas
e206352d12 [algorithms][distance] modify segment_to_box generic distance computation
to compute first the point-segment pair that realizes the minimum comparable
distance, and then use this pair to compute the actual distance; for the
cartesian-specific approach modify the code to work correctly and efficiently
for both comparable and non-comparable strategies, without calling
distance_comparable_to_regular;
2014-10-13 13:48:16 +03:00
Menelaos Karavelas
f660c3e6ab [algorithms][distance] modify segment_to_segment distance computation
to compute first the point-segment pair that realizes the minimum comparable
distance, and then use this pair to compute the actual distance
2014-10-13 13:45:44 +03:00
Menelaos Karavelas
a472441749 [algorithms][distance] add new implementation for computing the distance
between a multipoint and a geometry
2014-10-13 12:21:36 +03:00
Menelaos Karavelas
ce57784e1a [algorithms][distance] add generic implementation for computing the
distance between a geometry (linestring, ring, polygon, multipoint,
multilinestring, multipolygon) and a segment or box
2014-10-13 12:18:02 +03:00