Commit Graph

1269 Commits

Author SHA1 Message Date
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
Adam Wulkiewicz
30f06fede7 added relate(Point, Box), added transpose() to relate result, update_dimension renamed to update, optimized - runtime parameters of set and update replaced by template parameters, added static_assert checking dimension 2014-02-02 18:29:42 +01:00
Adam Wulkiewicz
2804514b3a removed invalid point_in_geometry() implementation for Box, geometry::within() reverted in distance() and disjoint() 2014-02-02 15:31:10 +01:00
Adam Wulkiewicz
fe09a6dc2e fixed some warnings (unused variables, signed-unsigned comparison) 2014-02-02 00:58:44 +01:00
Adam Wulkiewicz
c0fdceee0d added missing parameters to get_turn_without_info - new GetTurnPolicy interface 2014-02-02 00:05:30 +01:00
Adam Wulkiewicz
87ab6f8ece fixed VS compilation errors (overlay:: removed), removed relate()-related code from get_turns_linear_linear.cpp test 2014-02-01 23:43:54 +01:00
Adam Wulkiewicz
a739ebe714 fixed a compilation error in point_in_geometry called for non-polygon Geometry 2014-02-01 23:24:55 +01:00