Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
d7bcd44974 [set ops] remove unused code in #if 0/#endif block; remove some obvious comments; 2014-04-10 09:13:20 +03:00
Menelaos Karavelas
17f3b3be58 [set ops] Barend's review: (1) remove unused variables; (2) fix #includes; (3) remove Linestring const*;
Other: remove unused argument in process_turn;
2014-04-10 09:10:22 +03:00
Menelaos Karavelas
fdc02a60fe [test] add missing include (fstream) 2014-04-10 09:07:42 +03:00
Menelaos Karavelas
193bca333b [set ops] add missing includes; remove unnecessary ones 2014-04-10 08:57:25 +03:00
Menelaos Karavelas
b8765e195a [set ops] added missing include (fstream) 2014-04-10 08:46:20 +03:00
Menelaos Karavelas
caadd6ce00 [set ops] replace included unit test by unit test 2014-04-10 08:45:38 +03:00
Adam Wulkiewicz
ccc40d3a0b [relate] cleanup, increase the readability of relate() dispatching, remove unneeded code 2014-04-09 21:53:12 +02:00
Adam Wulkiewicz
9b384bbcab [doc] add dummy file to empty index/generated directory to force GIT t ohandle it properly 2014-04-09 03:34:29 +02:00
Adam Wulkiewicz
edf8a613ff [doc][crosses][overlaps] add crosses() to make_qbk.py script, add parameters info to crosses() and overlaps() 2014-04-09 03:26:07 +02:00
Adam Wulkiewicz
0374154930 [relate] fix GCC compilation error caused by a missing #include 2014-04-09 01:52:41 +02:00
Adam Wulkiewicz
2753f5e30a [crosses] add missing files required by bg::crosses() algorithm 2014-04-09 01:34:34 +02:00
Adam Wulkiewicz
d3f8ea2f6b [crosses] add bg::crosses() algorithm 2014-04-09 01:33:37 +02:00
Adam Wulkiewicz
c1d4a09ec7 [overlaps] add support for P/P, L/L and A/A to overlaps() 2014-04-09 00:23:26 +02:00
Adam Wulkiewicz
1cb4f1f013 [relate] add tests for Poly/MPoly, CCW and open Polygons 2014-04-08 23:40:54 +02:00
Adam Wulkiewicz
d60b0e7cc4 [relate] add tests for Polygons with rings for which IPs were not generated 2014-04-08 15:49:15 +02:00
Adam Wulkiewicz
9e00853dfa [relate] fix: add missing handling of single geometries for which no IPs were generated (exterior ring inside, hole outside) 2014-04-08 15:33:18 +02:00
Adam Wulkiewicz
1c7fa89626 [relate] Fix warnings (unused variables) 2014-04-08 00:16:21 +02:00
Adam Wulkiewicz
d76c94d643 [relate] add optimization for L/L ommitting parts of the algorithm if the result mustnot be updated 2014-04-07 23:52:40 +02:00
Adam Wulkiewicz
cce6c71782 [relate] Add optimizations for L/A disabling parts of the code if the result mustnot be updated 2014-04-07 21:20:20 +02:00
Adam Wulkiewicz
eca27bc8af Merge branch 'develop' into feature/relate 2014-04-07 14:31:16 +02:00
Adam Wulkiewicz
e7e0083428 [relate] Add optimization to A/A skipping parts of the algorithm if it's not possible to change the final result.
Add may_update() funcionality which may be used if it's possible to change the result for the specified matrix fields and overlap dimension.
Initialize flags in no_turns_aa_pred and uncertain_rings_analyser with values calculated using this functionality.
Add manual checks around the parts of areal_areal::apply() where IPs are sorted and analysed.
2014-04-07 14:18:34 +02:00
Menelaos Karavelas
3604f45e88 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-07 12:27:44 +03:00
Menelaos Karavelas
091bccbcff Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-07 12:25:44 +03:00
Adam Wulkiewicz
df63e9d446 Merge pull request #5 from mkaravel/feature/point_iterator
[point_iterator] fix errors and warnings for g++ and clang++ with C++11 enabled
2014-04-07 11:17:26 +02:00
Menelaos Karavelas
a307bec090 [point iterator][concatenate iterator] replace enable_if mechanism by static assert; add templated assignment operator; make dereference and increment inline;
templatize equal for comparison against other concatenate iterator (needed for interoperability between const/non-const versions);
2014-04-07 11:31:42 +03:00
Menelaos Karavelas
cb3a103256 [point iterator] replace enable_if mechanism by static assert; 2014-04-07 11:30:20 +03:00
Menelaos Karavelas
0316b64019 [point iterator][flatten iterator] replace enable_if mechanism in copy constructor by static asserts;
add static assert to assignment operator; make dereference inline;
2014-04-07 11:27:46 +03:00
Menelaos Karavelas
457d22d0d9 [point iterator] add tests for const/non-const iterator equality/inequality 2014-04-07 11:26:14 +03:00
Menelaos Karavelas
2ea67309e7 [point iterator][concatenate iterator] make the unit test more elaborate: add tests for vector-vector and list-list container conbinations 2014-04-07 11:22:07 +03:00
Menelaos Karavelas
ab5c78cec0 [point iterator] minor stylistic fix 2014-04-07 11:19:45 +03:00
Adam Wulkiewicz
8c2ee6152a [relate] Fix wrong type in interrupt_policy for A/A.
Add tests for MLs/MLs, Ring/Poly, Ring/Ring.
2014-04-07 01:30:05 +02:00
Adam Wulkiewicz
7bde891d7a [relate] Add the support for IPs generated for "real" and "fake" holes.
Rename turns::less_seg_dist_op<> to relate::turns::less<>
It now takes the Comp defining how operations are sorted if segment and distance are equal.
Add 2 different operations comparators for L/L,L/A and A/A.
Add tests.
2014-04-07 01:08:24 +02:00
Adam Wulkiewicz
09ab2351f9 [relate] Add support for rings with no turns and some special cases in A/A.
Add support for:
- single geometries for which no turns were generated
- rings for which no turns were generated
- i/i and u/u turns

