Adam Wulkiewicz
3e681e31f3
[test] Fix initializer_list narrowing conversion error in get_clusters test.
2021-07-01 23:23:44 +02:00
Adam Wulkiewicz
815de96b84
Merge pull request #862 from awulkiew/feature/range_rvalue
...
Ranges, views and iterators improvements
2021-06-30 23:11:26 +02:00
Adam Wulkiewicz
0ff39316f7
Merge pull request #832 from awulkiew/fix/area_box
...
Area strategies for non-cartesian boxes.
2021-06-30 23:04:07 +02:00
Barend Gehrels
40c6544a9b
[test] add cases for issues #869 and #861
2021-06-23 10:17:54 +02:00
Adam Wulkiewicz
d2434eeead
Rename detail::normalized_view to detail::reverse_close_view.
...
Add detail::close_reverse_view performing closing and reversing in a
different order.
Use these views in algorithms.
Use different order of views in convert to preserve the starting point
of the original range.
2021-06-07 02:08:56 +02:00
Adam Wulkiewicz
32aaa05bd0
Remove range_type<> and modify detail::as_range(), plus other minor tweaks.
...
The rationale behind it is that in all cases range_type<> was used as
ring_type<>. There was a specialization for Box defining box_view<> but
this was semantically different than accessing a ring of geometry.
detail::as_range() was taking a range type and returning a reference to
this range which was inconsistent with ring_return_type<>.
Remove unneeded begin() and end() functions in non-mutable ranges
closeable_view<> and detail::normalized_view<>.
Add specialization of ring_type<> for linestrings since there is already
specialization of ring_return_type<>.
Fix some compilation errors.
2021-06-06 00:00:52 +02:00
Adam Wulkiewicz
cad76bf9a0
Refactor iterators and views allowing to pass them as temporaries.
...
Do not store pointers to ranges in iterators and views.
Implement copy ctors in iterators allowing to convert compatible
iterators.
In copy ctors use enable_if instead of static_assert.
2021-06-05 02:13:00 +02:00
Adam Wulkiewicz
2fc1a3fe8f
Add support for ranges passed by rvalue in range utilities.
...
This allows to pass temporary ranges and proxies without the need to
explicitly create variables.
2021-06-05 00:35:10 +02:00
Adam Wulkiewicz
c9edabe0f7
[test][disjoint] Add cases for DG and GC with explicitly defined strategies.
2021-06-03 16:03:51 +02:00
Adam Wulkiewicz
b1b29ec41d
[clear] Add support for GeometryCollection in clear().
2021-06-02 22:48:20 +02:00
Adam Wulkiewicz
4c84757d68
Merge branch 'develop' into feature/gc
2021-06-02 13:54:10 +02:00
Adam Wulkiewicz
8e3785ed67
Merge pull request #855 from awulkiew/feature/strategies_improvements
...
Umbrella strategies improvements
2021-06-02 13:40:15 +02:00
Barend Gehrels
e22bf290b1
[test] changes in recursive polygons buffer test
2021-06-02 11:46:31 +02:00
Barend Gehrels
1d4b2e5df2
[test] adapt testcases and / or expectations
2021-06-02 11:46:31 +02:00
Adam Wulkiewicz
e966bdd370
[length] Add support for DynamicGeometry and GeometryCollection in length().
2021-06-02 01:30:18 +02:00
Adam Wulkiewicz
9849f23b5c
Add DynamicGeometry adaptation for std::any.
2021-05-29 23:09:12 +02:00
Adam Wulkiewicz
6e71295d64
Add DynamicGeometry adaptation for std::variant.
2021-05-28 18:36:39 +02:00
Adam Wulkiewicz
251f7d15e0
Move algorithms/visit.hpp to algorithms/detail/visit.hpp
2021-05-28 17:30:26 +02:00
Adam Wulkiewicz
c7ae87d15c
Merge branch 'develop' into feature/gc
2021-05-28 17:09:11 +02:00
Adam Wulkiewicz
667471e5ed
Improve visit traits and algorithms.
...
Add support for rvalue references in visit traits and algorithms.
Move visit algorithms to detail namespace.
Rename visit_iterator trait to iter_visit.
Add tests for visit traits and algorithms.
Remove unneeded comments.
2021-05-28 01:48:26 +02:00
Vissarion Fisikopoulos
5702548348
Add missing cases for geographic segment-box disjoint ( #853 )
2021-05-26 10:49:06 +03:00
Vissarion Fisikopoulos
cade8d6ba6
Make line innterpolate tests more robust
2021-05-25 10:51:35 +03:00
Adam Wulkiewicz
dda2898215
[is_convex] Add support for Polygons.
2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
ec3b3b5de2
[strategies] Remove SeriesOrder from umbrella strategies and improve the implementation.
...
Use custom versions of enable_if for distance() getters.
Use default keyword in default ctors.
Remove unneeded strategy_converter specialization.
2021-05-24 21:30:32 +02:00
Vissarion Fisikopoulos
00f8c5a2bf
Update line_interpolate tests
2021-05-24 17:51:08 +03:00
Adam Wulkiewicz
83f18e8d8d
[test] Add missing include in approximately_equals test.
2021-05-21 19:06:44 +02:00
Adam Wulkiewicz
b858969108
Merge pull request #840 from awulkiew/feature/strategies_rest
...
Umbrella strategies for various algorithms.
2021-05-21 16:55:45 +02:00
Adam Wulkiewicz
a5c8258d56
[io] Add support for GeometryCollection in WKT read and write.
2021-05-21 02:00:45 +02:00
Adam Wulkiewicz
a1ccbcdea7
[io][util] Add support for DynamicGeometry in read_wkt()
...
Replace variant support in wkt write.
Add util::sequence_find_if.
2021-05-20 00:42:04 +02:00
Barend Gehrels
10142a6703
[turns] have all discarding of start_turns in one place and clean up clusters before assigning
2021-05-19 09:27:44 +02:00
Adam Wulkiewicz
52c2723ef3
[algorithms] Reimplement variant support using DynamicGeometry concept in several algorithms.
...
Also add basic support for GeometryCollection.
2021-05-19 01:11:43 +02:00
Adam Wulkiewicz
61d25a34a6
Add DynamicGeometry and GeometryCollection.
2021-05-17 23:28:27 +02:00
Adam Wulkiewicz
50d1bfedc9
Support rvalue refs in range utils and use it.
2021-05-15 13:21:27 +02:00
Barend Gehrels
75d8f9e9b9
[intersection] fix intersection points outside of the segments
2021-04-28 10:31:21 +02:00
Barend Gehrels
e098a85f5a
[test] add testcase for issue #838
2021-04-07 11:13:58 +02:00
Barend Gehrels
eee7fc53ea
[clusters] detection is refactored to a simpler sweeping algorithm
...
This fixes a part (around 30%) of the remaining errors in the recursive buffer check
2021-04-07 11:13:20 +02:00
Adam Wulkiewicz
5f262f8d19
[test][distance] Remove unneeded taxicab umbrella strategy.
2021-04-01 20:21:31 +02:00
Adam Wulkiewicz
a87f924304
Merge branch 'develop' into feature/strategies_rest
2021-04-01 03:14:52 +02:00
Adam Wulkiewicz
29a6a9ff47
Merge pull request #812 from awulkiew/feature/strategies_distance
...
Umbrella strategies for distance() and comparable_distance().
2021-04-01 00:08:57 +02:00
Adam Wulkiewicz
8077c7f587
Merge pull request #827 from awulkiew/feature/for_each_dimension
...
Add for_each_dimension and more.
2021-04-01 00:08:20 +02:00
Adam Wulkiewicz
51addc4c4d
[util] Rename for_each_dimension.hpp to algorithm.hpp
2021-03-31 23:31:02 +02:00
Adam Wulkiewicz
1a7716e814
[test][csundef] Divide setops test into two files.
2021-03-26 14:08:22 +01:00
Adam Wulkiewicz
a1c3c9fb80
[test] Fix compilation error caused by abs() call.
2021-03-26 04:25:33 +01:00
Adam Wulkiewicz
6a0b481b2c
[test][area] Add tests for spherical and geographic boxes.
2021-03-25 00:50:19 +01:00
Adam Wulkiewicz
d2c79d97a9
[util] Add for_each_dimension and use it in several places.
2021-03-21 02:41:22 +01:00
Adam Wulkiewicz
b88a204752
[test][distance] Tweak the tests for distance umbrella strategies.
2021-03-16 19:19:41 +01:00
Adam Wulkiewicz
6eb9e238bc
[strategies] Remove distance() dependency from weighted_length strategy.
...
Also add optional CalculationType.
2021-03-11 00:45:08 +01:00
Adam Wulkiewicz
edc2aa5051
[index][strategies] Pass strategy to centroid() in the rtree.
...
Implement spherical and geographic strategies in order to maintain
backward compatibility. Even though dummy legacy strategy is returned.
Add centroid tests for undefined CS.
2021-03-10 17:03:03 +01:00
Adam Wulkiewicz
6bb65c1e74
[test][area] Tweak error thresholds for small areas.
2021-03-03 17:26:23 +01:00
Adam Wulkiewicz
3a2b488007
[svg][test] Fix msvc compilation error, alter test after recent change.
2021-03-03 16:19:03 +01:00