Menelaos Karavelas
fc6ae619ac
[test][algorithms] add tests for set operations of L/L and P/P geometries; update copyright header;
2014-04-10 09:25:30 +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
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
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
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
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
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
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
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
be2795a6f2
[set ops] add missing include
2014-04-03 02:51:16 +03:00
Menelaos Karavelas
5be2682000
[set ops] rename test_set_ops_common.hpp to test_set_ops_linear_linear.hpp
2014-04-03 02:50:30 +03:00
Menelaos Karavelas
4295f0bcf7
[set ops] add more examples with duplicate points and zero length linestrings
2014-04-03 00:36:44 +03:00
Menelaos Karavelas
df33e8a92a
[set ops] modify way of calling multilinestring_equals (due to changes in multilinestring_equals)
2014-04-03 00:08:11 +03:00
Menelaos Karavelas
a806cd0419
[set ops] change macro used for debugging
2014-04-03 00:04:50 +03:00
Menelaos Karavelas
b0e2521fa1
[set ops] allow equality for multilinestrings with duplicate linestrings
2014-04-03 00:02:13 +03:00
Menelaos Karavelas
4ceea13cf4
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
2014-04-02 21:47:09 +03:00
Adam Wulkiewicz
2f9f454334
[get_turns] fix for MultiLinestrings containing Ls with equal points
...
In this case no sections were generated for those "empty" Linestrings but if there were some sections already generated they could be marked as last_non_duplicated.
2014-04-02 20:21:32 +02:00
Adam Wulkiewicz
47da24242c
[relate] add code ignoring i/i turns, comment out some unneeded code in areal_areal
2014-04-02 20:14:34 +02:00
Adam Wulkiewicz
8c700e9f31
[relate] handle non-simple Polygons in A/A, NOT FULLY SUPPORTED
...
Not supported: i/i, non-intersecting rings
2014-04-02 14:10:36 +02:00
Menelaos Karavelas
598b6a51cf
Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops
2014-04-02 11:09:17 +03:00
Menelaos Karavelas
39a521934d
[intersection] guard print-outs within a #ifdef/#endif block
2014-04-02 10:31:43 +03:00
Adam Wulkiewicz
f2fea86f7e
[relate] fix special case of L/L and L/A - going out and in on the same point but with different segment.
...
Linestring going into the exterior of the second geometry and then going inside on the same point. In this case the exterior wasn't taken into account. Now in addition to the Point, seg_id is checked. The check should also be faster since integral segment ids are checked before Points.
exit_watcher methods now take Turn instead of Point, seg_id and other_id.
Also added some tests for non-simple A/A.
2014-04-01 22:20:29 +02:00
Menelaos Karavelas
ffdb1d34f0
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
...
Conflicts:
include/boost/geometry/algorithms/detail/relate/less.hpp
2014-04-01 04:05:50 +03:00
Menelaos Karavelas
4101d4368f
[intersection] fix expected intersection in two examples in unit test
2014-04-01 03:47:41 +03:00
Barend Gehrels
ea4408dbdb
Fixed renaming in test
2014-03-30 15:17:07 +02:00
Barend Gehrels
2521ce2193
Moved GEOS testcases from traverse to union/intersection/difference
2014-03-30 14:54:24 +02:00
Barend Gehrels
46125dccb5
Removed distance (replaced by fraction) and calculate_distance_policy file, not used anymore
2014-03-30 13:50:20 +02:00
Barend Gehrels
77703f439e
[unit tests] Fixed traverse cases changed by new approach
2014-03-30 13:03:36 +02:00
Adam Wulkiewicz
b6bf7038c9
Merge branch 'develop' into feature/relate
2014-03-29 23:46:22 +01:00
Adam Wulkiewicz
fc1a2545a5
[get_turns] Fix test for L/L and L/A - missing functions in expected_pusher range
2014-03-29 14:41:51 +01:00
Adam Wulkiewicz
2a30c8ac0d
[geometry] Fixes after merge in get_turns - use of arrivals, compilation fixes in relate, use of fractions for sorting turns in relate
2014-03-28 14:55:28 +01:00
Adam Wulkiewicz
7df83d69a7
[relate] add support for no-IP casesin A/A, fix for_each_disjoint_geometry_if for Multi Geometries.
...
Fix a bug in for_each_disjoint_geometry_if resulting in assert failure if no turns are generated. This affects L/L, L/A and A/A.
Enable all combinations of Areal geometries.
Add ignoring of empty disjoint geometries in L/A and A/A.
Add tests for disjoint geometries.
2014-03-27 16:35:43 +01:00
Adam Wulkiewicz
d4418204ec
[relate] add support for non-simple non-equal Polygons in A/A.
...
Currently simple interrupt policy is used.
This approach works is there are IPs, Polygons are simple and not equal.
2014-03-27 00:30:43 +01:00
Adam Wulkiewicz
77c7317cb1
[relate][get_turns] move single_geometry to bg::detail, fix get_turn_info test
...
also create a preliminary version of relate::areal_areal (copied from linear_areal)
in get_turn_info test mutable begin() and end() because it seems that Range can't handle immutable Ranges
2014-03-26 18:37:31 +01:00
Barend Gehrels
40f8174da4
[geometry] After merge, updated test_get_turns by providing segment_ratio_type
2014-03-26 14:38:43 +01:00