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
Adam Wulkiewicz
5ca542fc4f
Merge pull request #726 from awulkiew/feature/strategies
...
Umbrella strategies.
2020-08-28 16:16:25 +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
Barend Gehrels
0969372147
[get_turns] use distance measures for side, and handle situation
...
with an imperfect touch (floating point issue)
2020-07-22 11:53:48 +02:00
Barend Gehrels
761170b0b4
[intersection] check for disjoint-by-range.
...
Without it, in FP calculations, for nearly collinear segments, it might happen that an intersection is calculated even if the ranges are farther apart from each other
2020-07-15 12:45:34 +02:00
Adam Wulkiewicz
a5b46d0f8b
[algorithms][strategies] Add umbrella strategies for area, envelope and expand.
2020-07-10 12:58:23 +02:00
Barend Gehrels
9cbb2c242e
[test] Remove unused defines, write test configuration
2020-06-24 12:46:06 +02:00
Barend Gehrels
d347251055
[traversal] Support additional cluster exit functionality.
...
This makes it more efficient too (sort-by-side one time less).
This fixes some cases in buffer when rescaling is turned off.
2020-06-24 12:36:30 +02:00
Barend Gehrels
a09b9f4b51
[test] update testsuite, write expected failures (if all failures are enabled),
...
use optional counts for difference tests.
2020-06-10 14:27:42 +02:00
Adam Wulkiewicz
a92b5e36fc
Merge pull request #695 from awulkiew/feature/setops_output
...
Support tupled-output in difference, sym_difference and union_.
2020-05-13 17:04:04 +02:00
Barend Gehrels
70ecdfdd19
[buffer] Fix direction code for some new cases.
...
The similar_direction function could be erroneous for corner cases,
refactored it out.
This also makes it a bit less dependent on infinite_line (cartesian)
2020-05-06 14:22:32 +02:00
Barend Gehrels
c93594b20d
[buffer] add strategy to expand and
...
other review remarks
2020-04-29 12:27:45 +02:00
Barend Gehrels
a9617b0cad
[buffer][test] Add unit test for piece_border
2020-04-29 12:27:45 +02:00
Barend Gehrels
d4af24851e
[buffer] revise turn_in_piece visitor:
...
- avoid side_of_intersection
- use new abstraction piece_border to verify point-in-piece
- this replaces the robust_ring
- and more related
2020-04-29 12:27:43 +02:00
Adam Wulkiewicz
0a134c070a
[test][setops] Add tupled-output tests for difference, sym_difference and union.
2020-04-13 15:59:19 +02:00
Adam Wulkiewicz
2b74e42436
Merge branch 'develop' into feature/setops_output
2020-03-24 14:38:46 +01:00
Mateusz Łoskot
96db897fc5
Rename Jamfile.v2 to Jamfile ( #679 )
...
There is no reason to maintain the legacy .v2 file extension,
which is unnecessary clutter, may be confusing.
2020-03-08 23:50:18 +01:00
Adam Wulkiewicz
7beb993eb7
[test][difference] Add test cases for P/A combinations.
2020-01-23 21:38:35 +01:00
Adam Wulkiewicz
07abb6a10e
[test][intersection] Add test cases for tupled-output of A/A combinations.
2020-01-23 15:57:24 +01:00
Adam Wulkiewicz
5f544fd3ad
[test][intersection] Add test cases for tupled-output of L/A.
2020-01-20 20:23:05 +01:00
Adam Wulkiewicz
adfff228dc
[test][intersection] Add tests for tupled outputs.
2020-01-19 19:11:11 +01:00
Adam Wulkiewicz
2727dfe650
[test][intersection] Add test cases for PointLike/Areal combinations.
2020-01-18 23:34:46 +01:00
Barend Gehrels
35c5d67d4d
[buffer] Cleanup, remove unused functionality, calculate originals
...
and monotonic sections in another way
2019-12-18 10:13:18 +01:00
Adam Wulkiewicz
d7e440c015
[test][algorithms] Add tests for tupled_output helper utils.
2019-11-27 23:33:27 +01:00
Barend Gehrels
331e7f80c9
[TEST] add testcases for reported issues
2019-11-23 14:03:40 +01:00
Barend Gehrels
e4fbc736a4
[test] update defines for non-Kramer case
2019-11-13 13:09:14 +01:00
Barend Gehrels
c3c7a99c5f
[test] Skip validity check for some cases when rescaling is not used
2019-11-13 12:53:07 +01:00
Barend Gehrels
2989992d37
[test] Write test configuration and make ccw order in tests optional
2019-11-13 12:52:33 +01:00
Barend Gehrels
fbf333c8a7
[test] updates in expectations and defines
2019-11-13 12:05:24 +01:00
Barend Gehrels
090e2c4e4a
[test] add testcase for issue #630
2019-11-13 11:48:44 +01:00
Adam Wulkiewicz
0af5060bbf
Merge pull request #479 from awulkiew/fix/empty_union
...
Fix for empty spherical union
2019-11-06 13:52:56 +01:00
Barend Gehrels
1ae1d3578a
Merge pull request #632 from barendgehrels/fix/buffer_onesided
...
Fix/buffer onesided
2019-10-30 22:37:01 +01:00
Barend Gehrels
af316e7a39
[buffer] fix inside-piece detection for one-sided buffers
2019-10-30 14:44:23 +01:00
Barend Gehrels
8aa31d68cc
[buffer] fix round end cap for asymmetric buffers
2019-10-30 12:34:40 +01:00
Barend Gehrels
e4f2bd4ce0
[test] add testcases for mostly left/right on asymmetric buffers,
...
for flat end on asymmetric buffers,
enable three formerly failing cases,
renamed cases, add settings variable
2019-10-30 11:47:45 +01:00
Adam Wulkiewicz
0f9e61ceac
[test][union] Add spherical A/A case.
2019-10-30 02:15:13 +01:00
Adam Wulkiewicz
1b33b57c47
Merge branch 'develop' into fix/empty_union
2019-10-29 18:57:12 +01:00
Adam Wulkiewicz
43c32764c9
Merge pull request #621 from awulkiew/fix/turns_sorting
...
While sorting turns in relops and setops compare also point coordinates.
2019-10-25 14:16:53 +02:00
Barend Gehrels
eedd3c1f12
Merge pull request #622 from barendgehrels/fix/buffer-pass-strategies
...
Fix/buffer pass strategies
2019-10-24 20:17:13 +02:00
Vissarion Fysikopoulos
14be89e703
Fix distance pt-linestring for short segments
2019-10-17 22:36:17 +03:00
Mateusz Łoskot
1263eb8718
[for_each] Fix for_each_segment to avoid incrementing iterator over empty range ( #625 )
...
Add tests to verify `for_each_segment` does not post-increment end iterator over empty range.
Fixes #624
2019-10-13 17:23:30 +02:00
Barend Gehrels
e9c45a7167
[test] update test if rescaling is turned of, for different configurations
2019-10-02 13:38:44 +02:00
Adam Wulkiewicz
8d29cc70ca
[test][setops] Add difference(l,a) spherical case (issue 619).
2019-09-22 01:53:49 +02:00
Barend Gehrels
28eb87b402
[intersection] remove segment_ratio_type in most of the cases,
...
and where they are still used, its definition is changed making use
of the tags now available, and moving it to detail. It is to be
deprecated
2019-08-21 17:15:12 +02:00
Adam Wulkiewicz
964fa91619
Merge pull request #561 from awulkiew/feature/point_order
...
Add new algorithm detail::calculate_point_order() with strategies (and optimize remove_spikes()).
2019-08-14 16:32:07 +02:00