2247 Commits

Author SHA1 Message Date
Barend Gehrels
77838a8995 [copy_segment_point] change implementation to allow also negative offsets,
including unit test
2020-12-02 13:19:15 +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
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
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
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
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
Barend Gehrels
3272220a3c [test][doc] Clean up numeric types in tests and adapt documentation 2020-09-30 11:20:44 +02:00
Ayaan Khan
83d8987426 [fix] #750: misspelled config macros 2020-09-24 12:39:12 +05:30
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
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