Barend Gehrels
2ac50e8b3d
[overlay] split sourcefile, extract patterns
2017-06-14 11:37:24 +02:00
Barend Gehrels
437be1b2b0
[overlay] fix cases with mixed operations (no testcase)
2017-06-14 10:29:15 +02:00
Barend Gehrels
604be619d9
[overlay] fix aggregations, include blocked as from
2017-06-14 10:28:47 +02:00
Barend Gehrels
412fc452da
[overlay] Relax case 2, allow both continue and intersection
...
Fixes new #case_recursive_boxes_53
2017-06-13 20:29:25 +02:00
Barend Gehrels
31b2a89c6d
[overlay] remove duplicate condition
2017-06-13 20:18:51 +02:00
Barend Gehrels
2dbc55ed7d
[dissolve] fix compilation errors reported by Johan
2017-06-12 20:30:09 +02:00
Barend Gehrels
47e1efb9e3
[test] Add testcases for variants of zoomed in cases (going OK)
2017-06-08 21:44:46 +02:00
Barend Gehrels
6b08e0b584
[test] Fix WKT (close interiors)
2017-06-08 21:43:25 +02:00
Barend Gehrels
3cd4f325ec
[traverse] fix another similar case #case_137_multi now with two
...
different outgoing arcs
2017-06-07 22:48:18 +02:00
Barend Gehrels
9993d3697f
[traverse] fix cases where touching interior/exterior is approached
...
from two different directions, and leave in one direction
2017-06-07 22:35:44 +02:00
Barend Gehrels
ef22284629
[traverse] refactor new method to make more options
2017-06-07 22:28:57 +02:00
Barend Gehrels
bf159328e5
[traverse] fix errors in isolation detection in switch detector by
...
taking clusters into account
2017-06-07 15:20:35 +02:00
Barend Gehrels
db372517b4
[traverse] fix cases where two polygons both have a touching interior ring,
...
which is equal to itself
2017-06-07 15:06:51 +02:00
Barend Gehrels
3f002cab91
[test] include validity check in recursive_polygons,
...
and by default add for self turns (necessary for validity)
2017-06-07 10:35:50 +02:00
Barend Gehrels
a8f5e53555
[test] rename out_d to out_d1
2017-06-07 10:35:03 +02:00
Barend Gehrels
95454e4c8e
[traverse] redo, isolated MUST be checked. Checking interior/exterior ring is
...
then redundant again, besides that it does not work for differences.
This breaks case_134 but that must be fixed differently.
After this change, recursive_polygons test is flawless
w.r.t. intersections/unions (validity/with self turns not yet checked)
2017-06-05 17:45:51 +02:00
Barend Gehrels
c04f26bffa
[overlay] pending commit, where operations are set to not startable,
...
they should not be added afterwards so set them like traversed
2017-06-05 16:00:11 +02:00
Barend Gehrels
bd16305a72
[overlay] remove original behaviour to discard turns colocated with blocked turns,
...
because this stops generating interior rings in certain configurations, and
it is, in the meantime, handled differently in cluster traversal.
Fixes cases like new case #case_recursive_boxes_51
2017-06-05 15:59:29 +02:00
Barend Gehrels
6088389338
[overlay] unset startable for closed turns
2017-06-05 15:26:08 +02:00
Barend Gehrels
e281d5e437
[overay] cleanup clusters properly
2017-06-05 15:25:03 +02:00
Barend Gehrels
0853342320
[traverse] fix #case_58_multi and #case_134_multi by verifying connected
...
regions in switch detector
2017-06-05 11:51:53 +02:00
Barend Gehrels
ecae306146
[traverse] generalize pattern for colocated interior rings by making
...
cases with multiple rings (#case_134_multi) possible. It also does
not check for isolated anymore but instead checks interior/exterior rings
and region_ids
2017-06-04 14:04:00 +02:00
Barend Gehrels
254203d06e
[traverse] add visited to traversable
...
There is no unit test case for this change, but the robustness test
(recursive_polygons) gives 5 times less errors with this change
2017-06-04 12:15:23 +02:00
Barend Gehrels
b0cf8ffb59
[traverse] extend handling specific case of cc/ii with another variant,
...
now also solving #case_recursive_boxes_50
2017-06-04 11:23:42 +02:00
Barend Gehrels
463f778a36
[overlay] fix cases with two parallel interior rings, one touching
...
the exterior ring, by adding a special case for this. This solves
nearly all robustness (recursive_polygon) now.
2017-06-03 20:09:06 +02:00
Adam Wulkiewicz
5364bbb4ca
Merge pull request #400 from glenfe/develop
...
Use pointer_traits.to_address instead of addressof(*p)
2017-05-31 13:31:10 +02:00
Barend Gehrels
3555591411
[test] add missing recursive box cases to difference_multi
...
(all checked visually)
2017-05-31 12:51:55 +02:00
Barend Gehrels
c051ab5724
[overlay] instead of for self-turns only, skip all discarded turns
...
for intersection operations
2017-05-31 11:38:52 +02:00
Barend Gehrels
390f924845
[test] add recently added cases to union/intersection tests
2017-05-31 11:22:05 +02:00
Barend Gehrels
16be4bbdb2
[overlay] fix new case #case_recursive_boxes_48 for self-intersections
...
by discarding self ii turns NOT located within another geometry
2017-05-31 11:12:57 +02:00
Barend Gehrels
00ef210f69
[overlay] Remove some redundant includes
2017-05-31 11:00:28 +02:00
Barend Gehrels
952a4e8a9c
[overlay] extract discarding self-turns to separate headerfile
2017-05-31 10:59:52 +02:00
Barend Gehrels
acd364586f
[overlay] handle todo-item, extract self_turn
2017-05-29 20:57:35 +02:00
Glen Fernandes
0ed359a624
Use pointer_traits.to_address instead of addressof(*p)
...
addressof(*p) before construct() is not well-defined, since p
does not alias storage that has an object constructed in it.
2017-05-29 14:01:51 -04:00
Barend Gehrels
d3481fccca
[overlay] fix within-check for buffer by making it a specialization
...
instead of a if-condition
2017-05-28 17:28:51 +02:00
Barend Gehrels
f54f85a6de
[test] update union.cpp, there is only one invalid input - but with
...
no robustness there are several failures
2017-05-26 22:40:15 +02:00
Barend Gehrels
c53cbe56f5
[overlay] fix cases with self-turns where interior rings are generated
...
within another geometry, for union
2017-05-26 22:21:10 +02:00
Barend Gehrels
7d8a46d888
[overlay] remove redundant parameter
2017-05-26 15:26:18 +02:00
Barend Gehrels
5a94c45644
[test] Check remaining problems for difference, restructure macros like in multi version
2017-05-25 16:20:35 +02:00
Barend Gehrels
36d81e18bf
[test] update difference_multi, many invalid results are fixed using self-turns
2017-05-25 14:45:27 +02:00
Barend Gehrels
0bc28aadb8
[self_turns] fix direction - for this, an extra template parameter is required
...
(it cannot (yet) be derived from the geometry, because it causes is_valid
to fail)
2017-05-25 13:52:13 +02:00
Barend Gehrels
7d86bfdbf5
[overlay] simplify conditions to discard turns in enrich
2017-05-25 12:03:03 +02:00
Barend Gehrels
99c580a7b1
[overlay] For self-turns, remove exception for difference and,
...
like union, for intersection only keep ii self-turns
2017-05-25 11:45:46 +02:00
Adam Wulkiewicz
1a605740cc
Merge pull request #397 from awulkiew/feature/relops_multi_point
...
Add missing relational operations for MultiPoint/Geometry
2017-05-23 13:24:19 +02:00
Adam Wulkiewicz
f6c28cebb7
Merge pull request #398 from vissarion/feature/disjoint_fix
...
Feature/disjoint fix
2017-05-23 13:23:58 +02:00
Barend Gehrels
d6c8619cdc
[test] fix reverse information for ccw geometries in overlay test
2017-05-21 14:45:47 +02:00
Barend Gehrels
25f55bfac4
[test] overlay, add ccw/open/self/rob info to svg filename
2017-05-21 14:43:38 +02:00
Barend Gehrels
52c2fde84a
[self_turns] fix behaviour (correct assignment of segment_identifiers) for ccw geometries
2017-05-21 14:41:46 +02:00
Barend Gehrels
27fdefbd2e
[test] enhance svg filename with self info
2017-05-21 14:16:37 +02:00
Barend Gehrels
ae745f5b5c
[test] enhance validity messages with ccw/open info
2017-05-21 14:15:47 +02:00