TODO: some cases where turns are generated for the intersection of a "real" hole and a "fake" hole (self-touching exterior ring).
2014-04-06 02:52:24 +02:00
Menelaos Karavelas
082adbb655 [point_iterator] fix errors and warnings for g++ and clang++ with C++11 enabled 2014-04-06 01:43:25 +03:00
Menelaos Karavelas
7ac1188823 [feature/is_simple] add test case for multi-points 2014-04-04 16:24:06 +03:00
Menelaos Karavelas
029517cff8 [feature/is_simple] modify debug print-outs a bit 2014-04-04 16:18:38 +03:00
Menelaos Karavelas
dfc3785d48 [feature/is_simple] implement OGC is_simple test for points, segments, multi-points, linestrings and multi-linestrings 2014-04-04 16:16:43 +03:00
Adam Wulkiewicz
47747938a6 [relate] add for now commented out ignoring of u/u turns in A/A, add some tests 2014-04-04 01:16:27 +02:00
Adam Wulkiewicz
d0dab345a8 Merge branch 'develop' into rescale_to_integer 2014-04-04 00:23:36 +02:00
Adam Wulkiewicz
fd5bd13705 [relate] added more tests for non-simple A/A with holes 2014-04-04 00:22:06 +02:00
Menelaos Karavelas
d08a0b1ad3 [set ops] removing duplicate turns is disabled now; no need for this, after Adam's fix; 2014-04-03 13:12:11 +03:00
Adam Wulkiewicz
8cb6366bb4 Merge branch 'develop' into feature/relate 2014-04-03 12:11:22 +02:00
Menelaos Karavelas
91d094673b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-03 13:05:16 +03:00
Adam Wulkiewicz
ca0c8b97df [get_turns] Fix turns dumplication for L/L.
Change the ignoring check calculation in get_turn_info_for_endpoint.
Add additional parameters to the second version of collinear_opposite<>::apply() defining if the pk and/or qk are valid (in other words current segment is NOT the last one).
Also make ignoring check for last endpoint in L/A more clear.
2014-04-03 11:58:50 +02:00
Menelaos Karavelas
6eed104318 [set ops] removed my name from the copyright header 2014-04-03 08:48:48 +03:00
Menelaos Karavelas
b49a67fd29 [set ops] remove code for removing extra points 2014-04-03 04:02:04 +03:00
Menelaos Karavelas
8f46bb45e8 [set ops] remove debug code; code is called from unit tests 2014-04-03 03:55:04 +03:00
Menelaos Karavelas
dd13023f5f [set ops] remove print-outs inside the file 2014-04-03 03:46:37 +03:00
Menelaos Karavelas
b88b4e3d71 [set ops] re-arranged code a bit; moved tests from algorithms/detail/overlay/linear_linear.hpp to currect branch 2014-04-03 03:43:11 +03:00
Menelaos Karavelas
2d1eaf2ef3 [set ops] better/shorter implementation for follow of L/L geometries; fix bug in previous code (linestrings in multilinestrings that had no turns where not reported in difference) 2014-04-03 02:54:33 +03:00