153 Commits

Author SHA1 Message Date
Barend Gehrels
805ff654e8 feat: major rewrite of traversal 2025-04-25 19:47:35 +02:00
Barend Gehrels
41709b5717 test: add test cases 2025-01-10 18:32:05 +01:00
Barend Gehrels
82ef735271 test: add set_ops_areal_areal which tests all operations 2024-12-10 19:02:45 +01:00
Barend Gehrels
54b300ab37 test: verify failures and remove some rescaling remainings 2024-12-09 18:22:08 +01:00
Vissarion Fisikopoulos
a9c3a242ca Merge pull request #1346 from barendgehrels/fix/issue-1345
fix: add condition to handle_imperfect_touch
2024-11-25 14:12:16 +01:00
Barend Gehrels
ff033a3d4e fix: avoid blocking rings for some non union conditions
Fixes #893

Fixes #1299
2024-11-24 15:41:59 +01:00
Barend Gehrels
0edb67322d fix: add condition to handle_as_touch
Fixes #1288
2024-11-24 11:10:47 +01:00
Vissarion Fisikopoulos
d3ed449e39 Remove rescaling: remove BOOST_GEOMETRY_USE_RESCALING and update BoostGeometryWriteExpectedFailures 2024-05-29 15:34:00 +03:00
Vissarion Fisikopoulos
4e46493031 [test] Add issue 630 as test case 2022-06-08 12:39:29 +03:00
Barend Gehrels
14df20453f [test] remove the non used KRAMER define and rephrase/include/exclude some tests 2021-07-28 13:09:26 +02:00
Barend Gehrels
afa1f458a0 [test] add testcases (currently going well) 2021-07-21 11:13:45 +02:00
Barend Gehrels
40c6544a9b [test] add cases for issues #869 and #861 2021-06-23 10:17:54 +02: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
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
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
331e7f80c9 [TEST] add testcases for reported issues 2019-11-23 14:03:40 +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
Barend Gehrels
861fc38533 [TEST] Unify different defines into BOOST_GEOMETRY_TEST_ENABLE_FAILURES 2019-05-29 15:48:44 +02:00
Barend Gehrels
de5187f39c [test] update testcases w.r.t. disabling rescaling, add two cases 2019-04-03 13:58:40 +02:00
Barend Gehrels
24455aeab8 changes in comments 2019-03-05 20:31:20 +01:00
Barend Gehrels
7f23fcea98 [test] Harmonize define (four variants were used).
If defined, just ignore test_validity flag (such that validity is
always checked), same for sym_difference
2019-03-02 16:08:24 +01:00
Barend Gehrels
59c795a967 [test] Verify testcases (union, intersection, diff, buffer) w.r.t. turning off
rescaling.
Because of the preparation steps, many tests already succeed
2019-03-02 15:57:29 +01:00
Barend Gehrels
07dd079033 [CONFIG] Use a positive define (USE_RESCALING) instead of an unclear negative
one (NO_ROBUSTNESS). Precedes removing of the rescaling.
2019-03-02 13:39:50 +01:00
Barend Gehrels
d67688ee2b [TEST] Remove defines, in general "not no_selfturns" (= use them)
and remove other branch not using them.
Because self turns are now stable, default, and without them does not need
to be unit tested.
Plus it can make test cases with/without rescaling way more complex.
2019-02-23 14:35:34 +01:00
Barend Gehrels
e9b81ed877 [test] add testcases, minor changes in existing testcases 2019-01-30 16:22:02 +01:00
Barend Gehrels
38cf379448 [test] Add testcase for reported issue 2019-01-23 21:58:51 +01:00
Barend Gehrels
34dfbba271 [test] adapt point expectations for union/difference/intersection
because we now skip some collinear points
2018-01-26 13:02:06 +01:00
Barend Gehrels
26a50a2bbd [traverse] fix case #case_141_multi which is isolated with multiple
connections
2018-01-01 16:28:32 +01:00
Barend Gehrels
bc77fca531 [test] add new case also to intersection/union 2017-12-31 17:17:46 +01:00
Barend Gehrels
f704579ed0 [overlay] by default use self-turns. This reverses definition
of define SELF to NO_SELF. Including all unit tests.
2017-12-29 13:17:42 +01:00
Barend Gehrels
0f4712bdfb [test] add recent testcases to the other test scenarios 2017-12-20 16:54:51 +01:00
Barend Gehrels
11cff883b0 [intersection] Fix newly found case by removing some conditions from
handle_self_turns and setting ii-self-turns as non-startable instead of
discarding them.
2017-12-16 18:52:39 +01:00
Barend Gehrels
556896c7cc [traverse] need to select on operations in selecting ranks, it is not
done later. Small regression found by recursive_polygons
2017-12-15 14:37:17 +01:00
Barend Gehrels
5d99d1608d [overlay] fix new #case_recursive_boxes_82 by greatly simplifying the code.
patterns/aggregations were added to solve specific intersection problems
and validity in the past. In the meantime self-turns and isolation information
is much better, and those code is not needed anymore.
This also fixes the #mysql_regression_1_65_2017_08_31
This also makes union/intersection code for handling clusters much more similar
2017-12-15 13:20:41 +01:00
Barend Gehrels
080f0f22f4 [traverse] fix case where hole of one of the inputs formed a
disconnected interior (invalid). In the end it is fixed by only
deleting code. This code is not really old but added to fix some
cases, which are finally fixed in a more generic way.

It fixes a new case and also enhances #case_141_multi
2017-12-06 14:25:42 +01:00
Adam Wulkiewicz
9eefd8284e [test][intersection] Fix compilation error when failing tests are enabled. 2017-11-10 22:09:19 +01:00
Barend Gehrels
dd6958b903 [test] add last testcase also to intersection/difference 2017-10-23 15:19:13 +02:00
Barend Gehrels
433b5fae58 [test] add ticket_12503 to intersection (OK)/difference (failing) 2017-10-23 13:46:39 +02:00
Barend Gehrels
94ce58de02 [overlay] fix bug in new code, it should check for the operation because
it can happen that union travels to itself and that is irrelevant
2017-10-23 11:26:21 +02:00
Barend Gehrels
b20aeba724 [overlay] fix cases where non-traversed rings were incorrectly added.
This also changes the order of checks
2017-10-11 13:54:48 +02:00
Barend Gehrels
4d1b094e6a [overlay] discard self-turns i/u for intersection traveling to themselves 2017-10-11 12:58:29 +02:00
Barend Gehrels
65a5c2ba53 [overlay] fix bug (it always returned false), and it should not consider
all turns in a cluster here. This fixes #case_recursive_boxes_76
Including unit test
2017-10-04 18:12:37 +02:00
Barend Gehrels
c5710b2ab9 [overlay] skip ranks of isolated regions 2017-10-04 14:00:40 +02:00
Barend Gehrels
210b662597 [overlay] correct (partly) the behaviour of isolation detection for
an isolated ring, connected to another isolated ring which is
connected multiple times to it
2017-09-27 13:05:25 +02:00
Barend Gehrels
3160ee6804 [overlay] fix additional case where isolation information was incorrect.
Including unit test. This also influences two other testcases but they
are not completely fixed by this fix
2017-09-20 17:00:52 +02:00
Barend Gehrels
f572abf5c1 [overlay] fix case which was not detected as isolated because it was
not clustered. Isolation is now independent on clustering.
Including unit test
2017-09-20 12:52:18 +02:00
Barend Gehrels
33f97b8f21 [test] add new testcase also to difference/intersection 2017-09-13 13:35:58 +02:00