Commit Graph

8536 Commits

Author SHA1 Message Date
Barend Gehrels
4641bacc87 [dissolve/traversal] examine shortcuts over more turns to fix the last reported
cases
2018-01-12 17:29:18 +01:00
Barend Gehrels
29bb764bfc [dissolve][test] enhance debug information by showing positive/negative rings 2018-01-12 16:29:17 +01:00
Barend Gehrels
4902e1ef25 [dissolve] remove unused headers, return void 2018-01-12 16:28:54 +01:00
Barend Gehrels
9f16a17145 [dissolve] add generated rings to output to be able to judge intermediate
results better
2018-01-12 15:29:54 +01:00
Barend Gehrels
9543438736 [dissolve] use deque i/o vector like done in overlay 2018-01-12 14:54:23 +01:00
Barend Gehrels
65060df2e5 [dissolve] remove redundant ring_type as planned, and rename out_vector
to ring_container_type, as done in overlay
2018-01-12 14:51:46 +01:00
Barend Gehrels
841641c99e [dissolve] fix case where travel information was not correct. 2018-01-12 14:45:39 +01:00
Barend Gehrels
9e494199c6 [dissolve][test] testcase #dissolve_16 is correct now 2018-01-12 14:04:10 +01:00
Barend Gehrels
c828dcf34b [dissolve] handle interior rings as planne. This fixes some of the remaining
issues.
2018-01-12 13:56:50 +01:00
Barend Gehrels
74741357e2 [dissolve] handle rings separately (phase 1) and iterate it in reverse
if the orientation is not correct. Exterior rings only for now, to be
continued.
This fixes all order problems and makes implementation agnostic from
orientation of input. This is reflected in the updated unit test.
2018-01-12 12:27:15 +01:00
Barend Gehrels
29e5c01017 [dissolve] split ring/polygon implementation, to be followed up 2018-01-12 11:45:37 +01:00
Barend Gehrels
2b59d7c867 [dissolve] introduce Reverse to be able to (later) apply dissolve in two directions,
not only to support cw/ccw, but more to only use one version (positive area)
instead of processing cw input which is effectively ccw.
2018-01-12 11:18:25 +01:00
Barend Gehrels
5dbe743624 [dissolve] remove method now unused 2018-01-12 10:31:59 +01:00
Barend Gehrels
5cf534bd53 [dissolve] fix the reported star cases if they would go in other direction.
In case a turn travels to itself and it is not the start turn, the other
option should be taken (even if one of them is preferred)
2018-01-12 10:11:04 +01:00
Barend Gehrels
1250516d7a Merge branch 'develop' into feature/dissolve 2018-01-12 09:32:58 +01:00
Adam Wulkiewicz
f35a4f927e [doc][densify] Add documentation for densify algorithm and strategies.
Change strategies from structs to classes as this is the requirement of
the docs generating tool.
2018-01-12 03:01:01 +01:00
Adam Wulkiewicz
e99370beaa [geometry] Include densify algorithm and strategies in top-most headers. 2018-01-11 18:31:42 +01:00
Vissarion Fysikopoulos
0fb5cabe67 [algorithms] Fix box/segment distance for segment bottom of box 2018-01-11 13:01:00 +02:00
Adam Wulkiewicz
b7b7e2ef08 [test][densify] Fix comment. 2018-01-10 23:33:18 +01:00
Adam Wulkiewicz
3daa5956f9 [densify][strategies] Throw on invalid max_distance (in algorithm), assert max_distance > 0 (in strategies). 2018-01-10 23:31:53 +01:00
Adam Wulkiewicz
3dd6413478 [strategies][densify] Support arbitrary dimension in cartesian densify strategy. 2018-01-10 23:23:33 +01:00
Adam Wulkiewicz
08dccb1174 [test][densify] Add test cases for open Areal geometries. 2018-01-10 23:04:21 +01:00
Adam Wulkiewicz
63562cc81b [densify] Refactor densify_range, implement using iterators. Now it requires FwdRng. 2018-01-10 23:03:52 +01:00
Vissarion Fisikopoulos
3ff1887b85
Merge branch 'develop' into feature/distance_box 2018-01-10 15:34:33 +02:00
Barend Gehrels
27b15722ca [overlay] flag const conditions 2018-01-10 10:46:17 +01:00
Barend Gehrels
71f4706ebf [overlay] remove warning about shadow it 2018-01-10 10:29:31 +01:00
Adam Wulkiewicz
27c82ca4c6 [densify][strategies] Take AssignPolicy instead of RangeOut in strategies.
This allows moving range handling, e.g. push_back() calls from strategies
to algorithm.
2018-01-09 12:35:31 +01:00
Barend Gehrels
224797ce6c Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2018-01-05 21:56:34 +01:00
Barend Gehrels
7b1297bb86 [test] update expectations 2018-01-05 21:56:07 +01:00
Adam Wulkiewicz
b3a4beb712 [index][rtree] By default use boost::container::new_allocator in order to support move semantics in C++03 after supporting boost::container::allocator_traits. 2018-01-05 19:42:35 +01:00
Adam Wulkiewicz
1756bdcb74 [index] Rename struct to avoid 'member function changing meaning' error. 2018-01-05 02:56:59 +01:00
Adam Wulkiewicz
0608f7e383 Merge branch 'develop' of github.com:boostorg/geometry into develop 2018-01-05 00:10:30 +01:00
Adam Wulkiewicz
cedbf5e070 [index] Refactor nodes and allocators code.
Fix GCC compilation error (convert allocator type before passing into
boost::container::vector ctor).
Use boost::container::allocator_traits in weak_static nodes
implementation.
2018-01-05 00:06:39 +01:00
Barend Gehrels
04b0b89207 Merge branch 'develop' into feature/dissolve
# Conflicts:
#	include/boost/geometry/algorithms/detail/overlay/is_self_turn.hpp
2018-01-04 22:09:40 +01:00
Barend Gehrels
6b637c91c0 Merge branch 'feature/intvalid' into develop 2018-01-04 21:42:43 +01:00
Adam Wulkiewicz
be9d98faea
Merge pull request #444 from DanielaE/fix/retire-iterator.hpp
Get rid of iterator.hpp
2018-01-04 12:46:58 +01:00
Adam Wulkiewicz
355aeb4215
Merge pull request #445 from DanielaE/fix/replace-deprecated-allocator-members
Most members of std::allocate are deprecated in C++17
2018-01-04 12:44:51 +01:00
Barend Gehrels
377c69d598 [dissolve] update test program to skip the second/third version more conveniently 2018-01-03 18:16:22 +01:00
Barend Gehrels
7a4582a50b [dissolve] update svg creation in unittest 2018-01-03 18:15:10 +01:00
Barend Gehrels
85297586d9 [dissolve] add two derived cases to test program, and update test program 2018-01-03 18:13:56 +01:00
Barend Gehrels
01bbb65883 [dissolve] resolve internal overlaps by calling the code also used for
multipolygons.
TODO: this should be done for interior rings separately too
2018-01-03 18:12:31 +01:00
Barend Gehrels
5c1a9fd3c6 [enrich/dissolve] set startable false for operations between two other
turns on the same segment, and discard turns which do not have startable
operations
2018-01-03 17:49:11 +01:00
Barend Gehrels
83f3920ab9 [dissolve] using preferred operations, they are now also used to determine
the order in which turns are traversed (first preferred).
This introduces a specific traverse umbrella class for dissolve
2018-01-03 17:36:13 +01:00
Barend Gehrels
bb506996f9 [dissolve] add attribute preferred start, and use it to decide which
operation should be selected in case both is union (which is now normal
for dissolve)
2018-01-03 17:07:48 +01:00
Barend Gehrels
0dfd86f678 [dissolve] instead of fixing dead-ends only
(which was actually a workaround and too limited), all turns are
now adapted and intersection is mapped to union
(note: a next commit will work this out further)
2018-01-03 16:27:58 +01:00
Barend Gehrels
4a107545a1 [dissolve] remove distinction between dissolve_union/dissolve_intersection
(note: a next commit will work it out further)
2018-01-03 16:25:39 +01:00
Daniela Engert
8e5fb4f283
Most members of std::allocate are deprecated in C++17
Replace them by their cousins from boost::container::allocator_traits.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-01-03 12:52:05 +01:00
Barend Gehrels
f25710c2e5 Merge branch 'feature/intvalid' into feature/dissolve 2018-01-03 11:08:59 +01:00
Adam Wulkiewicz
be53859b57 [formulas] Fix MSVC conversion warnings in inverse formulas. 2018-01-01 23:17:32 +01:00
Barend Gehrels
26a50a2bbd [traverse] fix case #case_141_multi which is isolated with multiple
connections
2018-01-01 16:28:32 +01:00