2430 Commits

Author SHA1 Message Date
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
Vissarion Fisikopoulos
fb9b1d40ff Replace side_by_triangle with side_robust 2021-06-30 13:00:21 +03: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
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
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
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
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
6a0b481b2c [test][area] Add tests for spherical and geographic boxes. 2021-03-25 00:50:19 +01:00
Adam Wulkiewicz
b88a204752 [test][distance] Tweak the tests for distance umbrella strategies. 2021-03-16 19:19:41 +01:00
Adam Wulkiewicz
6bb65c1e74 [test][area] Tweak error thresholds for small areas. 2021-03-03 17:26:23 +01:00
Vissarion Fisikopoulos
94c91352d9
Merge pull request #801 from vissarion/fix/area_geo
Improve accuracy in geographic area computations
2021-03-02 16:50:47 +02:00
Adam Wulkiewicz
d6a44a6601 [test] Alter buffer and douglas_peucker tests. 2021-03-02 00:50:14 +01:00
Barend Gehrels
8f95fcb52f [buffer] fix case for issue 803 where an artifact was generated on nearly collinear lines in the buffer 2021-02-25 21:26:42 +01:00
Vissarion Fisikopoulos
37ada5f9b0 [formulas] Implement detail namespace for karney_inverse formula 2021-02-22 18:59:10 +02:00
Barend Gehrels
77bb5310d2
Merge pull request #800 from barendgehrels/enhance/get_ring
[overlay] move segment_count_on_ring and segment_distance to get_ring, and add unit tests
2021-02-19 10:38:58 +01:00
Barend Gehrels
524e194615 [overlay] move segment_count_on_ring and segment_distance to get_ring and add unit test for them 2021-02-19 10:34:26 +01:00
Vissarion Fisikopoulos
469ace7652
Merge branch 'develop' into fix/area_geo 2021-02-18 13:24:54 +02:00
Adam Wulkiewicz
e25d20b296 [test][distance] Tweak the tests for distance umbrella strategies. 2021-02-17 02:04:12 +01:00
Adam Wulkiewicz
b786bd9dd9 [test][setops] Fix gcc error caused by incorrect passing of interrupt_policy into get_turns. 2021-02-16 17:44:12 +01:00
Adam Wulkiewicz
a941645547 [test][azimuth] Add tests with non-default vincenty formula. 2021-02-16 15:35:38 +01:00
Adam Wulkiewicz
ae33a8dc0c Merge branch 'develop' into feature/azimuth 2021-02-16 14:14:13 +01:00
Adam Wulkiewicz
429423cdb1
Merge pull request #768 from awulkiew/feature/strategies_relate
Support umbrella strategies in relops, setops, index, buffer and more.
2021-02-16 13:32:17 +01:00
Adam Wulkiewicz
bec798d60f
Merge pull request #779 from awulkiew/fix/test_range_includes
[test] Include only necessary headers of Boost.Range.
2021-02-12 18:58:25 +01:00
Vissarion Fisikopoulos
55696726d2 Merge branch 'develop' of https://github.com/boostorg/geometry into fix/area_geo 2021-02-12 17:21:28 +02:00
Vissarion Fisikopoulos
5ec9f9fa28 [area] Relax are test and fix if statement to compile and pass with gcc-5 2021-02-08 10:07:14 +02:00