Adam Wulkiewicz
f7e5a586de
[test][buffer] Use buffer strategies instead of relate strategies.
2022-01-05 23:41:54 +01:00
Barend Gehrels
08116e31e6
[test] cleanup svg generation
2021-12-01 10:09:51 +01:00
Barend Gehrels
2a7db45d07
[test] take car alternate tests are test properly in old (rescaling) and new (no rescaling) regime
2021-11-17 11:21:54 +01:00
Barend Gehrels
ef1b8e33f9
[side] make the default for no-rescaling triangle to avoid regressions when rescaling is turned off
...
Tests are now tested in both modes
2021-10-20 10:25:28 +02:00
Adam Wulkiewicz
915564a02f
[test][buffer] Add test case that was failing on macos-11, clang-12.0.5, x86-64.
2021-09-29 00:22:10 +02:00
Barend Gehrels
e99cfde120
[intersection] use balance between distance-to-end and length-of-segments to determine to use a or b
2021-09-13 09:27:47 +02:00
Adam Wulkiewicz
08f7e66f79
[test] Drop library dependencies in tests.
...
If possible drop type_traits, mpl, typeof, foreach, assign.
Rearrange some includes.
2021-07-22 19:46:51 +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
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
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
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
a87f924304
Merge branch 'develop' into feature/strategies_rest
2021-04-01 03:14:52 +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
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
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
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
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
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
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
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
Barend Gehrels
3272220a3c
[test][doc] Clean up numeric types in tests and adapt documentation
2020-09-30 11:20:44 +02: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
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
5ca542fc4f
Merge pull request #726 from awulkiew/feature/strategies
...
Umbrella strategies.
2020-08-28 16:16:25 +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
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
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
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
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
Barend Gehrels
35c5d67d4d
[buffer] Cleanup, remove unused functionality, calculate originals
...
and monotonic sections in another way
2019-12-18 10:13:18 +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
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
Barend Gehrels
e9c45a7167
[test] update test if rescaling is turned of, for different configurations
2019-10-02 13:38:44 +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