Commit Graph

1275 Commits

Author SHA1 Message Date
Menelaos Karavelas
e56ca86a03 added parentheses in order to remove compiler warning 2014-02-20 12:57:57 +02:00
Menelaos Karavelas
4ad18efba9 minor stylistic change 2014-02-20 08:54:34 +02:00
Menelaos Karavelas
ed5852b282 replaced BOOST_CHECK by BOOST_ASSERT 2014-02-20 08:39:00 +02:00
Menelaos Karavelas
8412e9f3ba simplified dispatch for difference of linear geometries 2014-02-19 13:45:38 +02:00
Menelaos Karavelas
0ca5d2f13a re-arranged code so that linestrings are not transformed to multilinestrings;
added implementations for all four pairs of LS/MLS combinations;
added unit tests that were missing for new combinations;
2014-02-19 13:37:04 +02:00
Menelaos Karavelas
1f9ccb6698 rearranged and simplified test code for differences of linear geometries;
added test cases for the LS/MLS difference;
polished debug macros a bit;
2014-02-19 09:25:30 +02:00
Menelaos Karavelas
7d3fef405e Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-19 09:00:09 +02:00
Adam Wulkiewicz
b03601fab8 get_turns(L,L) fixed 2x IPs generation for a special case of collinear, opposite last Ls segment 2014-02-19 02:26:15 +01:00
Menelaos Karavelas
1fdf91064c added support for the LS/MLS difference; need to add tests as well 2014-02-18 18:02:02 +02:00
Adam Wulkiewicz
1e871f8ae6 relate() result refactored, result concept crystalized, prepared for compile-time interruptable result types 2014-02-17 17:37:46 +01:00
Adam Wulkiewicz
99610ca124 relate(L,L) handled the rest of cases with 1-point linestrings involved, added interrupt member to relate result - it may be used to break the calculation 2014-02-16 22:23:14 +01:00
Adam Wulkiewicz
9f54142896 relate(L,L) handled some cases with 1-point linestrings involved (if 1-PtLS is disjoint or there are other Ls in the other MLs) 2014-02-16 18:26:41 +01:00
Adam Wulkiewicz
4815e00048 relate(L,L) disjoin linestrings contained in multilinestring properly handled. In the case of disjoint linestrings almost all special cases are handled non-simple linear rings, 1-point linestrings. Linestrings containing >1 equal points are for now treated as normal linear rings, this should probably be changed. 2014-02-15 21:51:47 +01:00
Adam Wulkiewicz
25ce65b28a relate(L,L) has_disjoint_sub_geometries simple check replaced by for_each_disjoint_linestring_if taking predicate checking linestrings 2014-02-15 19:00:26 +01:00
Adam Wulkiewicz
00e69bbea3 relate(L,L) - restored asserts in boundary_checker, added proper calculation of seg_ids for the first and last point of a range 2014-02-15 01:21:57 +01:00
Adam Wulkiewicz
551069e555 relate() added has_disjoint_sub_geometries check - not working for all special cases, should be replaced with e.g. for_each_disjoint_sub_geometry 2014-02-14 18:44:14 +01:00
Adam Wulkiewicz
2437538ccd added point_in_point agnostic strategy and point_in_geometry() for Point and MultiPoint 2014-02-14 15:07:02 +01:00
Adam Wulkiewicz
868b54c644 relate() boundary_checker moved to separate file 2014-02-14 14:01:20 +01:00
Adam Wulkiewicz
1f2041594a relate(L,L) added asserts to boundary_checker 2014-02-14 13:52:27 +01:00
Menelaos Karavelas
b1d78e1a85 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:40:41 +02:00
Menelaos Karavelas
734dcb7930 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:39:46 +02:00
Adam Wulkiewicz
790c0027a0 relate(L,L) fixed some compilation errors for MultiLinestrings, some parts of the code temporarily commented out, added failing test - currently used algorithm is analysing only those Linestrings which are intersecting the other geometry, other ones are NOT taken into account 2014-02-14 00:30:10 +01:00
Adam Wulkiewicz
b114b814d4 relate(L,L) the algorithm analysing one turn enclosed within turn_analyser 2014-02-14 00:10:39 +01:00
Barend Gehrels
8af588045e [geometry] Fixed results for distance of integer point types point-segment
or point-linestring
2014-02-13 22:18:39 +01:00
Adam Wulkiewicz
0aa1ca08d9 relate(L,L) added exit_operation to exit_watcher 2014-02-13 17:15:05 +01:00
Adam Wulkiewicz
9fe9d7259c relate(L,L) handled G1 last range point boundary in the exterior of G2 2014-02-13 01:08:08 +01:00
Menelaos Karavelas
2c3713270f added code that removes duplicate turns; 2014-02-13 01:48:56 +02:00
Adam Wulkiewicz
7429694b54 relate(L,L) added checks for boundaries for the first points of ranges of G1 which are in the exterior of G2 2014-02-13 00:12:39 +01:00
Menelaos Karavelas
a1ac024c5b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 18:06:37 +02:00
Adam Wulkiewicz
b943f3de26 get_turns(L,L) another special case handled 2014-02-12 16:53:06 +01:00
Menelaos Karavelas
a366f120f7 changes in code for linear-linear geometries difference 2014-02-12 13:03:35 +02:00
Adam Wulkiewicz
c5cbf5e6f2 relate() - added BoundaryQuery parameter to boundary_checker, makes possible to specify if the boundary should be at the first point, last or might be on both, etc. 2014-02-12 03:38:26 +01:00
Menelaos Karavelas
0848049a10 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 00:02:27 +02:00
Adam Wulkiewicz
5bb4c45ff5 get_turns(L,L) fixed another case for opposite linestrings 2014-02-11 17:06:43 +01:00
Menelaos Karavelas
a0e56a6157 current implementation for difference of linear geometries (still a prototype);
added some copyright headers and made minor fixes;
2014-02-11 16:22:39 +02:00
Menelaos Karavelas
9418d4b3e3 added copyright headers 2014-02-11 10:39:26 +02:00
Menelaos Karavelas
773331f6d9 implementation of follower for linear geometries;
added test files for difference of linear geometries;
2014-02-11 10:37:45 +02:00
Menelaos Karavelas
e3ce00473d Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-11 08:38:01 +02:00
Adam Wulkiewicz
4a4acf00cb [get_turns] fixed error in get_turn_info_linear_linear - invalid operations generated for the endpoint-internal IP for opposite segments 2014-02-11 02:57:39 +01:00
Adam Wulkiewicz
21dfef6f05 get_turn_info_linear_linear<>::handle_first_last() method moved to better reflect calling dependency 2014-02-11 01:30:22 +01:00
Menelaos Karavelas
e87d9ccb55 added helper function to print turns 2014-02-10 11:06:19 +02:00
Menelaos Karavelas
7abd905013 added custom turn comparison functors 2014-02-10 10:56:33 +02:00
Adam Wulkiewicz
e36c2027ec relate(L,L) handled one special case, still not fully working 2014-02-08 23:40:42 +01:00
Adam Wulkiewicz
d56a7bcc2e relate(L,L) algorithm without preliminary boundaries analisys - work in progress 2014-02-07 18:58:53 +01:00
Adam Wulkiewicz
5e3223e467 fixed error in relate(), entry points seg_id replaced by other_seg_id - required for MultiLinestrings 2014-02-06 01:27:52 +01:00
Adam Wulkiewicz
4881b94ee6 added a comment 2014-02-06 00:47:16 +01:00
Adam Wulkiewicz
c0598807db handled non-simple Linestrings, for now without spikes 2014-02-06 00:22:54 +01:00
Adam Wulkiewicz
2e4bafa27c fixed #define, added some comments 2014-02-03 19:45:07 +01:00
Adam Wulkiewicz
2fff49a684 fixed compilation error - missing namespaces 2014-02-03 18:43:41 +01:00
Adam Wulkiewicz
b7054cffc2 front() and back() helper functions moved to separate file, updated copyright info 2014-02-03 18:38:04 +01:00