Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
54ff519466 [stategies][distance] remove strategy::distance::services::strategy_point_point from distance strategies and distance strategy concept 2014-05-09 23:02:39 +03:00
Menelaos Karavelas
5c5d42341c [test][distance] move unit test code from test/multi/algorithms/multi_distance.cpp to test/algorithms/distance.cpp;
delete test/multi/algorithms/multi_distance.cpp;
2014-05-09 22:25:45 +03:00
Menelaos Karavelas
5777fd5b8d [overlay] the specialization of intersection_insert for linestring/box computes the intersection, but pretends as if it works for difference as well;
quick fix: further specialize this specialization of intersection insert so that it works only for overlay_intersection;
problem and quick fix related to boost trac ticket #10019;
2014-05-09 09:33:32 +03:00
Menelaos Karavelas
a7d02e0391 [distance][test] enable segment-segment distance computations 2014-05-09 00:20:24 +03:00
Menelaos Karavelas
226dcc4e6c [comparable distance] fix comments so that they make sense wrt to the code they refer to 2014-05-09 00:02:17 +03:00
Menelaos Karavelas
47c1cfe9b6 [strategies][distance] re-implement the dfeault distance result using the default strategy from detail::distance::default_strategy 2014-05-08 23:59:11 +03:00
Menelaos Karavelas
73858fc359 [comparable distance] simplify the definition of the default comparable strategy using the class detail::distance::default_strategy 2014-05-08 23:56:55 +03:00
Menelaos Karavelas
4598228ea0 [distance] re-implement the default strategy type in free function distance(g1, g2); remove inclusion of unused headers; 2014-05-08 23:50:28 +03:00
Menelaos Karavelas
cd77588326 [strategies] implement default_comparable_distance_result class 2014-05-08 23:48:38 +03:00
Menelaos Karavelas
e729f37bbe [distance] perform reverse-dispatch for default strategy 2014-05-08 23:47:22 +03:00
Barend Gehrels
0a69813111 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-05-08 22:07:03 +02:00
Barend Gehrels
f4a687d79a [doc] Fixed double inclusion of Menelaos 2014-05-08 22:06:21 +02:00
Menelaos Karavelas
3d25114c8e [distance] remove inclusion of default_distance_result (not used) 2014-05-08 22:33:56 +03:00
Menelaos Karavelas
06ebf17a8d [disjoint] add alternative (more robust) implementation of segment-box disjointness test; the alternative implementation does not use any divisions 2014-05-08 22:24:01 +03:00
Menelaos Karavelas
aecc7c8015 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/distance-for-merge 2014-05-08 17:29:00 +03:00
Menelaos Karavelas
1a2ef5c2bc [disjoint] add specializations for linestring/multilinestring, multilinestring/multilinestring; fixed specialization for polygon/multilinestring 2014-05-08 16:39:09 +03:00
Menelaos Karavelas
23f8b97fac [index] include comparable_distance algorithm 2014-05-08 15:59:15 +03:00
Menelaos Karavelas
8a7a14bc53 [index] replace call to comparable_distance_near by bg::comparable_distance 2014-05-08 15:52:53 +03:00
Menelaos Karavelas
203aa991ae [index] replace #include <boost/geomerty/geometry.hpp> by the necessary includes 2014-05-08 15:46:25 +03:00
Adam Wulkiewicz
9ea4b6bf6c [index] Add the support for std::pair<> and boost/std::tuple<> registered as Indexable 2014-05-08 14:42:45 +02:00
Menelaos Karavelas
d289118bd9 [strategies] add the point-box and box-box pythagoras strategies in strategies/strategies.hpp 2014-05-08 15:26:57 +03:00
Menelaos Karavelas
752de3060a [iterators] add free function has_one_element, that tests whether an iterator range has a unique element (has size 1) 2014-05-08 15:15:16 +03:00
Menelaos Karavelas
b1eaf94bfe [strategies][distance] add a template parameter to default distance strategy corresponding to the second geometry of the distance strategy 2014-05-08 15:12:59 +03:00
Menelaos Karavelas
3c64533d7d [distance] add primary dispatch definition under algorithms/dispatch 2014-05-08 15:11:54 +03:00
Menelaos Karavelas
55f63b77df [distance] update distance.hpp: primary dispatch is under algorithms/dispatch/, details are under algorithms/detail/distance/ 2014-05-08 15:10:24 +03:00
Menelaos Karavelas
0600a3419f [strategies][distance] add tags for point-box and box-box strategies 2014-05-08 15:08:09 +03:00
Menelaos Karavelas
cfc4e7a3c9 [multi][distance] move multi/algorithms distance code under algorithms/ keep the file as a placeholder and include algorithms/distance.hpp 2014-05-08 15:06:19 +03:00
Menelaos Karavelas
ddc5ddf0ff [comparable distance] add free function for comparable distance that takes a strategy 2014-05-08 15:04:23 +03:00
Menelaos Karavelas
8a23c01061 [test][distance] add common code for distance unit tests 2014-05-08 15:02:49 +03:00
Menelaos Karavelas
e783d7ca2e [distance] dispatches for various geometry combinations with the point-point strategy;
the point-point strategy is not the natural distance strategy for these geometry pairs;
the dispatches have been added for backward compatibility;
2014-05-08 15:01:03 +03:00
Menelaos Karavelas
ab6588f9b2 [distance] implementation for distance(multi-point,range) 2014-05-08 15:00:07 +03:00
Menelaos Karavelas
8553124d37 [distance] base cose for distance computations using the R-Tree 2014-05-08 14:58:05 +03:00
Menelaos Karavelas
e1e227c022 [distance] segment-box distance computation 2014-05-08 14:57:44 +03:00
Menelaos Karavelas
3051652a5b [distance] add implementation for distance computation between a polygon and a segment or a box 2014-05-08 14:57:11 +03:00
Menelaos Karavelas
26dfb26d69 [distance] add implementation for distance computation between a range and a segment or a box 2014-05-08 14:53:21 +03:00
Menelaos Karavelas
5d04ac7c92 [distance] segment-to-segment distance computation 2014-05-08 14:52:51 +03:00
Menelaos Karavelas
22142c9040 [distance] add distance code for multi-to-multi geometry combinations and dispatch specializations;
some of the code in this file originated from multi/algorithms/distance.hpp
2014-05-08 14:52:13 +03:00
Menelaos Karavelas
6bac8b43a1 [distance] add distance code for single-to-multi geometry combinations and dispatch specializations;
some of the code in this file originated from multi/algorithms/distance.hpp
2014-05-08 14:49:27 +03:00
Menelaos Karavelas
ad2fbc9e5b [distance] add helper classes for choosing default strategies 2014-05-08 14:49:01 +03:00
Menelaos Karavelas
17d3f0e78e [strategies][distance] add class to convert a distance result from comparable to regular distance result if needed;
add implementation of this for cartesian coordinates (applies sqrt);
2014-05-08 14:47:19 +03:00
Menelaos Karavelas
f9825be6bf [distance] add implementation of distance(point, geometry); most of the origina code was in algorithms/distance.hpp; the point-box combination was added;
point_to_range takes only one strategy now; all intermediate distance computations done with comaprable distances (conversion happens at the end);
2014-05-08 14:43:38 +03:00
Menelaos Karavelas
ebc8d5cf63 [distance] add distance(box, box) detail implementation 2014-05-08 14:43:10 +03:00
Menelaos Karavelas
affc4340c2 [strategies][distance] add cartesian strategy for point-box and box-box distance computation 2014-05-08 13:49:24 +03:00
Menelaos Karavelas
319f9a7b83 [test][algorithms] add new unit tests for distance in Jamfile 2014-05-08 13:46:31 +03:00
Menelaos Karavelas
302c25280d [distance] add unit tests for all geometry combinations 2014-05-08 13:45:10 +03:00
Adam Wulkiewicz
5d128e7cde Merge pull request #23 from mkaravel/feature/setops
[overlay][P/P, L/L] replace BOOST_AUTO_TPL by the exact type
2014-05-08 02:44:55 +02:00
Menelaos Karavelas
cdd4bbc1aa Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-08 02:01:53 +03:00
Menelaos Karavelas
1e3041e748 [overlay][P/P, L/L] replace BOOST_AUTO_TPL by the exact type 2014-05-08 01:28:09 +03:00
Barend Gehrels
2c3d8dd90d [doc] updated contributors 2014-05-07 21:47:11 +02:00
Barend Gehrels
02bc0d908d [doc] updated the implementation_status tool to support centroid/envelope better
and added some relation status.
clang is now default
2014-05-07 20:53:37 +02:00