Commit Graph

8536 Commits

Author SHA1 Message Date
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
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
b4d2f10f2b [test][algorithms] Add centroid() cases and fix MSVC x64 conversion warnings. 2017-12-27 01:55:36 +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
c25c4f63e4 [test][algorithms] Add point_on_surface cases using signed integral coordinates. 2017-12-27 01:53:39 +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
3b80d1ae71 [test] Fix unused parameter warnings. 2017-12-26 14:12:16 +01:00
Adam Wulkiewicz
278acf8ed1 [test][strategies] Properly initialize wkt2 member of helper class strategy_base. 2017-12-26 14:11:50 +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
Adam Wulkiewicz
c0c7318254 [strategies][doc] Update the description of cartesian area strategy. 2017-12-23 01:30:39 +01:00
Adam Wulkiewicz
127b52ea0c [doc] Change names after renaming surveyor to cartesian (area strategy). 2017-12-22 23:24:02 +01:00
Adam Wulkiewicz
7ebd447aee [test][algorithms] Use new area strategy interface. 2017-12-22 03:40:01 +01:00
Adam Wulkiewicz
42ef49e66f [util] Add metafunction selecting type from MPL sequence. 2017-12-22 03:38:52 +01:00
Adam Wulkiewicz
dca303aa3a [algorithms] Support new area strategy interface. 2017-12-22 03:37:44 +01:00
Adam Wulkiewicz
3d8fe63681 [area] Support new strategy interface and resolve strategy for variants. 2017-12-22 03:37:11 +01:00
Adam Wulkiewicz
c13d8bf7f4 [strategies][area] Change area strategies interface.
- Remove PointOfSegment template parameter from all area strategies.
- Replace return_type member type with result_type member
  template/metafunction.
- Replace state_type member type with state member template.
- Remove segment_point_type member type.
- Rename bg::strategy::area::surveyor to bg::strategy::area::cartesian.
- Remove Point template parameter from
  bg::strategy::area::services::default_strategy.
- Add bg::area_result metafunction defining result type for Geometry and
  Strategy.
2017-12-22 03:26:17 +01:00
Vissarion Fysikopoulos
27d8955188 [algorithms] Some solution for correcting distance seg-box for spherical anf geo CS 2017-12-21 15:16:02 +02:00
Barend Gehrels
0f4712bdfb [test] add recent testcases to the other test scenarios 2017-12-20 16:54:51 +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
Barend Gehrels
bdeed328ff [dissolve] fix dead ends, necessary to solve case #dissolve_star 2017-12-14 16:23:09 +01:00
Barend Gehrels
4c217dd106 [dissolve] correct orientation for rings without self-turns 2017-12-14 15:30:11 +01:00
Barend Gehrels
9b138e2a98 [traverse] skip switch detector for dissolve 2017-12-14 15:29:28 +01:00
Barend Gehrels
fea0a495f7 [enrich] skip discarding turns based on counts left/right 2017-12-14 15:28:23 +01:00
Barend Gehrels
d564e8f81c [overlay] fix typo 2017-12-14 15:27:43 +01:00
Barend Gehrels
ce41dacdd5 [dissolve] add star-test to dissolve unit test, including adding an optional
reverse operation for test cases
2017-12-14 15:27:21 +01:00