Commit Graph

1310 Commits

Author SHA1 Message Date
Adam Wulkiewicz
d5935134ef [relate] add interrupt policy for L/A 2014-03-17 15:23:35 +01:00
Adam Wulkiewicz
b4417c40ad [relate] add basic get_turns interrupt policy for L/L 2014-03-17 14:16:25 +01:00
Adam Wulkiewicz
ac8d628b8e [relate] fix error in static handler set dispatch, require const boundary checkers in algorithms 2014-03-17 00:52:37 +01:00
Adam Wulkiewicz
19837bbe03 [relate] L/A: fix generation of matrix elements for L collinear to boundary of A 2014-03-14 17:54:17 +01:00
Adam Wulkiewicz
8bd4efbc26 [relate] add support for non-simple polygons 2014-03-14 16:57:10 +01:00
Adam Wulkiewicz
80b1c54b65 [relate][get_turns] fix turn generation for last LS endpoint in get_turns(L,A), in relate(L,A) handle Linestrings starting from the inside 2014-03-14 13:05:51 +01:00
Adam Wulkiewicz
a6b0a32846 [relate] handle simple polygons in relate(L,A), remove some redundant code from L/L and L/A, add tests 2014-03-13 14:54:42 +01:00
Adam Wulkiewicz
4f32a3743f [relate][get_turns] added not yet finished support for relate(L,A), changed operations generated by get_turns(L,A) for collinear segments of Areal geometry, fixed errors in relate(L,A) 2014-03-13 01:08:57 +01:00
Adam Wulkiewicz
3c4ed4e396 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-03-12 19:18:20 +01:00
Adam Wulkiewicz
924d222e7f [relate][get_turns] fixed relate(L/L) error for collinear segments and a self-intersection in the middle, added is_collinear to turn_operation_linear, added setting of is_collinear to get_turns(L/L), fixed logic error in turns generation for endpoint-internal IP 2014-03-12 19:18:11 +01:00
Adam Wulkiewicz
3142975b72 [relate] supported ORed run-time masks 2014-03-12 12:39:20 +01:00
Adam Wulkiewicz
8e9a59bac3 [relate] helpers like segment_watcher, exit_watcher, etc. moved to a separate file, implemented preliminary version of L/A (commented out for now), found bug in L/L, added failing tests 2014-03-11 18:06:47 +01:00
Adam Wulkiewicz
fe0e34bff6 [relate][get_turns] fixed incorrect dispatching of static masks, tag_base<> replaced by group_tag<> and moved to namespace detail, added group_dim<> 2014-03-11 01:51:23 +01:00
Adam Wulkiewicz
4182cb916b [relate] TODOs regarding predefined masks added 2014-03-10 17:25:11 +01:00
Adam Wulkiewicz
d91db3a2e0 [relate] added ready-to-use static masks for various spatial relations 2014-03-10 15:03:57 +01:00
Adam Wulkiewicz
d209b4fbd2 [relate] added functions check() and interrupt(), added parameter EnableInterrupt to static_interrupt for consistency 2014-03-10 12:08:16 +01:00
Adam Wulkiewicz
4987e8d13d relate() implemented support for complex static masks as a MPL sequences 2014-03-10 03:02:11 +01:00
Adam Wulkiewicz
5f0ab7962f relate() static_mask_handler::update() dispatching fixed 2014-03-09 22:29:27 +01:00
Adam Wulkiewicz
9ca11feb90 relate() static_mask and static_mask_handler implemented 2014-03-09 22:24:09 +01:00
Adam Wulkiewicz
09c41cb171 relate() - const MatrixOrMask may be passed to the function, the actual matrix is now stored in the result handler 2014-03-08 19:59:39 +01:00
Adam Wulkiewicz
1e6da76527 relate() implemented different interface, added support for complex masks passed in boost::tuple 2014-03-08 19:31:06 +01:00
Adam Wulkiewicz
b6ad82a0c2 relate() naming of results changed, added de4im matrix 2014-03-07 19:41:54 +01:00
Adam Wulkiewicz
9ff0624b41 relate(L,A) added preliminary implementation, for now working only for disjoint geometries 2014-03-04 17:37:12 +01:00
Adam Wulkiewicz
38147c2fc7 relate() for_each_disjoint_linestring_if utility now works for all geometries, renamed to for_each_disjoint_geometry_if 2014-03-04 16:55:18 +01:00
Adam Wulkiewicz
8ae3b591d3 relate(L,L) unused code commented out 2014-03-04 15:37:34 +01:00
Adam Wulkiewicz
02cdc305d3 get_turns(L,A) - fixed turns generation for endpoints of collinear front/back segments, added some tests 2014-03-03 19:21:12 +01:00
Adam Wulkiewicz
325b2e2bb0 get_turns(L,L) - TODO comment added 2014-03-03 18:19:37 +01:00
Adam Wulkiewicz
4fd21c2fa7 get_turns(L,A) - handled the back endpoint of the Linestring 2014-03-03 18:16:02 +01:00
Adam Wulkiewicz
ebaf26c0ff get_turns(L,A) handled front endpoint 2014-03-03 13:36:23 +01:00
Adam Wulkiewicz
be1ac99a82 get_turns(L,A) added, the endpoints are NOT properly set yet! 2014-02-28 18:59:30 +01:00
Adam Wulkiewicz
ad201710c7 generation of turns for linestrings endpoints moved from get_turn_info_ll.hpp to separate file, some run-time parameters replaced by compile-time parameters 2014-02-28 16:51:57 +01:00
Adam Wulkiewicz
040f9ed6e9 some comments changed in relate/turns.hpp 2014-02-27 15:31:11 +01:00
Adam Wulkiewicz
e8b5e64f2b added empty test for get_turns(L,A) and some small changes like naming, comments. to_svg() (test debug helper tool) is now using turn_info defined in relate::turns, also traversal info output commented out. 2014-02-27 15:20:51 +01:00
Adam Wulkiewicz
629d6b1246 relate/less.hpp copyrights fixed 2014-02-27 02:18:12 +01:00
Adam Wulkiewicz
9ad7ec98a8 detail::relate::less moved to separate file 2014-02-27 02:17:08 +01:00
Adam Wulkiewicz
9ed47574e1 relate(L,L) readability of some parts of the code improved 2014-02-25 18:11:11 +01:00
Adam Wulkiewicz
6f4094ec2a relate(L,L) some comments added 2014-02-25 17:59:02 +01:00
Adam Wulkiewicz
37db735b38 relate(L,L) recently introduced turn position info used to optimize boundary points detection 2014-02-25 17:37:00 +01:00
Adam Wulkiewicz
736f26db4a get_turns(L,L) turn_position now indicates the global position in linestring, not local in segment, for consistency - this was set only for the first and the last segment 2014-02-25 16:47:18 +01:00
Adam Wulkiewicz
261b35a323 get_turns(L,L) got rid of the duplicated part of the code 2014-02-25 16:38:06 +01:00
Adam Wulkiewicz
0a70310124 get_turns(L,L) added turn_operation_linear containing info about the position of the IP in the segment 2014-02-25 13:39:09 +01:00
Adam Wulkiewicz
00941b7d50 Implemented relate(MultiPoint, MultiPoint), added detail::relate::less comparing Point types with different coordinate_type, added some TODO notes regarding possible optimizations 2014-02-24 17:47:29 +01:00
Adam Wulkiewicz
39d0d3bd75 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-02-24 15:17:20 +01:00
Adam Wulkiewicz
7033337149 IP coordinates rounded to the nearest value instead of a cast in segments_intersection_points if coordinate_type is integer 2014-02-24 15:16:37 +01:00
Adam Wulkiewicz
684b29cbe3 relate() - fixed clang warnings 2014-02-22 12:38:04 +01:00
Adam Wulkiewicz
a68d9f5855 fixed GCC compilation errors 2014-02-22 04:29:11 +01:00
Adam Wulkiewicz
0fd875fb63 relate() added Point-MultiPoint, point_point moved to the separate file, Geometries sequence is reversed if needed to not duplicate the code - for this Transpose is also used as the parameter to set<>(result) 2014-02-21 19:25:27 +01:00
Adam Wulkiewicz
89e412f5b4 added test for relate(Pt,Pt), added a TODO in relate::linear_linear 2014-02-21 17:56:40 +01:00
Adam Wulkiewicz
6482716689 relate() Finished the implementation for Point/Geometry, added topology_check util, added tests 2014-02-21 17:51:37 +01:00
Adam Wulkiewicz
93b82b734d relate() added interruption_enabled flag to policy which can be used to create optimized mask type not checking for interuption per each set<>() 2014-02-21 15:34:52 +01:00