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
81977f07e6
[overlay] handle ii turn colocated with ux in the same way as with uu
2017-05-13 18:15:00 +02:00
Barend Gehrels
6ddcf4269b
[overlay] discard uu selfturns for unions, and ii selfturns for differences
2017-05-13 17:54:24 +02:00
Barend Gehrels
1b20673a1d
[intersection] fix cases with self-turns for intersections
2017-05-13 14:51:06 +02:00
Barend Gehrels
2114c3f7b6
[traverse] remove unintended committed code
2017-05-10 15:04:46 +02:00
Barend Gehrels
4b524fc7ac
[union] set visited in clusters, like done in intersection. But now
...
use rank instead of next ip, which was a TODO item.
This causes one unittest case to fail, which has another reason, its turn
in a cluster is not detected because of finalization information. That is
now solved in a different way.
2017-05-10 14:06:45 +02:00
Barend Gehrels
e1473b41a8
[union] discard all ii turns for union, like uu turns are discarded for intersection.
...
This is important for validity.
2017-05-10 09:49:30 +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
9395371beb
[fix] Fix selecting rings after merge with covered_by, this is because
...
in this branch all the uu turns are discarded for intersections
2017-05-08 10:01:58 +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
105182a03b
Merge pull request #386 from awulkiew/feature/geographic
...
Use envelope-seg and disjoint-seg/box strategies in various algorithms.
2017-05-04 13:14:38 +02:00
Barend Gehrels
97151eb985
Merge branch 'develop' into feature/intvalid
2017-04-27 10:41:12 +02:00
Adam Wulkiewicz
2f533848d6
[overlay] In follow, last_covered_by, pass linestring point instead of midpoint.
2017-04-26 04:35:23 +02:00
Adam Wulkiewicz
a1e8fd101e
[overlay] Fix unused typedef in assign_parents.
2017-04-26 04:29:16 +02:00
Adam Wulkiewicz
b8e5cd55b6
[within] Fix initialization of const relate::less in multi_point_multi_point.
2017-04-26 04:25:16 +02:00
Adam Wulkiewicz
1a6446ba66
Merge branch 'develop' into feature/geographic
2017-04-25 03:48:06 +02:00
Adam Wulkiewicz
031d0c2957
[relops] Add/fix dispatches for missing PointLike/PointLike geometries combinations in covered_by, equals, within.
2017-04-24 19:46:52 +02:00
Adam Wulkiewicz
ca55981928
[strategies] Enable within/covered_by default_strategy for MultiPoints.
2017-04-24 19:43:01 +02:00
Barend Gehrels
7d17bd1e8a
Merge branch 'develop' into feature/intvalid
2017-04-20 15:35:34 +02:00
Barend Gehrels
feae471d71
[overlay] Add missing include
2017-04-20 13:17:09 +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
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
Adam Wulkiewicz
2780c9dc28
[overlay] In select_rings/update_ring_selection use within instead of covered_by. This fixes dissolve.
2017-04-14 14:40:03 +02:00
Adam Wulkiewicz
f428b9cc8f
[extensions][dissolve] Pass strategies into the overlay internals and envelope.
2017-04-14 03:59:45 +02:00
Adam Wulkiewicz
87a1a941f2
Merge branch 'develop' into feature/geographic
2017-04-14 01:39:05 +02:00
Adam Wulkiewicz
dc8ff59096
[extensions][dissolve] Add support for intersection strategy.
2017-04-14 01:07:30 +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
354ce9a376
[overlay][follow] Check covered_by with strategy.
2017-04-11 00:23:33 +02:00
Adam Wulkiewicz
02f149f012
[is_valid] Check point in polygon exterior ring with strategy.
2017-04-11 00:19:57 +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
9d13a668da
Merge branch 'develop' into feature/intvalid
2017-04-05 09:51:21 +02:00
Adam Wulkiewicz
a29281d143
[strategies] Add missing const and explicit keywords.
2017-03-30 18:20:41 +02:00
Adam Wulkiewicz
8419c27f40
[overlay] Always use first point of a geometry returned by point_on_border().
...
- In the internals of point_on_border() get Midpoint as template parameter.
- Remove midpoint argument from point_on_border() parameters forcing to
always return the first point.
- Add range_in_geometry() algorithm checking passed boundary point and/or
points of a geometry for overlap with the interior/exterior of another
geometry. This way it's possible to detect if a ring is inside or
outside another ring even if the first point of a ring is overlapping
the boundary of another geometry. Note tht this was also possible with
midpoint.
- Enlarge the ring bounding box by epsilon in order to make the covered_by
envelope check consistent with corresponding point_in_geometry check.
- Replace covered_by(Pt, Ring) with range_in_geometry() calling
point_in_geometry().
2017-03-27 19:02:00 +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
90c51c21f0
[traverse] combine conditions
2017-03-22 22:30:23 +01:00
Barend Gehrels
042b7124f8
[enrich] remove now redundant code (uu is now always discarded for intersection operations)
...
and change order, update comment
2017-03-22 22:29:25 +01: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
e5dd98482a
[algorithms] Pass envelope and disjoint-seg-box strategies into partition in disjoint, is_valid and overlay.
2017-03-22 21:02:11 +01:00
Adam Wulkiewicz
51694bfb0c
[get_turns] Pass envelope strategy into sectionalize.
2017-03-22 21:00:55 +01:00
Adam Wulkiewicz
f09e33a30e
[sectionalize] Support custom envelope strategy.
2017-03-22 20:58:43 +01:00
Adam Wulkiewicz
3ff1382c61
[strategies] Add envelope-seg and disjoint-seg-box getters to intersection, side and within strategies.
2017-03-22 20:57:35 +01:00
Adam Wulkiewicz
f3f312e42b
[strategies][azimuth] Fix apply() function arguments types, replace CalculationType which can be void.
2017-03-22 19:43:29 +01:00
Adam Wulkiewicz
cefe1d04f7
[strategies] Add missing includes in envelope and disjoint strategies.
2017-03-22 19:41:32 +01:00
Adam Wulkiewicz
237bfdbe25
[disjoint] In Seg/Box fix the condition and replace covered_by with disjoint_point_box.
2017-03-22 19:38:34 +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
ff79fe7bd0
[traverse][debug] change debug info for candidates and re-add them in cc
2017-03-22 12:08:29 +01:00
barendgehrels
273d1bf4a1
[overlay] pending commit, add strategy to self_turns
2017-03-22 11:51:51 +01:00