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
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
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
Barend Gehrels
1a724ed696
[difference] remove the self-turns-which-loop function which is now not necessary anymore
...
This fixes the remaining error in #ticket_12503 and makes intersection/union more
similar
2017-12-31 23:10:14 +01:00
Adam Wulkiewicz
fe1099019e
Merge pull request #436 from glenfe/develop
...
Use to_address free function instead of pointer_traits member
2017-12-31 20:49:40 +01:00
Barend Gehrels
e9d8d23601
[overlay] add defensive check
2017-12-31 17:20:11 +01:00
Barend Gehrels
6792d76eac
[enrich] remove unused parameter for_operation
2017-12-31 17:19:11 +01:00
Barend Gehrels
bc77fca531
[test] add new case also to intersection/union
2017-12-31 17:17:46 +01:00
Barend Gehrels
9f00c8501b
[union] skip discarding i/e turns for union because this causes some turns
...
to be missed. This fixes the new case #case_recursive_boxes_88
2017-12-31 17:17:21 +01:00
Barend Gehrels
10e79329c1
[test] update a few testcases (comments, defines)
2017-12-31 17:15:45 +01:00
Daniela Engert
e244516a1b
Get rid of iterator.hpp
...
Boost's iterator.hpp is deprecated (just like std::iterator in C++17). It does nothing but pulling std::iterator into namespace boost and including standard headers 'iterator' and 'cstddef'. Therefore get rid of including iterator.hpp (it had no effect in Boost.Geometry anyway) and replace inheritance by lifting std::iterator's members into the derived class. Instantiating std::iterator is granted with lengthy warning messages by latest MSVC when compiling in C++17 mode.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-12-30 11:33:04 +01:00
Barend Gehrels
19d0015a81
[test] enable a testcase now fixed
2017-12-29 14:21:04 +01:00
Barend Gehrels
f704579ed0
[overlay] by default use self-turns. This reverses definition
...
of define SELF to NO_SELF. Including all unit tests.
2017-12-29 13:17:42 +01:00
Barend Gehrels
2c4ed662e7
Merge branch 'develop' into feature/intvalid
2017-12-29 12:07:45 +01:00