Commit Graph

2201 Commits

Author SHA1 Message Date
Barend Gehrels
91f0d84d9a [test] is_valid_failure: fix failure type of mpg09 2017-07-05 18:16:00 +02:00
Barend Gehrels
8012d17ca6 Merge branch 'feature/intvalid' into develop 2017-07-05 17:08:52 +02:00
Barend Gehrels
bcbcbf8a74 [test] with corrected validity, update testcases 2017-07-05 16:44:25 +02:00
Barend Gehrels
114bca9f55 [test] remove redundant booleans 2017-07-05 14:47:04 +02:00
Barend Gehrels
32cc0c1d74 [test] Add new testcase for is_valid 2017-07-05 14:45:05 +02:00
Barend Gehrels
59ea116d8c [test] intersection, check validity of whole output instead of
its separate polygons
2017-07-05 14:40:21 +02:00
Adam Wulkiewicz
a51a331df9 Merge pull request #405 from awulkiew/feature/area_strategy
Add missing propagation of area strategy in buffer, is_valid and overlay.
2017-07-05 13:51:43 +02:00
Barend Gehrels
4ccd4e43ce [is_valid] add extra info to turn to determine validity
Including unit test adaptions. Results are verified visually with SVG
2017-07-05 13:06:15 +02:00
Vissarion Fysikopoulos
fcc3c4e39d [test] Add failing test case that now passing with box_box fix 2017-07-04 10:24:13 +03:00
Adam Wulkiewicz
77d0195d21 [test][overlay] Update select_rings test wrt recent changes in overlay. 2017-07-04 04:48:59 +02:00
Barend Gehrels
41a5570251 [test] update test information on validity 2017-06-28 22:35:06 +02:00
Barend Gehrels
ae09052e7d [test] update administration after fix in is_valid. Most
difference cases are valid now.
2017-06-28 22:27:03 +02:00
Barend Gehrels
a1f92e9464 [test] remove #case_recursive_boxes1 from sort_by_side test because
it does not have one cluster (actually it has many)
2017-06-28 21:18:15 +02:00
Barend Gehrels
0a65db7b9b [test] Remove several testcases, because (after changes in discarding turns
from clusters) there were no clusters left in these cases
2017-06-28 21:17:41 +02:00
Barend Gehrels
60c9b096b1 Merge branch 'feature/intvalid' into develop
# Conflicts:
#	include/boost/geometry/algorithms/intersects.hpp
#	include/boost/geometry/algorithms/touches.hpp
2017-06-27 20:33:46 +02:00
Barend Gehrels
e32269b208 [test] move ignore_validity to macro 2017-06-25 17:22:10 +02:00
Barend Gehrels
0cabf049cd [test] Test validity for the whole outut, instead of per polygon 2017-06-25 17:21:50 +02:00
Barend Gehrels
58e1c0bc51 [is_valid] remove false negatives from two touching interior rings 2017-06-25 17:18:26 +02:00
Barend Gehrels
c7c4800ca6 [is_valid] remove false negatives from two touching exterior rings, touching
each other at the touching point of an interior ring
2017-06-25 16:59:34 +02:00
Barend Gehrels
ee3f5ea20d [union] fix generating of false interiors by checking count_left 2017-06-25 13:56:01 +02:00
Barend Gehrels
2f2972959a [test] Add test cases 57,58,59 for new approach for union-clusters 2017-06-25 12:09:32 +02:00
Barend Gehrels
b667a0a787 [test] Add testcases 55/56 for handling union clusters / not discarding self turns 2017-06-25 11:54:04 +02:00
Barend Gehrels
8e33d65ed7 [test] fix last added testcase for union which needs self-intersections
for validity
2017-06-14 12:08:58 +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
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
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
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
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
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
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
3555591411 [test] add missing recursive box cases to difference_multi
(all checked visually)
2017-05-31 12:51:55 +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
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
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
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
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
Barend Gehrels
d4ce96df48 [test] Add testcase 131 (fixed) and 132 (still unclear) 2017-05-20 17:30:25 +02:00
Barend Gehrels
0de898a004 [union] Fix select_source for self_turn, it should use multi_index 2017-05-20 15:54:57 +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
Barend Gehrels
9705fce852 [test] adapt testcase #case_recursive_boxes_14_invalid 2017-05-13 17:55:18 +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
2ea9884ddd [validity] avoid discarded self-turn in isolated region generation,
and avoid registering uu-self-turns
This fixes the regressions in cases which were handled correctly before,
for intersection
2017-05-08 14:15:14 +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
Vissarion Fysikopoulos
4f7956d5ae [disjoint] more cleaning code 2017-05-05 15:57:36 +03:00
Vissarion Fysikopoulos
b7d5f4b849 [disjoint] cleaning code 2017-05-05 14:17:52 +03:00
Adam Wulkiewicz
3f15be3a68 [test][touches] Add cases for multiPoint/Geometry. 2017-05-04 15:45:45 +02:00
Adam Wulkiewicz
baf867e7ed [test][crosses][relate] Add test cases for MultiPoint/LinearOrAreal combinations. 2017-05-04 13:38:41 +02:00
Vissarion Fysikopoulos
5cdae7c693 [disjoint] [vertex_longitude] Reviewing cases of disjoint, create new tests, fix corner cases 2017-05-02 18:44:26 +03:00
Adam Wulkiewicz
ff8a1a807b [test][relate] Add cases for MultiPoint/SingleLorA. 2017-04-27 18:39:11 +02:00
Barend Gehrels
97151eb985 Merge branch 'develop' into feature/intvalid 2017-04-27 10:41:12 +02:00
Adam Wulkiewicz
738c76795c [test][disjoint] Enable tests for MultiPoint/Areal. 2017-04-26 19:11:08 +02:00
Adam Wulkiewicz
4172ffed05 [test][within][covered_by] Add tests for MultiPoint/LorA. 2017-04-26 14:03:00 +02:00
Adam Wulkiewicz
623f3f5fd0 [test][distance][overlay] Add missing includes. 2017-04-26 06:22:47 +02:00
Adam Wulkiewicz
1a6446ba66 Merge branch 'develop' into feature/geographic 2017-04-25 03:48:06 +02:00
Adam Wulkiewicz
f050319859 [test][relops] Add tests for PointLike/PointLike combinations (covered_by, disjoint, equals, overlaps, within). 2017-04-24 19:47:55 +02:00
Adam Wulkiewicz
e59931473a [test][correct] Add missing copyright notes. 2017-04-20 19:02:45 +02:00
Adam Wulkiewicz
dce086ae72 [test][correct] Add test for spherical and geographic polygons and rings. 2017-04-20 18:59:52 +02:00
Barend Gehrels
7d17bd1e8a Merge branch 'develop' into feature/intvalid 2017-04-20 15:35:34 +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
87a1a941f2 Merge branch 'develop' into feature/geographic 2017-04-14 01:39:05 +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
Adam Wulkiewicz
e3ac044400 [equals][test] Make collect_vectors Ring-order-invariant with normalized_view. 2017-04-09 11:33:00 +02:00
Adam Wulkiewicz
657a5c8090 [equals][test] Fix collect_vectors for open Rings with closeable_view. 2017-04-09 01:46:46 +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
7f8cb5a1aa Merge branch 'develop' into feature/intvalid 2017-03-26 12:57:28 +02:00
Barend Gehrels
b320ddf8e6 [buffer] Fix segmentation fault for rings (start/finish ring was not called),
including new unit test
2017-03-26 12:49:48 +02:00
Barend Gehrels
20005d6e47 Merge branch 'develop' into feature/intvalid 2017-03-26 11:33:13 +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
Adam Wulkiewicz
cba7b9b016 [test][disjoint] Move disjoint_box_seg test and use CHECK_MESSAGE for better output. 2017-03-22 20:51:32 +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
b4d1c8f8a9 [test] fix pointtype which is also used for SVG 2017-03-22 12:08:51 +01:00
barendgehrels
51435fdc9d [test] enhance debug info using the new get_next_turn_index method 2017-03-22 11:52:41 +01:00
barendgehrels
453b6b4a34 [TEST] Fix strategy for buffer SVG 2017-03-22 11:45:51 +01:00
barendgehrels
75d65e9bb7 [TEST] Move unused typedef 2017-03-22 11:45:02 +01:00
barendgehrels
ae90f8567e [TESTE] fix reversed expectations 2017-03-22 11:44:44 +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
12b1ad9e79 [test] avoid testing too much when one type is tested (compilation time) 2017-03-18 20:14:19 +01:00
Adam Wulkiewicz
7bba50172e Merge pull request #380 from vissarion/feature/disjoint_geo_new
Feature/disjoint geo new
2017-03-14 19:15:34 +01:00
barendgehrels
404bd889f5 [traverse] fix case #129/rec boxes_4 by avoiding finalized operations in aggregation 2017-03-13 17:44:28 +01:00
barendgehrels
f9e2119d32 Merge branch 'develop' into feature/intvalid
# Conflicts:
#	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
#	test/algorithms/set_operations/intersection/test_intersection.hpp
2017-03-13 16:22:58 +01:00
barendgehrels
9438642121 [test] avoid testing too much with ONLY_ONE_TYPE is specified 2017-03-13 16:12:36 +01:00
barendgehrels
32c422f745 [traverse] fix case #130, starting with cc, using remaining_distance 2017-03-13 15:36:13 +01:00
barendgehrels
1b5fb4444e [traverse] Major commit. Avoid discarding ii turn on interior rings. Detect isolatated
regions (usually inner rings) differently: only once instead of on the
fly, and store it. Set visited in clusters for all parts of the cluster.
2017-03-13 10:52:27 +01:00
Adam Wulkiewicz
dd439ce1c1 [test][partition] Return bool from visitors, it is now required by partition(). 2017-03-09 05:44:41 +01:00
Vissarion Fysikopoulos
207098b2ff Merging with develop 2017-03-08 18:37:11 +02:00
Adam Wulkiewicz
273ac37df4 [test][algorithms] Update tests according to the recent consistency changes in strategies. 2017-03-07 20:15:07 +01:00
Adam Wulkiewicz
95bb1eacc0 Merge branch 'develop' into feature/disjoint_geo_new 2017-03-05 23:43:45 +01:00
Adam Wulkiewicz
c00178f39a [test][algorithms] Use ranges of coordinates in expected boxes in some cases.
In cases of long segments the envelopes may differ more than several
epsilons with different compilers.
2017-03-03 03:56:40 +01:00
Adam Wulkiewicz
b7d62db598 [test][formulas][algorithms] Add/alter tests related to fixes in inverse formulas (length, perimeter). 2017-03-02 17:01:47 +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
0d95185060 [traverse] fix cases where isolated regions have more turns in between
(cases #41/#128)
2017-02-17 16:24:52 +01:00
barendgehrels
4547875d81 [intersection][test] add/update testcases 2017-02-17 12:39:11 +01:00
Adam Wulkiewicz
b1c78f6622 [test] Test setops, is_simple and is_valid with strategies. 2017-02-17 05:45:34 +01:00
Vissarion Fysikopoulos
6a2b202eb6 [disjoint] [test] Code cleaning 2017-02-16 16:43:52 +02:00
Vissarion Fysikopoulos
2ef3f99fc3 [disjoint] [test] Strategy inteface, more unit tests, code cleaning 2017-02-16 13:54:14 +02:00
Vissarion Fysikopoulos
1f952671e9 [disjoint] [test] Disjoint algorithm and tests for spherical and geographic systems 2017-02-14 23:48:08 +02:00
Adam Wulkiewicz
ea1b6c0ce0 [test][envelope][cross_product] Fix/suppress warnings. 2017-02-10 23:57:00 +01:00
Adam Wulkiewicz
18a2ed317d Merge pull request #379 from vissarion/feature/fix_envelope
[envelope] [test] Fix the envelope algorithm and add corrected values to tests
2017-02-08 14:32:45 +01:00
Vissarion Fysikopoulos
410536e331 [envelope] [test] Fix the envelope algorithm and add corrected values to tests 2017-02-08 15:18:49 +02:00
Adam Wulkiewicz
98a655bf42 Merge pull request #378 from awulkiew/feature/relops_strategies
Support for strategies in relational operations.
2017-02-07 20:13:58 +01:00
Adam Wulkiewicz
56168601d2 [test] Move algorithms/vertex_latitude to strategies/segment_envelope. 2017-02-07 14:24:01 +01:00
Adam Wulkiewicz
448d0daa88 [test][relops] Add tests for relops taking strategies (explicitly pass default strategy). 2017-02-06 17:58:01 +01:00
Vissarion Fisikopoulos
436c589f41 Merge branch 'develop' into feature/envelope_expand_geo 2017-02-02 13:41:34 +02:00
Adam Wulkiewicz
c277a6c99a Merge pull request #359 from vissarion/feature/area
Feature/area
2017-02-02 00:49:33 +01:00
Vissarion Fysikopoulos
fd12b69ee6 [area] Addressing comments 2017-01-31 17:55:00 +02:00
Vissarion Fysikopoulos
99c001873d [envelope] Move envelope computation back to algorithm level 2017-01-31 17:35:48 +02: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
Vissarion Fysikopoulos
930719bad3 [area] Rename area strategy namespace 2017-01-27 19:41:27 +02:00
Vissarion Fysikopoulos
021be6636d [envelope] [expand] MBR strategy for envelope and expand 2017-01-19 17:27:05 +02: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
409e97304e [test][distance] Suppress unused parameter warning. 2017-01-06 20:05:32 +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
f0f5045364 [test] remove ignore flag for case 125 which runs OK with and without
self-turns
2017-01-04 13:23:34 +01:00
barendgehrels
093f3151bb [test] update settings for validity in intersection, all tests (excluded non-rescaling)
are fine now for this file
2017-01-04 12:48:30 +01:00
barendgehrels
74f74a466c [test] mark test cases for conditionally include 2016-12-28 17:48:07 +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
5a9acd4348 [test] fix error (integer too large) for some platforms, these are double values 2016-12-07 13:30:14 +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
e7006237f7 [test] Uncomment one (of two) regressions because it is fixed, and changed
comments of the other one
2016-11-30 15:55:30 +01:00
barendgehrels
809e48ae63 Merge branch 'feature/intvalid' into develop 2016-11-30 13:32:37 +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
d687a55bbe [test] correct testcase 2016-11-17 13:37:51 +01:00
barendgehrels
44ddcf1833 [test] use macros to get conveniently add/manage the testcases 2016-11-17 13:18:17 +01:00
Barend Gehrels
7859cd3b91 Rename variable and report tolerance to see failure reasons 2016-11-09 10:02:10 +01:00
Vissarion Fysikopoulos
3fda39ded1 [vertex latitude] Simplify formulas 2016-11-08 13:02:37 +02:00
Barend Gehrels
d203eb281c [test] add const removed by accident 2016-11-02 16:37:34 +01:00
Barend Gehrels
315d73c1e4 [test] increase tolerance for failing test on some platforms 2016-11-02 16:34:15 +01:00
Barend Gehrels
3d2ff82fd7 [test] add inverse version for failing case for difference 2016-11-02 16:26:29 +01:00
Barend Gehrels
70e20ddd27 [overlay] fix some validity cases for intersection/difference 2016-11-02 15:55:30 +01:00
Vissarion Fysikopoulos
b073703fd2 [formulas] comment out and clear some code 2016-10-27 13:57:35 +03: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
Barend Gehrels
30ad9da654 [validity] add cases with single cluster 2016-09-28 12:43:22 +02:00
Barend Gehrels
9201064990 [validity] fix zone count for intersection operations 2016-09-28 12:22:52 +02:00
Vissarion Fysikopoulos
dfe08e58d2 [envelope] [algorithms] [test] Tests for spheroid with strategies. 2016-09-20 14:21:17 +03:00
Vissarion Fysikopoulos
af2b0c680e [envelope] [expand] [algorithms] [test] Tests for spheroid. 2016-09-19 18:02:35 +03:00
Vissarion Fysikopoulos
dde8368bc7 [envelope] [expand] [algorithms] [test] Code cleaning and copyright info. 2016-09-19 13:52:59 +03:00
Vissarion Fysikopoulos
36af2b870f [envelope] [expand] [algorithms] [test] Envelope and expand algorithms with strategies 2016-09-19 13:37:17 +03:00
Vissarion Fysikopoulos
4c787629ba [area] [formulas] Minor changes. 2016-09-06 18:31:17 +03:00
Vissarion Fysikopoulos
c9d6796b65 [area] [formulas] More accurate spherical term computation; only one azimuth computation call 2016-09-06 17:58:30 +03:00
Vissarion Fysikopoulos
86fbf6a204 [formulas] [vertex_latitude] Method returns both min and max vertex latitude at once. 2016-09-02 17:40:30 +03:00
Vissarion Fysikopoulos
12d99a1827 [formulas] [vertex_latitude] Fix a typo in spehrical and add spherical tests 2016-09-02 15:01:37 +03:00
Vissarion Fysikopoulos
3aaef83dee [test] [formulas] [vertex_latitude] Fixes and more tests. 2016-09-01 12:17:28 +03:00
Vissarion Fysikopoulos
c74ddfd4d6 [area] Change interface; inverse formula as template template parameter 2016-08-31 18:41:48 +03:00
Barend Gehrels
e3b424940c [traverse] handle ii as uu for switch_source,
this makes several intersection testcases valid,
and makes one difference case invalid
2016-08-31 13:43:59 +02:00
Vissarion Fysikopoulos
87516b0495 [test] [formulas] Tests for vertex latitude algorithm. 2016-08-31 12:47:40 +03:00
Barend Gehrels
270a86cee7 [test] add comments about removed duplicate case 2016-08-31 11:44:57 +02:00
Adam Wulkiewicz
c45af31f61 [test][algorithms] Add test for covered_by() P/B and B/B in geographic CS. 2016-08-27 02:34:31 +02:00
Vissarion Fysikopoulos
93b70ace53 [area] Second round of changes. Spherical area gets srs sphere as parameter and keep a constructor with radius for backward compatibility. 2016-08-19 13:58:47 +03:00
Vissarion Fysikopoulos
7234ce7cab [area] [test] Tests for different strategies of geographic area. 2016-08-16 18:28:50 +03:00
Vissarion Fysikopoulos
d1c21baf60 merge and resolve conflicts 2016-08-15 19:38:46 +03:00
Vissarion Fysikopoulos
982c58c073 [area] [test] tests for spherical and geographic area 2016-08-15 18:48:40 +03:00
Vissarion Fysikopoulos
fb092ca86d [area] maxima code; Clenshaw and Horner algorithms; fix an error (reduced length) 2016-08-12 21:58:24 +03:00
Barend Gehrels
c9738ff7c0 [test] increase two tolerances for qcc-arm platforms 2016-07-27 17:38:57 +02:00
Barend Gehrels
798906441a Rename concepts in unit tests 2016-07-27 16:18:00 +02:00
Barend Gehrels
d4d24524a9 [test] various test updates w.r.t. robustness and validity 2016-07-20 13:46:23 +02:00
Barend Gehrels
0270865e2b [test] case 77 is now valid with the recent changes in colocations 2016-07-20 10:36:54 +02:00
Barend Gehrels
94ec0619b9 [test] run tests but ignore validity, they are still not yet valid 2016-07-20 10:36:26 +02:00
Barend Gehrels
389887eaaa [colocations] fix the issue for ccw 2016-07-06 14:25:30 +02:00
Barend Gehrels
08f87517b7 [colocations] also discard interior-ring turns with a ux 2016-07-06 13:31:11 +02:00
Barend Gehrels
5aa82adbba [test] remove duplicate testcase (mysql_23023665_4 is identical to mysql_21964049) 2016-07-06 12:48:46 +02:00
Barend Gehrels
f8ea789f31 [test] move cases, three newly reported cases are fixed already for non-ccw 2016-07-06 12:47:06 +02:00
Barend Gehrels
ff330e364a Merge branch 'develop' into feature/cluster_touch 2016-07-06 12:30:50 +02:00
Barend Gehrels
cacb8c4af5 [buffer] discard turns instead of setting them to blocked, because that
might discard valid turns during the colocation check
2016-07-06 12:29:10 +02:00
Barend Gehrels
26ed657f93 [test] add validity flag for intersection and adapt input #outputs/#points 2016-06-29 15:02:23 +02:00
Barend Gehrels
fcd48748ce [test] ignore validity in difference/spike tests 2016-06-29 14:29:55 +02:00
Barend Gehrels
6b7f5f484d [test] make exceptions for invalid polygons or (union) 3 ccw cases which
are not yet created as valid
2016-06-29 14:08:05 +02:00
Barend Gehrels
b46805107b Merge branch 'develop' into feature/cluster_touch
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/handle_touch.hpp
	test/algorithms/overlay/Jamfile.v2
	test/algorithms/set_operations/difference/difference.cpp
	test/algorithms/set_operations/union/union.cpp
2016-06-29 13:18:51 +02:00
Barend Gehrels
b75c055ff1 [test] add comments 2016-06-29 11:48:03 +02:00
Adam Wulkiewicz
4870150a78 [test][example] Change filenames in #includes 2016-06-23 15:10:24 +02:00
Barend Gehrels
0879dccc81 [traversal] handle clustered turns with interior/exterior touching point by
discarding those turn_points (because detecting that in cluster or switch
and adapt behaviour is way more complex)
2016-06-22 18:44:17 +02:00
Adam Wulkiewicz
699df472e7 [test][setops] Use multi-geometries as output types (to simplify debugging). 2016-06-21 23:55:57 +02:00
Adam Wulkiewicz
8147014095 Merge branch 'develop' into feature/sph_seg_inters
Conflicts:
	test/algorithms/overlay/overlay_cases.hpp
2016-06-21 16:53:33 +02:00
Adam Wulkiewicz
6fd54716a6 [test][buffer] Add failing test cases.
Add overload of testing function checking the number of polygons and
holes in the buffer output.
2016-06-21 16:46:52 +02:00
Adam Wulkiewicz
ff77e78562 [test][setops] Add failing test cases. 2016-06-21 16:45:46 +02:00
Adam Wulkiewicz
94b2ff8f10 [test][difference][union] Add failing cases. 2016-06-20 15:28:51 +02:00
Adam Wulkiewicz
b9c1456c08 [test][intersects] Remove unused typedefs. 2016-06-13 10:17:53 +01:00
Adam Wulkiewicz
819919c913 Merge branch 'develop' into feature/sph_seg_inters
Conflicts:
	include/boost/geometry/strategies/cartesian/cart_intersect.hpp
2016-06-13 09:50:06 +01:00
Barend Gehrels
f5cbd59664 [test] update difference test, where not all is valid yet 2016-06-08 15:05:32 +02:00
Barend Gehrels
3d5906f1e8 [traversal] revised switch detector because could not get previous approach
working for the last cases and for newly created connected interior rings. The new approach is much simpler and based
on regions (connected rings, connected via interiors) and works for almost
all cases including newly created connected interiors. Last cases still to
be checked though.

It does not traverse through turns, but instead navigates through rings
2016-06-08 14:53:49 +02:00
Barend Gehrels
8a1c3e99c6 [test] add (currently failing) testcase 2016-06-08 12:20:56 +02:00
Adam Wulkiewicz
841f469947 [test][intersects][within] Add test cases for geometries using different point types. 2016-06-06 21:14:56 +02:00
Adam Wulkiewicz
a2eeba8f0e [test][relops] Add spherical Pt/Areal test cases. 2016-06-06 17:21:57 +02:00
Adam Wulkiewicz
28e716e9e1 [test][relops] Add spherical test cases. 2016-06-03 03:11:37 +02:00
Adam Wulkiewicz
2f4d322d61 [test][length][perimeter] Add prefix to the test names in order to group them properly in the regression matrix. 2016-06-01 16:25:36 +02:00
Barend Gehrels
e5652cffe1 [test] add optional check of input validity 2016-06-01 13:48:20 +02:00
Barend Gehrels
597ea22bef [test] test validity now that input is valid, and add testcases for
some deliberately invalid input
2016-06-01 13:39:01 +02:00
Barend Gehrels
421be3ca7f [test] make the input of a dozen of testcases valid 2016-06-01 13:35:43 +02:00
Barend Gehrels
ee38e20243 [test] remove var which is not used anymore 2016-06-01 12:36:43 +02:00
Barend Gehrels
1b5efbaeb7 [traverse] fix switch cases on first visit by extracting that code
to separate method and call it twice
2016-06-01 12:36:08 +02:00
Barend Gehrels
f62503c2d4 [traverse] implement zones in traversal switch detections 2016-06-01 10:34:00 +02:00
Adam Wulkiewicz
af634030ff Merge pull request #349 from vissarion/feature/perimeter
Feature/perimeter
2016-05-28 14:08:34 +02:00
Adam Wulkiewicz
20a759bd12 [test][equals] Add spherical test cases (one failing). 2016-05-28 14:07:11 +02:00
Adam Wulkiewicz
0f53927bae [test][relops] Add tests for spherical CS for the rest of the relops besides equals(). 2016-05-26 22:45:23 +02:00
Vissarion Fysikopoulos
78961eaf08 [test] [perimeter] Minor changes in perimeter tests to reflect comments. 2016-05-26 10:42:23 +03:00
Vissarion Fysikopoulos
218c554091 [test] [perimeter] Minor changes in perimeter tests to reflect comments. 2016-05-25 16:39:23 +03:00
Vissarion Fysikopoulos
50846babb3 [test] [perimeter] Tests for perimeter. 2016-05-25 14:59:06 +03:00
Adam Wulkiewicz
d375f140fe [test][relops] Add spherical within and covered_by tests.
Move tests of each algorithm into separate directories.
2016-05-25 02:20:33 +02:00
Vissarion Fysikopoulos
7bdee87a22 [test] [length] Fixing issues from comments in length tests. 2016-05-23 13:19:00 +03:00
Adam Wulkiewicz
57aae02194 [test][relate] Enable one cartesian L/L test case only for double coordinates. 2016-05-20 00:19:02 +02:00
Adam Wulkiewicz
7bf78f91df [test][relate] Add test cases for spherical Linear and Areal geometries. 2016-05-20 00:18:11 +02:00
Vissarion Fysikopoulos
7423d61a8d [test] [length] Tests for length algorithm. 2016-05-19 18:56:18 +03:00
Barend Gehrels
dc63848782 [traverse] check other ring while determining switches 2016-05-18 12:20:17 +02:00
Barend Gehrels
1d273e223b [traverse] touch detection for clusters, implemented partly.
This still causes some regressions and fixes other (about equally amount) cases
2016-05-11 14:09:03 +02:00
Barend Gehrels
49a2062627 [test] add testcase variations for buffer and a note: one test is now failing 2016-05-05 12:56:53 +02:00
Barend Gehrels
1e99b1adf9 [traverse] use switch_source in clusters 2016-05-05 12:25:20 +02:00
Barend Gehrels
9ed3809b58 [test] investigated failing new case, it is caused by rescaling/missing
intersection point
2016-04-27 14:10:10 +02:00
Barend Gehrels
5e0cac49fd [test] fix expectations of todays added test, they were reversed 2016-04-27 13:56:38 +02:00
Barend Gehrels
a2a0586abf [cluster] instead of a plain set, cluster info is now moved to a separate
structure, and a switch_source is added (not yet used)
2016-04-27 13:20:00 +02:00
Barend Gehrels
dbea29f121 [test] make #case_108_multi and add to intersection/difference, which
are both not yet correct (unexpectedly).
Union is correct but still not valid
2016-04-27 12:50:12 +02:00
Barend Gehrels
4d6afb1466 [test] enable validity testing by default for difference tests 2016-04-27 12:06:07 +02:00
Barend Gehrels
c2baa5c46b [test] add testcases for two tickets 2016-04-27 11:42:16 +02:00
Barend Gehrels
b748c8c29d [test] remove handle_touch unit test which is now covered by traversal itself 2016-04-27 11:41:27 +02:00
Barend Gehrels
df9a97dea8 [traverse] enhance validity by checking touching (uu or combined turns creating a touch)
in clusters.
2016-04-27 11:39:40 +02:00
Barend Gehrels
aaa629e2cc Merge branch 'develop' into feature/cluster_touch 2016-04-27 10:51:54 +02:00
Adam Wulkiewicz
bd497804be [test][get_turns] Add more spherical A/A cases. 2016-04-25 13:18:50 +02:00
Adam Wulkiewicz
6d8e20b136 [test][get_turns] Correct failing A/A test case. 2016-04-24 03:19:25 +02:00
Adam Wulkiewicz
538a735718 [test][get_turns] Add spherical A/A test.
Replace explicitly specified Version of operations testing (linear v.s.
areal) with overloaded function automatically picking the correct check.
2016-04-22 23:04:40 +02:00
Adam Wulkiewicz
5c53a86d86 [test][get_turns] Add spherical L/A test cases.
Use more precise coordinates in one case of spherical L/L to avoid errors
when coordinate_type is long double.
2016-04-22 17:44:08 +02:00
Adam Wulkiewicz
461630d92c [test][get_turns] Add test for spherical L/L. 2016-04-21 01:10:09 +02:00
Adam Wulkiewicz
5cd01e087c Merge branch 'develop' into feature/sph_seg_inters 2016-04-20 17:36:43 +02:00
Adam Wulkiewicz
51beafd4a7 [test][buffer] Move box buffer test into buffer directory and actually test the result. 2016-04-20 17:34:58 +02:00
Adam Wulkiewicz
e8b5e8517e [test][envelope][expand] Move the tests into a separate directory. 2016-04-20 17:23:32 +02:00
Adam Wulkiewicz
6d4d77206b [test][envelope][expand] Use greater tolerance only for one of the latitudes. 2016-04-20 17:13:52 +02:00
Barend Gehrels
950c2644e5 [traverse] reimplement touch the same way as traversal, but don't create rings
there but detect source-switching

This fixes several touching-cases (clusters with uu not yet handled)
2016-04-20 14:13:09 +02:00
Adam Wulkiewicz
dd8df1c455 [test][envelope] Increase tolerance in a case of very long segment. 2016-04-19 22:31:26 +02:00
Adam Wulkiewicz
577e7d1b52 [test][expand] Fix invalid expected result. 2016-04-19 15:23:40 +02:00
Adam Wulkiewicz
c55aa0e9f5 [test][envelope][expand] Increase the precision in the error message. 2016-04-19 03:20:13 +02:00
Barend Gehrels
62bdbbadf7 Merge branch 'develop' into feature/cluster_touch 2016-04-13 10:33:42 +02:00
Adam Wulkiewicz
6155cbe52b [test][simplify] Add test cases for cartesian 3D. 2016-04-12 20:19:27 +02:00
Adam Wulkiewicz
33ece2c567 [test][algorithms] Use new intersection_strategies name. 2016-04-12 03:32:44 +02:00
Adam Wulkiewicz
00cc9bc199 [test][algorithms] Fix double to bool conversion. 2016-04-12 03:32:05 +02:00
Barend Gehrels
a7071f1ef1 [test] ignore validity teset for rt_f which is somehow failing (since
validity test is turned on) on this branch or my machine. To be fixed if
validity is fixed in general
2016-04-06 17:30:36 +02:00
Barend Gehrels
cfa0c184f8 Merge branch 'develop' into feature/cluster_touch 2016-04-06 09:38:08 +02:00
Adam Wulkiewicz
f46ed34965 [test][union][intersection] Add test case (failing union). 2016-04-05 20:23:30 +02:00
Adam Wulkiewicz
1d02da2765 [test][envelope] For spherical, conditionally enable strict coordinates checking, add failing tests. 2016-04-05 17:47:57 +02:00
Adam Wulkiewicz
645ef65016 [test][envelope] Check coordinates strictly if possible. 2016-04-05 00:57:42 +02:00
Adam Wulkiewicz
3180021e02 [test][envelope] Add test cases for spherical Segment. 2016-04-03 02:33:40 +02:00
Barend Gehrels
5a5ed0cb10 [test] in union_multi, test for the uu-interior ring cases (4 of them still failing w.r.t. validity) 2016-03-30 11:27:26 +02:00
Barend Gehrels
4b35ede420 [test] move testcases from touch to multi_overlay_cases for sharing with other tests 2016-03-30 11:18:49 +02:00
Barend Gehrels
ebe3ffbd58 [test][union] test validity by default 2016-03-30 11:12:09 +02:00
Barend Gehrels
ebd3b6a4b9 [test] fix #exected holes 2016-03-27 10:58:46 +02:00
Barend Gehrels
c3b4cba7ff [test] add testcase for ticket 11580 (not yet fixed) 2016-03-26 16:32:17 +01:00
Barend Gehrels
a1a16084ec [test] add testcase for ticket 11018 (fixed) 2016-03-26 16:16:50 +01:00
Barend Gehrels
4a9b2ba167 [test] add possibility to check validity to intersection tests 2016-03-26 16:14:22 +01:00
Barend Gehrels
9c33e37647 [test] add test for ticket 10866 which is apparently fixed 2016-03-23 16:58:45 +01:00
Barend Gehrels
0d10b75966 [test] add testcase for ticket 11576, which is fixed 2016-03-23 16:44:52 +01:00
Barend Gehrels
2f785c09e5 [test] add testcase for ticket_11725 which is solved now by sometimes
switching source in u/u (the yet simple approach)
2016-03-23 16:27:15 +01:00
Barend Gehrels
7818ce8793 [test] add testcase for ticket_11984 which is solved now by last commit 2016-03-23 16:05:01 +01:00
Barend Gehrels
85e0755ccd [traverse][fix] use two passes, in first pass avoid uu turns to get
the interior rings right at starting points. Second pass use uu, but
only switch source if there are only uu turns found. This fixes most
of the simple cases (complex cases can still go wrong)
2016-03-23 13:25:30 +01:00
Barend Gehrels
1439c479d6 [union][test] multi: add cases from branch handle_touch 2016-03-23 11:22:47 +01:00
Barend Gehrels
27b7b9d803 [union][test] add cases from branch handle_touch and put UT report
in argument order
2016-03-23 11:09:33 +01:00
Barend Gehrels
588d102b19 [union] same solution as for intersection should be applied for union,
but not in case of uu or similar
2016-03-16 17:54:03 +01:00
Barend Gehrels
7d3d0dd69f [traverse] revise last weeks fix, make it more general. It should just
skip finalized arcs. This fixes the robustness test almost completely
2016-03-16 14:46:05 +01:00
Adam Wulkiewicz
8bdc2104b3 [test][overlay] Suppress unused typedef warning. 2016-03-10 18:19:52 +01:00
Adam Wulkiewicz
3ba3a76263 Merge pull request #345 from awulkiew/feature/xxx_in_box
Point/Box and Box/Box spatial relations in non-cartesian coordinate systems.
2016-03-09 17:50:28 +01:00
Adam Wulkiewicz
b912ecdd5c [test] Remove redundant semicolon. 2016-03-09 17:24:54 +01:00
Barend Gehrels
5383c24b34 [traverse][cluster] fix cases where it selected wrong arc at cluster,
a pseudo interior ring
2016-03-09 11:51:12 +01:00
Adam Wulkiewicz
764aba9ec1 [test][algorithms] Add/modify tests of within and intersects for non-cartesian CSes.
Move older tests of within and explicitly use point_in_box_by_side
strategy for them because they are not compatible with the currently used,
default definition of a Box:
- the Box may have longitudal edges longer than 180 deg
- the Box is not a Polygon, it's a cartesian product of coordinates, in
  other words the upper and lower edges are defined by latitudes, are
  parts of small circles, not geodesics.
2016-03-09 04:28:11 +01:00
Adam Wulkiewicz
f2a954f4fb [test][covered_by] Add test for P/B and B/B in spherical equatorial and geographic. 2016-03-08 06:03:59 +01:00
Adam Wulkiewicz
175496f4f5 Merge pull request #343 from awulkiew/fix/winding
Fix winding strategy for spherical and geographic system.
2016-03-06 22:45:47 +01:00
Adam Wulkiewicz
463a085698 Merge pull request #341 from awulkiew/fix/rescale_policy
Enable rescale policy only in cartesian coordinate system.
2016-03-06 22:41:39 +01:00
Adam Wulkiewicz
a10d419b27 [test][within] Add more cases near poles. 2016-03-03 15:44:30 +01:00
Adam Wulkiewicz
39765c9983 [test][within] Add test cases around poles. 2016-03-03 04:20:56 +01:00
Adam Wulkiewicz
2a4c89ff66 [test][within][winding] Add/enable tests for Pt/Areal in spherical CS. 2016-03-03 01:25:48 +01:00
Barend Gehrels
de63ab3472 [test] disable exception test 2016-03-02 20:23:02 +01:00
Barend Gehrels
7ea49b3f9f [test] remove exclusion for two spike tests which are running correctly now 2016-03-02 13:27:11 +01:00
Barend Gehrels
dfda1ccbc3 [buffer] fix last cases, in cases where the same offsetted ring is self-intersecting,
the approach using multi_index does not work. We need an extra idenfication
to check the 'sources' of the turns in clusters. Added piece_index for
this purpose.
This can be templated later (so only used for buffer)
2016-03-02 13:09:25 +01:00
Barend Gehrels
438ee64956 [buffer][traverse] fix condition and added image to explain 2016-03-02 10:36:19 +01:00
Barend Gehrels
ba583b67cd [test] comment handle_touch unit test, postponed for this phase 2016-03-02 09:10:08 +01:00
Barend Gehrels
91223c5c98 Merge branch 'feature/cluster' into develop 2016-03-01 21:40:45 +01:00
Barend Gehrels
5677a2a764 [test] remove defines for failing tangencies test for (multi)difference and intersection 2016-03-01 18:23:50 +01:00
Barend Gehrels
f46987b804 [test] disable aimes167 currently failing 2016-02-28 13:15:53 +01:00
Barend Gehrels
80f018437b [test] buffer, disable one case which fails to generate hole 2016-02-28 12:50:45 +01:00
Barend Gehrels
17ab7862c2 [test] buffer: enable previously failing testcase, and for two others
for ccw, which are all OK now (using cluster approach)
2016-02-28 12:48:23 +01:00
Barend Gehrels
8043f37f72 [test] buffer: disable one failing testcase 2016-02-28 12:45:17 +01:00
Barend Gehrels
d9ac176f27 [test] adapt expected values 2016-02-28 12:44:59 +01:00
Adam Wulkiewicz
daf32ffbfe [test][within] Add test cases for spherical equatorial CS (failing). 2016-02-13 00:10:09 +01:00
Adam Wulkiewicz
e47ea29910 [test][distance] Add test cases for spherical equatorial CS mentioned in ticket 11982. 2016-02-12 23:46:17 +01:00
Barend Gehrels
c4c180bb7d [union] instead of checking uu, count open spaces to support also
conbined touching turns without a uu
2016-02-10 20:34:37 +01:00
Adam Wulkiewicz
6162da7411 [test][intersection] Add spherical equatorial test case (ticket 11789). 2016-02-04 16:33:44 +01:00
Barend Gehrels
5eea0f2f61 [test] updated expected clips/holes 2016-02-03 11:18:45 +01:00
Barend Gehrels
34db67d51d Merge branch 'develop' into feature/cluster 2016-02-03 11:12:33 +01:00
Adam Wulkiewicz
eaf9989929 [test][area] Add test case with big coordinates. 2016-01-28 14:48:28 +01:00
Barend Gehrels
18a893d2c0 [buffer][test] adaptions to make clusters visible in buffer SVG maps 2016-01-27 11:44:48 +01:00
Adam Wulkiewicz
cc5d0efc55 Merge pull request #332 from awulkiew/fix/intersects_bs
Fix special case of intersects(Segment, Box)
2016-01-20 16:53:05 +01:00
Barend Gehrels
ed6db710ce [buffer] repair compiling: adapt buffer backtrack policy to recent change,
and fix SVG
2016-01-20 10:37:20 +01:00
Barend Gehrels
a236ba3391 [overlay] add counts to enrichtment info, this avoids it to be redone,
and use it in traverse omitting the operation condition
2016-01-13 15:58:51 +01:00
Barend Gehrels
8364aed91b [intersection] fix cases where intersection has to travel through uu/ux 2016-01-13 12:49:47 +01:00
Barend Gehrels
d256e57487 [overlay] now we can/need to remove functionality to discard turns
colocated with uu and the same ring.
This breaks one case (# case_recursive_boxes_23) but repairs many (about 50%
of the wrong cases in robustness test)
2016-01-13 10:52:04 +01:00
Barend Gehrels
31e7dd8f2f Minor fix in duplicate debug info 2016-01-10 19:18:17 +01:00
Barend Gehrels
5f028b0b04 [overlay] split polygon_count in left_count/right_count, this is necessary
for some cases (ex. #case_recursive_boxes_29). Also, necessary, now that
startable is defined, don't discard colocated cc in clusters, they are
sometimes necessary.
2016-01-10 19:06:34 +01:00
Barend Gehrels
01df9eacbb [overlay] fix implementation of startable flag, it should start if there
are 1 (union) or 2 (intersection) polygons on right hand
2016-01-10 13:32:08 +01:00
Barend Gehrels
e4624dad28 [union] remove discarded lonely uu turns from cluster 2016-01-09 20:09:35 +01:00
Barend Gehrels
7931e0445b [intersection] now discarded uu turns outside clusters, they block traversal 2016-01-09 19:31:19 +01:00
Barend Gehrels
b7a16976c9 [overlay] handle startable functionality for traverse w.r.t. clusters
This has a small regression on 5 cases in multi_difference, to be inspected,
and can change the number of holes due to commenting handle_touch
2016-01-09 13:39:28 +01:00
Barend Gehrels
f377eebf8c [traverse] instead of combination uu/ux for specific behaviour,
now check on uu/* (any turn in combination with uu) for unionts
2016-01-08 18:28:38 +01:00
Barend Gehrels
0d3ef5e3e9 [intersection] discard turns colocated with uu too (these turns are based on
invalid input)
2016-01-07 19:34:08 +01:00
Barend Gehrels
59125adb8d [intersection] don't exclude ux for intersection because it is necessary
to block certain paths
2016-01-07 18:59:05 +01:00
Barend Gehrels
98f26765e7 [union] change solution for reversed clusters (uu/ux only),
this fixes the new case #case_recursive_boxes21

This fixes again all current multi union/intersection/difference and all union
2016-01-06 22:29:52 +01:00
Barend Gehrels
32ddae6c0d [union] handle clusters with uu-only and halfway incoming arcs 2016-01-06 18:18:18 +01:00
Barend Gehrels
c9836ca17f [union] handle clusters with uu/ux combined 2016-01-06 17:18:05 +01:00
Barend Gehrels
2c1a7b7f40 [union] fix simple cases having two colocated uu turns
(appearing now that uu turns are included)
2016-01-06 16:52:19 +01:00
Barend Gehrels
e52f55bd78 [test] case_36 is fixed now (handle_touch),
correct expected #holes
2016-01-06 13:01:00 +01:00
Barend Gehrels
655b4f887a [debug] add visitor to handle_touch
and some parameter renamings
2016-01-06 12:23:07 +01:00
Barend Gehrels
0d6f2e5285 [overlay] use colocated for colocated cc turns, and if it is like that,
include it in turn_info_map to mark it as traversed
2016-01-03 14:44:12 +01:00
Barend Gehrels
f6411ddfcf [overlay] changes in test program (svg output) 2016-01-03 13:23:46 +01:00
Barend Gehrels
160d8dff0a Revert "[overlay] remove duplicate line from unit test"
This reverts commit 1744a27288.
2016-01-03 13:21:55 +01:00
Barend Gehrels
1744a27288 [overlay] remove duplicate line from unit test 2016-01-03 13:17:34 +01:00
Barend Gehrels
f803c0cae2 [overlay] stop discarding uu turns. Discard cc turns colocated with uu turns.
Including uu turns is necessary to handle cases as in #recursive_boxes_17 and also for
validity of output polygons.
This also makes code simpler for now, removing the separate uu handling from
for example select_rings
2016-01-03 13:17:17 +01:00
Barend Gehrels
d9ccb0563f [overlay] unit test remove duplicate line which was caused
by selecting lines on committing
2016-01-03 11:47:53 +01:00
Barend Gehrels
63b667aa82 Merge branch 'feature/handle_touch' into feature/cluster
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
	include/boost/geometry/algorithms/detail/overlay/overlay.hpp
	include/boost/geometry/algorithms/detail/overlay/traverse.hpp
	include/boost/geometry/algorithms/detail/overlay/turn_info.hpp
	test/algorithms/overlay/Jamfile.v2

Skipped some files in merging:
unit tests, test cases, less_by_segment_index

Turned off the handling of touch (so this is merge only)
2016-01-03 11:47:19 +01:00
Barend Gehrels
fe5264ef00 [traverse] fix selection of operation in case of continue: do not
select a continue operation if next turn is a dead end
2016-01-01 11:09:21 +01:00
Barend Gehrels
e059715a2a [traverse] fix selecting invalid arc in cluster 2015-12-31 18:09:10 +01:00
Barend Gehrels
f63573d58b [colocations] fix assigning discarded turns for clusters 2015-12-31 15:55:00 +01:00
Barend Gehrels
716fe421e0 [enrich] fix cluster behaviour, only point to next turn if clusters
are also on
2015-12-31 14:55:31 +01:00
Barend Gehrels
eee10489ad [traverse] fix, take the right operation in a cluster instead of using
select_operation
2015-12-30 15:18:54 +01:00
Barend Gehrels
e882f5e224 [traverse] fix registration of start which should be done immediately,
to get correct early finish for ii turns
2015-12-27 18:42:39 +01:00
Barend Gehrels
5c18dd370f [colocations] don't discard ring if it is blocked
(fixes #case_recursive_boxes_4)
2015-12-24 18:20:50 +01:00
Barend Gehrels
4878e7c34c [enrich] move discarding uu until after clustering, and within
clustering discarding turns colocated with uu on the same ring.
This breaks 2 cases, to be solved later, and fixes case_recursive_boxes_12
2015-12-24 17:05:05 +01:00
Barend Gehrels
65a3eeb804 [traverse] don't select starting points from clusters which are build in 2015-12-24 13:41:30 +01:00
Barend Gehrels
afd2599bc9 [overlay] instead of traversing through cluster, the next turn index
is determined in enrich_intersection_points
2015-12-24 13:38:48 +01:00
Barend Gehrels
90d0fdb2a3 [test] fix debug info 2015-12-23 18:45:54 +01:00
Barend Gehrels
b0684c4e08 [traverse] move traversal itself to traversal structure, only doing
one traversal. Currently returns error code for backtracking.
2015-12-23 17:48:51 +01:00
Barend Gehrels
7b9f39346b [overlay] debug make text for visited gray such that the rest
more stands out
2015-12-23 16:34:47 +01:00
Barend Gehrels
194f3bf67c [overlay] add check on next turn index, if -1 take next one
to avoid dead ends
2015-12-20 19:05:30 +01:00
Barend Gehrels
64943c0911 [intersection] fix sort_by_side order for non-colinear points on same side 2015-12-20 13:09:39 +01:00
Barend Gehrels
f2319263a0 [union] fix known cases using clustering and sort_by_side during traversal 2015-12-19 18:10:34 +01:00
Barend Gehrels
e7e425f8de [overlay] fix #recursive_boxes by enabling 0,4 as tight corner too.
This introduces a ccw method, called by tight functions.
Note that it does NOT work for the two other similar methods using ranks
2015-12-11 22:00:32 +01:00
Barend Gehrels
33ada1d6e8 [fix] Fix cases by correct ordering left/right using sorted side information
This fixes #recursive_boxes 6, 10, 11

Debug cases added to overlay.cpp (10, 11)
2015-12-10 20:14:10 +01:00
Barend Gehrels
a0fc7307ac [fix] use intersection point for sorting, the "both" is sometimes wrong
This fixes #recursive_boxes_8
2015-12-09 18:40:28 +01:00
Barend Gehrels
d08f527271 [test] added several existing and two new tests mainly for difference
(work in progress)
2015-12-09 18:05:40 +01:00
Barend Gehrels
378bee678a [fix] use sort_by_side now also for ordering of ii/non_ii turns
This fixes cases #101, #102 and #107 for difference (and corresponding
inverse versions for intersection)
2015-12-08 18:35:38 +01:00
Barend Gehrels
72d8c21258 [test][difference] Enable two other formerly failing cases, now fixed:
#ggl_list_20120915_h2 a/b

Fixed by handling turns colocated with xx
and omitting ux for intersection/difference
2015-12-08 12:20:54 +01:00
Barend Gehrels
a43cb3c171 [test][difference] Enable two formerly failing cases, now fixed:
#recursive_boxes_1 and #recursive_boxes_2

and updated expectations of failing/non failing tests
2015-12-08 12:15:58 +01:00
Barend Gehrels
6de8d91942 [fix] fix newly added case and get rid of different code for
intersection/difference
2015-12-07 22:45:29 +01:00
Barend Gehrels
9302c9f02f [extensions][test] add inverse algorithm to calculate the inverse (in extensions)
and use it in overlay unit test
2015-12-07 20:17:31 +01:00
Barend Gehrels
9b299e8ab4 [test] add intersections of inverse versions of multi #65,
showing the current approach of discarding xx/ux is wrong (as neither not done
for union/difference)
2015-12-07 20:12:38 +01:00
Barend Gehrels
11844b6b74 [test] extend visitor with traversal information 2015-12-06 19:21:50 +01:00
Barend Gehrels
4a491fd77d [overlay][test] add test visitor for overlay operation including turn and turn-order 2015-12-06 18:45:21 +01:00
Barend Gehrels
4f90bcd4a5 [fix] handle ix/ix as ux/ux
This fixes case #77; case #72 is fixed by earlier changes
2015-12-06 18:21:35 +01:00
Barend Gehrels
0c9d365d4b [fix] copy_segment_points did not use reverse, fixed. It is now similar to
copy_segments
This somehow influences one unit test case but that will be handled later.
2015-12-06 18:01:19 +01:00
Barend Gehrels
90485acf79 Merge branch 'develop' into feature/fix_tangencies 2015-12-06 17:45:12 +01:00
Adam Wulkiewicz
b1f31d12dd [test][traverse] Add failing case. 2015-12-03 10:39:28 +01:00
Barend Gehrels
cf42d0d08d [test] add simpler version of case_108_muli as single version, with
missing intersection point
2015-11-30 23:09:32 +01:00
Barend Gehrels
285e0ad61d Merge branch 'develop' into feature/fix_tangencies 2015-11-28 09:10:28 +01:00
Barend Gehrels
b022ae5606 [test] add failing case for missing intersection point, case_108_multi 2015-11-28 07:22:33 +01:00
Menelaos Karavelas
4dedae6eb7 Merge pull request #335 from mkaravel/fix/is_valid_invalid_coordinates
Boost.Trac ticket 11711
2015-11-26 23:30:58 +02:00
Barend Gehrels
2e13b87bce Merge pull request #336 from mapycz/fix-centroid-crash
[algorithms][centroid] Fix crash when multi-geometry contains empty geometry
2015-11-22 14:15:32 +01:00
Barend Gehrels
2945201838 [overlay] pass inverse flag for difference and use it
to reverse condition on interior/exterior touch
2015-11-22 14:01:05 +01:00
Jiri Drbalek
39ef9e6e04 [test][algorithms][centroid] More centroid tests on empty geometries 2015-11-21 19:51:03 +00:00
Barend Gehrels
9230c3f142 [traverse][test] updates test svg 2015-11-21 19:03:19 +01:00
Barend Gehrels
939bf656f9 [intersection/enrich] don' t skip after ii if it is about interior rings,
they should be traversed. This fixes case mysql_21965285_b_inv
and helps for cases #58 (no backtracking)
2015-11-21 19:01:51 +01:00
Barend Gehrels
6fb034581a [traverse] fix situations for ii by checking if in a cc case (where either
one can be selected normally) one of the options leads to the starting turn.

This, together with previous commit (finish early), fixes the many
variants of case #58
2015-11-21 18:56:40 +01:00
Barend Gehrels
324bfac801 Merge branch 'develop' into feature/fix_tangencies 2015-11-21 11:54:39 +01:00
Adam Wulkiewicz
48f64f6fbe [test][intersection][difference] Add/move failing test case.
Add a case of intersection corresponding to the failing difference case.
Move the case related with MultiPolygons to a different file.
2015-11-19 19:29:04 +01:00
Barend Gehrels
ba4a832bb7 Merge branch 'develop' into feature/fix_tangencies 2015-11-18 20:56:15 +01:00
Adam Wulkiewicz
ec86b24401 [test][difference] Add failing case. 2015-11-18 19:49:30 +01:00
Barend Gehrels
515d75ffe0 [test] update testcases, one more failing (but that fails for multi too)
and one fixed in the meantime
2015-11-18 17:41:37 +01:00
Barend Gehrels
a9903f8c7f [overlay] fix ordering ii-turns and skip turns afterwards 2015-11-18 17:33:23 +01:00
Barend Gehrels
67ac81e5b2 [overlay] fix cases where intersection point is in the middle of the
first segment, and not at the endpoint
2015-11-18 14:53:00 +01:00
Barend Gehrels
026abb015d [test] temporarily exclude case #81 recently added 2015-11-18 11:15:01 +01:00
Barend Gehrels
a48a935064 [overlay] self-tangencies, similarly as handling side left/right,
handle cases where one leg continues collinearly
2015-11-18 11:14:35 +01:00
Menelaos Karavelas
045522d9cb Merge branch 'develop' of github.com:boostorg/geometry into fix/is_valid_invalid_coordinates 2015-11-18 09:58:37 +02:00
Barend Gehrels
e2764a795b [overlay] sort on cc too. Also, sort/fix cases where ux is considered for intersection too.
They are discarded now, besides the sorting order is fixed (but that
alone does not help)
2015-11-15 11:55:13 +01:00
Barend Gehrels
c7d419785e [overlay] in less_by_segment_ratio, sort turns where operation occurs
(and not in the other turn) first
2015-11-14 11:23:37 +01:00
Barend Gehrels
d038e58f16 [overlay] check for sides w.r.t. both, this fixes two cases for
intersection
2015-11-13 20:08:14 +01:00
Barend Gehrels
b891bbe741 [overlay] use same functionality also for intersection 2015-11-13 19:29:55 +01:00
Barend Gehrels
e97bbb4da1 [overlay] fix cases where IP is not at endpoint. This fixes the last
union/buffer cases with less_by_segment_ratio instead of handle_tangencies
2015-11-12 19:46:29 +01:00
Jiri Drbalek
cb9c581365 [algorithms][centroid] Fix crash when multi-geometry contains empty geometry 2015-11-11 21:24:26 +00:00
Barend Gehrels
242c619b35 [overlay] handle ux/ui and ui/ui in a more generic way, for union,
checking the relative sides of the outgoing segments (in the sorting)
2015-11-11 21:50:34 +01:00
Barend Gehrels
529b8e804c [overlay] fix ux/ux cases by sort order
(instead of handle tangencies)
2015-11-11 16:18:19 +01:00
Barend Gehrels
4a05869d2f [overlay] turn off handle_tangencies 2015-11-11 15:43:29 +01:00
Barend Gehrels
4270ccce20 [test] add recent regression for intersection. Found using recursive_polygon
Date of regression yet unknown. In 1.55 the recursive_polygons tool
never detected errors.
2015-11-11 13:34:49 +01:00
Barend Gehrels
a0ac004a84 [test] investigating case #58 failing for intersection,
adding simplified versions of #58, some failing, some correct
2015-11-11 11:46:38 +01:00
Barend Gehrels
9ec7e5f3d3 Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2015-11-11 10:27:42 +01:00
Menelaos Karavelas
8a29318200 [test][algorithms][is_valid] add test cases of geometries that have invalid coordinates,
namely coordinates that are either NaN or infinite;
2015-11-06 12:17:30 +02:00
Menelaos Karavelas
97bb918a38 [test][algorithms][is_simple] add test cases involving the empty linestring,
the empty polygon and empty multi-geometries; these test cases are related to
Boost.Trac tickets 11709 and 11710;
2015-11-05 15:03:40 +02:00
Menelaos Karavelas
dd5773a40d [test][algorithms][sym_difference] fix call to test_difference (due to new
function prototype that takes as argument a ut_settings object)
2015-11-04 16:23:57 +02:00
Barend Gehrels
2cf781aa68 [test] add testcase for which is failing for intersection. This is the
inverse testcase for difference (which is also failing and which is why it
is added). To be fixed.
2015-11-04 12:36:16 +01:00
Barend Gehrels
312cbd92d4 [test] added correct expectation values in failing tests 2015-11-03 20:47:30 +01:00
Barend Gehrels
057467f415 [test] test all types for traverse 2015-11-03 20:26:52 +01:00
Barend Gehrels
c7f8de6632 [test] add testcase for #10661, still failing w.r.t. validity in second stage.
To enable scenarios like this, let unit test return WKT
2015-11-01 17:33:21 +01:00
Barend Gehrels
99eeec0d1c [test] enable #11676 (still showing validity should be tested too)
and don't remove spikes by default
2015-11-01 17:03:49 +01:00
Barend Gehrels
9fd8d1643f [test] remove testcode 2015-11-01 16:59:09 +01:00
Barend Gehrels
dc941d27b0 [test] enable test #11674, still showing that validity should be checked
too. sym difference is still failing
2015-11-01 16:55:38 +01:00
Barend Gehrels
adb2cccdd7 [test] move bug 21155501 to difference_multi and test it the normal way,
still showing that validity should be checked too
2015-11-01 16:54:25 +01:00
Barend Gehrels
a98772cba0 [test] remove duplicate test cases #10658 and #11121 now that
validity is tested for them in the normal flow
2015-11-01 16:30:32 +01:00
Barend Gehrels
e939bf8e83 [test] add settings to difference to test for validity and
conditionally remove spikes
2015-11-01 16:24:39 +01:00
Barend Gehrels
44372ca32e [test] harmonize names for define 2015-11-01 13:44:42 +01:00
Barend Gehrels
29e1595e3f [test] added failing test cases for tickets #11674, #11676 2015-11-01 13:39:41 +01:00
Barend Gehrels
50c7e922d4 [test] extract areal_linear from difference_multi into separate ut 2015-11-01 13:19:52 +01:00
Barend Gehrels
c3b23647eb [test] extract areal_linear from difference.cpp into separate ut 2015-11-01 12:56:21 +01:00
Barend Gehrels
a2d2d4f58d [test] remove overload with percentage, only used once and now
supported by ut_settings
2015-11-01 12:27:08 +01:00
Barend Gehrels
94dc52a931 [test] add test case for ticket 10803 and added code to test for validity 2015-11-01 12:17:45 +01:00
Barend Gehrels
4327b0cb35 [difference][test] add currently failing testcase 2015-11-01 11:15:40 +01:00
Barend Gehrels
8f8b7bdfb1 [test] add testcase for similar situation (interior ring touches exterior
ring)
2015-11-01 11:14:58 +01:00
Barend Gehrels
7d2b3b6ba2 [test] fix traverse_ccw w.r.t. enrich_intersection_points 2015-10-31 22:46:52 +01:00
Barend Gehrels
085d641dab [difference] fix colocations 2015-10-31 20:06:39 +01:00
Barend Gehrels
c1aeab008b [enrich] add overlay_type template parameter
which will be used later
2015-10-31 19:35:18 +01:00
Barend Gehrels
a9277926fb [test] move wkt's to headerfile 2015-10-31 19:08:54 +01:00
Barend Gehrels
e764179a41 [test] update traverse unit test, using overlay_type instead of
operation_type
2015-10-31 19:06:26 +01:00
Barend Gehrels
cbd431a65a typo 2015-10-31 12:29:57 +01:00
Barend Gehrels
4cc8112544 [colocations] fix: the condition to select on uu or ux should be there 2015-10-31 12:26:09 +01:00
Barend Gehrels
77299c8c22 [intersection] testcase was already fixed by colocations solution,
remove #ifdef and add testcase
2015-10-31 11:35:22 +01:00
Barend Gehrels
a1e4a65f9a [test] add case with two ext/int colocations at the same point 2015-10-31 11:16:55 +01:00
Barend Gehrels
7cfe3dc337 [union] instead of checking on u/u, sort/check
on exterior ring/interior rings such that also cases with u/x are handled

This fixes case mysql_21964049
2015-10-31 10:56:27 +01:00
Barend Gehrels
4ae1320d1c [union][test] move test cases to overlay_cases.hpp and enable two cases
which are fixed now
2015-10-28 19:49:37 +01:00
Adam Wulkiewicz
ddcce3d2a9 [test][union] Add failing test case. 2015-10-22 22:40:27 +02:00
Adam Wulkiewicz
7ddeab4f05 [test][intersection] Add failing test case. 2015-10-22 22:05:22 +02:00
Adam Wulkiewicz
40aafb8107 [test][difference] Add failing test cases. 2015-10-22 21:43:41 +02:00
Adam Wulkiewicz
a952202668 [test][intersects] Add test cases for Segment/Box (0 distance between coordinates). 2015-10-21 02:35:28 +02:00
Menelaos Karavelas
fc3f5e57fb [test][algorithms][buffer] fix "enumeration value not handled warning" 2015-10-16 11:25:51 +03:00
Adam Wulkiewicz
9fcbd75ee1 [test][intersects] Add possibly failing test cases (Seg/Box). 2015-10-15 22:09:42 +02:00
Barend Gehrels
533543e86b [traverse][robustness] in case of cc, instead of arbitrary candidate,
take candidate with largest remaining distance. This fixes some
errors if rescaling is turned off.
2015-10-14 17:15:53 +02:00
Barend Gehrels
74f5465516 [get_turns][test] exclude failing case for clang/release 2015-10-14 16:30:51 +02:00
Barend Gehrels
c5f31b17a4 [difference][test] increase tolerance to let it pass on clang (the subsequent
cases also have tolerance of 1e-10).
Also increase printed precision to be able to investigate the problem
2015-10-14 14:17:47 +02:00
Barend Gehrels
d25b47f627 [buffer][test] decrease one tolerance which was too high 2015-10-14 12:59:30 +02:00
Barend Gehrels
82b1290849 [buffer][test] increase tolerances for extreme cases to let them pass
in clang/clang release/gcc
2015-10-14 12:59:15 +02:00
Barend Gehrels
71143c1b68 [buffer][fix] Fix case where side calculation fails because of length 2015-10-14 12:14:38 +02:00