557 Commits

Author SHA1 Message Date
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
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
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
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
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
d4ce96df48 [test] Add testcase 131 (fixed) and 132 (still unclear) 2017-05-20 17:30:25 +02:00
Barend Gehrels
2ebf8b7fe1 [test] add test for union needing self-turns. It is still failing. 2017-05-17 20:32:17 +02:00
Adam Wulkiewicz
bef6c5bb96 Merge branch 'develop' into feature/relops_multi_point
Conflicts:
	include/boost/geometry/algorithms/intersects.hpp
	include/boost/geometry/algorithms/touches.hpp
2017-05-10 15:30:27 +02:00
Barend Gehrels
81578d48e2 [test] add two testcases necessary for new approach discarding ii 2017-05-10 09:51:33 +02:00
Barend Gehrels
92a4326c6a [test] rename cases which clashed in last merge (they were suffixed by m)
103m -> 106
104m -> 107
105m -> 105 (actually was not a clash)
2017-05-06 18:53:30 +02:00
Barend Gehrels
e52e2a8665 Merge branch 'develop' into feature/intvalid
# Conflicts:
#	test/algorithms/overlay/overlay_cases.hpp
#	test/algorithms/set_operations/intersection/intersection.cpp
#	test/algorithms/set_operations/union/union.cpp
2017-05-06 18:26:49 +02:00
Adam Wulkiewicz
623f3f5fd0 [test][distance][overlay] Add missing includes. 2017-04-26 06:22:47 +02:00
Barend Gehrels
dfbb2604bd [sort_by_side] pass OverlayType (TODO item necessary to correctly
handle self-turns)
2017-04-20 12:50:16 +02:00
Barend Gehrels
a3b66db830 [test] Commit pending work, add optional SVG for sort by side tests 2017-04-20 12:30:53 +02:00
Barend Gehrels
f40793ab03 [test] Fix include/copyright 2017-04-20 12:00:32 +02:00
Barend Gehrels
081860e8dd [sort_by_side] fix (rare) cases where two froms arrive at a turn,
but only one leaves the next turn. This simplifies state to just a boolean.
This fixes cases like case_recursive_boxes_46 for union
2017-04-19 16:32:40 +02:00
Barend Gehrels
d1fafacb10 [test] minor, remove spurious comma 2017-04-19 16:15:19 +02:00
Barend Gehrels
2e22bb16e0 [test] Add a basic unit test for sort_by_side (the other version
applies more or less a trick
2017-04-19 16:14:39 +02:00
Adam Wulkiewicz
2a3cb7b951 [test][intersection][union] Add cases where all points of g1 are the same as some points of g2. 2017-04-14 14:40:52 +02:00
Adam Wulkiewicz
6586f6e7b7 [overlay][buffer][test] Use within/covered_by and envelope strategies.
- Pass intersection strategy into range_in_geometry and internally get
  point_in_geometry strategy.
- Add required intersection strategy passing into overlay and buffer
  internals.
- Use envelope strategy in assign_parents.
2017-04-11 00:24:21 +02:00
Barend Gehrels
283eaac357 [test] Change sort_by_side unit test to allow for multiple clusters,
and add one (still failing) case to it
2017-04-05 16:52:59 +02:00
Barend Gehrels
76ec0f1b99 [test] Add tickets 2017-03-26 14:25:45 +02:00
Barend Gehrels
a96b1da5cc [overlay] fix case (#recursive_boxes_45) where wrong decision was made based on a ux turn 2017-03-22 22:28:16 +01:00
Barend Gehrels
16f2bcf357 [overlay] fix case where a union is traveled. As it now appears, due
to new cluster handling, all uu turns can (and should) be discarded for intersections
2017-03-22 15:10:28 +01:00
barendgehrels
ace8bdb7f0 [overlay] discard ii turns where two interior rings touch, for union operations.
This fixes case #80. Also, added case #105, testing that in a different way
(limiting solutions)
2017-03-18 20:17:22 +01:00
barendgehrels
32c422f745 [traverse] fix case #130, starting with cc, using remaining_distance 2017-03-13 15:36:13 +01:00
barendgehrels
e2781e147a Merge branch 'develop' into feature/intvalid
# Conflicts:
#	include/boost/geometry/algorithms/detail/overlay/overlay.hpp
#	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
#	include/boost/geometry/algorithms/intersects.hpp
#	include/boost/geometry/algorithms/touches.hpp
2017-02-25 20:01:08 +01:00
barendgehrels
caf0b9f7e9 [traverse] fix validity when two holes meet eachother and exlude an
area which should become a separate ring (#43), by passing the already visited
region_ids (which make them less local). It does not solve #35 yet.
2017-02-18 13:32:46 +01:00
barendgehrels
4547875d81 [intersection][test] add/update testcases 2017-02-17 12:39:11 +01:00
Adam Wulkiewicz
bc77e1255e [test] Adapt tests to new interfaces of various utilities in the library.
default_strategy services, partition, get_turns, strategies.
2017-01-28 04:09:49 +01:00
barendgehrels
0e95caa36d [overlay] skip ii outgoing/returning when, after that, a cc continues.
Plus extra testcase needing this (if self-turns are considered)
2017-01-11 16:56:15 +01:00
barendgehrels
a537112403 Merge branch 'develop' into feature/intvalid 2017-01-11 10:07:41 +01:00
Adam Wulkiewicz
b67ada92a0 [test][overlay] Comment out unused typedef in sort_by_side test. 2017-01-06 03:22:09 +01:00
Adam Wulkiewicz
edc0adc95a [test] Add missing TypeOf includes (after dropping Serialization dependency). 2017-01-04 16:44:44 +01:00
barendgehrels
4e77abbe0e [test] display self-turns visually 2016-12-16 15:27:53 +01:00
barendgehrels
5671c065e4 [test] Add similar simpler cases to single polygons 2016-12-16 13:54:08 +01:00
barendgehrels
07872acca1 [test] add (still failing) test for validity needing self-turn 2016-12-16 12:30:11 +01:00
barendgehrels
57250a3fdd [overlay] fix regression (duplicate polygons) due to last enhancements
in validity of intersections
2016-12-07 13:12:03 +01:00
barendgehrels
efecc02866 [traverse] fix certain cases to recognize starting point during intersection
in a broader context
2016-11-30 12:56:48 +01:00
barendgehrels
c4ab3653eb [test] minor order in testcase indexes 2016-11-23 18:01:45 +01:00
barendgehrels
3c58f15105 [traversal] handle non clustered ii turns using sort-by-side 2016-11-23 17:35:29 +01:00
barendgehrels
a801bf621e [test] overlay: test number of clips, and add (still failing) testcase 2016-11-17 13:56:42 +01:00
barendgehrels
44ddcf1833 [test] use macros to get conveniently add/manage the testcases 2016-11-17 13:18:17 +01:00
Barend Gehrels
3d2ff82fd7 [test] add inverse version for failing case for difference 2016-11-02 16:26:29 +01:00
Barend Gehrels
11a249d5eb [test] add one testcase, used for pending work (make intersections valid) 2016-10-12 17:57:34 +02:00
Barend Gehrels
a057b49ec0 [test] add testcases with one cluster and multiple outputs (one is invalid)
Add macros to specify testcases more conveniently
2016-10-05 12:55:39 +02:00
Barend Gehrels
2a343f072f [validity][test] add unit test for sort_by_side, testing open_count
of the one and only cluster found in the test cases
2016-09-28 13:21:22 +02:00