611 Commits

Author SHA1 Message Date
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
Barend Gehrels
da7c741eb8 Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
	include/boost/geometry/algorithms/detail/sub_geometry.hpp
	include/boost/geometry/algorithms/disjoint.hpp
	include/boost/geometry/algorithms/touches.hpp
	include/boost/geometry/algorithms/within.hpp
	include/boost/geometry/policies/relate/intersection_points.hpp
	test/algorithms/intersection.cpp
	test/algorithms/overlay/get_turn_info.cpp
2014-03-26 13:33:15 +01:00
Adam Wulkiewicz
830a073c0d Merge branch 'feature/relate' into develop 2014-03-25 15:10:48 +01:00
Adam Wulkiewicz
ccbc15b8a1 [get_turns][relate] handle doubled points in relate L/L and L/A
add info about the first/last non-doubled section to sectionalize
modify get_turns() to pass info about the first/last segment to TurnPolicy::apply()
modify parameters of TurnPolicy::apply()
add searching for the next non-equal point in relate L/A when the segment of Linear must be checked if it starts in the interior or exterior of the Areal
add tests for relate and within
add relate L/A to Jamfile
2014-03-25 00:29:25 +01:00
Adam Wulkiewicz
b6fc144de7 [relate][within] add tests for Linestrings with duplicated points 2014-03-24 19:27:35 +01:00
Adam Wulkiewicz
5316d1f2ad [geometry] replace sub_geometry::get() by sub_range(), fix invalid #includes 2014-03-23 17:16:56 +01:00
Adam Wulkiewicz
025bd3b2bc [relate] overall cleanup, group_dim replaced by topological_dimension, group_tag by tag_cast, range moved to util/range.hpp, some temporary code commented out 2014-03-23 15:17:05 +01:00
Barend Gehrels
6e36e1b8f1 [geometry] Added comment for ticket #9756 it was invalid, polygons were not closed 2014-03-23 00:05:57 +01:00
Barend Gehrels
ad718d333d [geometry] added testcase for ticket #9756 which is already fixed
in this branch
2014-03-22 23:53:52 +01:00
Barend Gehrels
3b8f444e6c [geometry] added test to intersection unit test for issue reported at
2014/03/21 by 7415963@gmail.com
The issue is not fixed yet.
2014-03-22 23:48:07 +01:00
Adam Wulkiewicz
5eec228f10 [relate][get_turns] the code from handle_spike from get_turn_info_ll enclosed in spike detector (NOT FULLY WORKING) 2014-03-22 11:21:49 +01:00
Adam Wulkiewicz
21c42ed87e [within][get_turns] implement within() using relate() for L/L and L/A. Add some basic/NOT_FULLY_WORKING handling of collinear spikes for get_turns(L/L) 2014-03-21 17:24:21 +01:00
Menelaos Karavelas
e65e0718ad Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-20 11:21:00 +02:00
Adam Wulkiewicz
f2b4ced41b [relate] add test for Areal boundary equal to more than one Ls in MLs forming a linear ring 2014-03-20 01:06:15 +01:00
Adam Wulkiewicz
f9c0a09c38 [relate] implement proper handling of multiple rings while checing for equality with the linestrings, enable relate() for all ls- and poly-based geometries 2014-03-20 01:03:34 +01:00
Barend Gehrels
616e678ef1 [geometry] added first version of detail intersection_side function
To be used for buffer where robust info is needed of side of IP's
2014-03-19 17:01:02 +01:00
Menelaos Karavelas
0a2f52ad93 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
	include/boost/geometry/algorithms/detail/relate/turns.hpp
2014-03-19 17:25:19 +02:00
Menelaos Karavelas
8c2e7ea282 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-03-19 17:12:41 +02:00
Menelaos Karavelas
9ae6200a9d [intersection] add a couple more test cases that contain duplicate points or linestrings with zero length; 2014-03-19 17:11:41 +02:00
Adam Wulkiewicz
e0179e67e0 [relate] support ccw and open geometries, use closeable_view and reversable_view if needed 2014-03-18 23:27:18 +01:00
Adam Wulkiewicz
6106fe6d1b [relate] change less_seg_dist_op comparator to support multipolygons 2014-03-18 11:43:35 +01:00
Adam Wulkiewicz
173371265f [relate] fix II for LS on boundary going out and in to the boundary of another ring on the same IP 2014-03-18 00:52:20 +01:00
Adam Wulkiewicz
e461f1003b [relate] fix duplication of points for BACK in L/A 2014-03-17 23:45:28 +01:00