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
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
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
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
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
713679f0d0
[overlay] add comment
2017-05-20 17:30:52 +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
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