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
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
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
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
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
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
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
Adam Wulkiewicz
a91db3061d
[formulas] Fix conversion warning in vertex_longitude formula.
2017-12-28 22:02:33 +01:00
Adam Wulkiewicz
6ec9852697
[algorithms] Fix signed integrals MSVC conversion warnings.
2017-12-27 02:16:47 +01:00
Adam Wulkiewicz
03c48dfca2
[strategies] Fix MSVC x64 conversion warnings.
2017-12-27 01:55:01 +01:00
Adam Wulkiewicz
30bcbf2ced
[algorithms] Fix MSVC x64 conversion warnings.
2017-12-27 01:54:45 +01:00
Adam Wulkiewicz
82a177ed7f
[algorithms] Fix conversion warning in point_on_surface(). This also fixes the algorithm for negative integral coordinates.
2017-12-27 01:52:46 +01:00
Adam Wulkiewicz
5bf69ab6c6
[algorithms] Add extreme_points() overload using default strategy.
2017-12-27 01:51:02 +01:00
Adam Wulkiewicz
b6287df886
[wkt] Rearrange initialize() code to avoid not returning from function (suppress warning).
2017-12-26 14:10:02 +01:00
Adam Wulkiewicz
2ea729b520
[algorithms][strategies][util] Fix unused parameter warnings.
2017-12-24 05:05:30 +01:00
Adam Wulkiewicz
cd8c50d712
[partition] Fix wrong overlay policy passing.
2017-12-24 05:04:42 +01:00
Barend Gehrels
f6c67daba6
[difference] fix cases where ii turns were not discarded, this
...
was a todo-item, it was not yet done for difference.
Including unit testcase using this.
2017-12-20 16:22:27 +01:00
Barend Gehrels
68bc3ee07a
[dissolve] apply last change for dissolve too
2017-12-20 14:08:13 +01:00
Barend Gehrels
b28b312141
[difference] fix cases where potential inner rings have same area as
...
outer rings (located elsewhere), due to an earlier optimization
2017-12-20 14:07:51 +01:00
Barend Gehrels
11cff883b0
[intersection] Fix newly found case by removing some conditions from
...
handle_self_turns and setting ii-self-turns as non-startable instead of
discarding them.
2017-12-16 18:52:39 +01:00
Barend Gehrels
7552200cfa
[traverse] use new method operation_from_rank in two other places as well
2017-12-15 14:37:55 +01:00
Barend Gehrels
556896c7cc
[traverse] need to select on operations in selecting ranks, it is not
...
done later. Small regression found by recursive_polygons
2017-12-15 14:37:17 +01:00
Barend Gehrels
5d99d1608d
[overlay] fix new #case_recursive_boxes_82 by greatly simplifying the code.
...
patterns/aggregations were added to solve specific intersection problems
and validity in the past. In the meantime self-turns and isolation information
is much better, and those code is not needed anymore.
This also fixes the #mysql_regression_1_65_2017_08_31
This also makes union/intersection code for handling clusters much more similar
2017-12-15 13:20:41 +01:00
Barend Gehrels
f0d74e3386
[union] simplify cluster behaviour by skipping aggregation step
2017-12-15 12:34:25 +01:00
Barend Gehrels
2cd973df85
Merge branch 'develop' into feature/intvalid
2017-12-15 11:05:16 +01:00
Adam Wulkiewicz
c83bc33cb4
[overlay] Add missing includes in add_rings.hpp
2017-12-15 01:16:36 +01:00
Barend Gehrels
b9d0e73310
[dissolve] rename variables to avoid shadowing
2017-12-14 17:22:34 +01:00