2272 Commits

Author SHA1 Message Date
Adam Wulkiewicz
ab28baae28 Merge branch 'develop' into feature/strategies_relate 2021-01-31 21:08:38 +01:00
Barend Gehrels
d006d1e4ac [test] add testcases from recursive_polygons_buffer partly solved by handling collinear as equal 2021-01-13 09:33:57 +01:00
Barend Gehrels
705efe9bad
Merge pull request #780 from barendgehrels/fix/sort-by-side-point-at-turn
Fix/sort by side point at turn
2020-12-30 11:37:24 +01:00
Vissarion Fisikopoulos
4034ac88b2 [strategies] [test] Fix spherical cross track and convex hull tests 2020-12-21 15:11:17 +02:00
Vissarion Fisikopoulos
83dcb53ffc Merge remote-tracking branch 'origin/develop' into feature/robust_convex_hull 2020-12-21 12:22:55 +02:00
Vissarion Fisikopoulos
3374cda6f6
Merge pull request #749 from vissarion/feature/robust_area
Area strategy for more accurate computations in cartesian CS
2020-12-21 12:20:31 +02:00
Barend Gehrels
59e0840d75 [sort_by_side] walk forward for point_to
(similarly to walking backwards for point_from)
2020-12-16 14:41:49 +01:00
Barend Gehrels
4e8ff81131 [sort_by_side] add epsilon to approximately_equals 2020-12-16 10:31:14 +01:00
Barend Gehrels
324249bb2d [copy_segment_point] change offset with modulo, add to box, update unit test 2020-12-09 13:52:07 +01:00
Barend Gehrels
abaa211d3a [sort_by_side] fix cases where the cluster point is approached by segments, but the last point before is colocated with the turn itself
This fixes 50% of the errors currently found by recursive_polygons_buffer (when rescaling is turned off)
2020-12-02 14:19:50 +01:00
Barend Gehrels
77838a8995 [copy_segment_point] change implementation to allow also negative offsets,
including unit test
2020-12-02 13:19:15 +01:00
Adam Wulkiewicz
95a9b43712 Merge branch 'develop' into feature/traits_make 2020-11-25 15:23:55 +01:00
Barend Gehrels
42bd7cfe95 [turns] fix precision when turns are arriving or leaving.
Then their fractions should be 1 or 0 (and not nearly so)
2020-11-25 10:21:16 +01:00
Adam Wulkiewicz
016691b15f Merge branch 'develop' into feature/traits_make 2020-11-25 00:06:55 +01:00
Vissarion Fisikopoulos
470e9e1bce [tests] Add tests regarding accuracy in cartesian area computations 2020-11-06 12:08:08 +02:00
Barend Gehrels
ee3509f2f3
Merge pull request #769 from barendgehrels/fix/start-turns
Fix/start turns
2020-11-04 09:44:09 +01:00
Adam Wulkiewicz
4f128c4135 [test] Add comment in equals test. 2020-11-03 04:25:06 +01:00
Barend Gehrels
271c5ad52c [turns, buffer] add cases from robustness test going wrong, some fixed with start turn 2020-10-28 14:50:24 +01:00
Barend Gehrels
3e111a0302 [turns] without rescaling, include start turns in calculation 2020-10-28 14:27:26 +01:00
Adam Wulkiewicz
6b74f7c8a3 Support umbrella strategies in relops, setops, index, buffer and more.
Also is_simple, is_valid and extensions like dissolve and nsphere relops.

Add umbrella strategies:
 - relate: used in setops, relops, buffer, is_xxx, dissolve, etc.
 - index: used in rtree
 - io: used in wkt read/write and extensions/shapefile

Replace `point_box_by_side` agnostic strategy with CS-specific strategies.

Fix passing of strategies (no defaults when user-defined strategy is
passed) in places like buffer and distance.

Alter tests accordingly.
2020-10-21 17:42:02 +02:00
Barend Gehrels
9989780d41
Merge pull request #758 from barendgehrels/test/add_limits
Conform the countset, replace many #ifdefs with expectation limits
2020-10-21 10:21:17 +02:00
Barend Gehrels
5f677775ef [TEST] Conform the countset, replace many #ifdefs with expectation limits and apply it for float, double, long double (in many tests) 2020-10-21 10:18:56 +02:00
Adam Wulkiewicz
e3b190c5b2
Merge pull request #755 from ayaankhan98/develop
[fix] #750: misspelled config macros
2020-10-16 16:26:09 +02:00
Vissarion Fysikopoulos
9c1905d1a5 [test] Calculate convex hull with a non-default spherical side strategy 2020-10-16 11:32:10 +03:00
Vissarion Fysikopoulos
02f52eca68 Merge remote-tracking branch 'origin/develop' into feature/robust_convex_hull 2020-10-16 10:47:24 +03:00
Vissarion Fysikopoulos
c79b9a60b7 [strategies] Remove Geometry parameter from side in convex_hull strategies 2020-10-08 17:48:48 +03:00
Barend Gehrels
45d624af9b [cleanup] remove HAVE_TTMATH and other occurances of ttmath 2020-10-07 14:05:28 +02:00
Barend Gehrels
869e72fc01
Merge pull request #757 from barendgehrels/test/remove-unused-numeric-types
Clean up antique usage of numeric types in tests and documentation
2020-10-07 10:09:25 +02:00
Adam Wulkiewicz
8ec873c773 Merge branch 'develop' into feature/traits_make 2020-10-01 19:38:00 +02:00
Adam Wulkiewicz
ab9f1de1ad
Merge pull request #748 from awulkiew/feature/type_traits
Remove direct usage of Boost.MPL and Boost.TypeTraits from the library.
2020-10-01 19:06:51 +02:00
Vissarion Fysikopoulos
0df77e40c9 [test] Robustness tests 2020-09-30 18:42:37 +03:00
Barend Gehrels
3272220a3c [test][doc] Clean up numeric types in tests and adapt documentation 2020-09-30 11:20:44 +02:00
Vissarion Fysikopoulos
3f81bad3f2 [strategy] Move side_robust and in_circle_robust strategies from extensions to strategy/cartesian 2020-09-25 17:14:00 +03:00
Vissarion Fysikopoulos
69b743f177 [tests] Add tests for robust cartesian convex hulls 2020-09-25 16:56:51 +03:00
Ayaan Khan
83d8987426 [fix] #750: misspelled config macros 2020-09-24 12:39:12 +05:30
Vissarion Fysikopoulos
6873db5549 [tests] Convex hull non cartesian tests added 2020-09-23 12:45:54 +03:00
Vissarion Fysikopoulos
eae06f70df [tests] Move convex hull tests to new directory and adjust them to use the new strategy 2020-09-16 11:34:26 +03:00
Barend Gehrels
5fe26e45b4
Merge pull request #752 from barendgehrels/buffer/fix_type_conflicts
[buffer] Several changes necessary to handle different types
2020-09-13 22:06:09 +02:00
Adam Wulkiewicz
8763d3cae3 [algorithms] Replace mpl::vector_c with std::integer_sequence in sectionalize. 2020-09-11 13:50:04 +02:00
Barend Gehrels
9e1a4373dc [buffer] Several changes necessary to handle different types (float, long double, boost MP) 2020-09-09 14:11:36 +02:00
Adam Wulkiewicz
c63e7a8394 Move is_range util to range.hpp to avoid Boost.Range/MPL dependency in type_traits.hpp 2020-09-03 16:24:29 +02:00
Vissarion Fysikopoulos
7d76f16207 [tests] Add inaccurate area test cases 2020-08-31 18:57:50 +03:00
Adam Wulkiewicz
5ca542fc4f
Merge pull request #726 from awulkiew/feature/strategies
Umbrella strategies.
2020-08-28 16:16:25 +02:00
Adam Wulkiewicz
70e505bb15 [test] Add tests for constexpr. 2020-08-27 15:28:21 +02:00
Adam Wulkiewicz
0166c8ea6e
Merge pull request #743 from awulkiew/feature/for_each
Refactor for_each_x and implement new algorithms.
2020-08-24 12:37:23 +02:00
Adam Wulkiewicz
7ef3117f27 [for_each] Refactor for_each_x and implement new algorithms.
for_each_range now expects functors instead of structs with apply()
member function.

for_each_segment now calls functor also for degenerated ranges for
consistency with segment_iterator.

New algorithms based on std::all_of, std::any_of and std::none_of
- all_points_of, any_point_of, none_point_of
- all_segments_of, any_segment_of, none_segment_of
- all_ranges_of, any_range_of, none_range_of

New algorithms used in several places in the library.

This code requires C++14.
2020-08-24 12:28:43 +02:00
Barend Gehrels
7739109b3b [get_turn_info] Remove the recently added is_ii 2020-08-12 11:39:22 +02:00
Adam Wulkiewicz
52cceae021 [strategies] Relocate area, envelope and expand strategies. 2020-08-05 22:59:13 +02:00
Barend Gehrels
adef6b24de [turns] handle ii-situation in touch,
which is a new situation which needs to be handled in the handle-as-touch,
in last commit.
2020-08-05 11:10:15 +02:00
Barend Gehrels
dfbbfc0a87 [turns] if the touch-interior touches near the end (near the IP), then handle
it as if it is a touch
2020-08-05 10:43:35 +02:00