Commit Graph

1302 Commits

Author SHA1 Message Date
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
Adam Wulkiewicz
a03f554e27 relate() Added the interruptable mask Result, handled arbitrary Result type in relate(), added tests for masks and interruption, fixed warning in get_turns_ll 2014-02-21 00:40:09 +01:00
Adam Wulkiewicz
47b958ec53 relate()/get_turn_info_ll added TODO and commented out unused code 2014-02-20 23:29:39 +01:00
Adam Wulkiewicz
d13ff170be relate(L,L) code refactored, tests added 2014-02-20 23:10:16 +01:00
Adam Wulkiewicz
9b16fdcf23 relate(L,L) handled case when several BLOCK operations were generated for the same point, fixed an error for BLOCK generated for a geometry touching the other one from the "outside" 2014-02-20 22:47:23 +01:00
Adam Wulkiewicz
a125811d56 relate(L,L) the ref to perviously analysed turn and operation added to turn_analyser<> 2014-02-19 15:45:02 +01:00
Adam Wulkiewicz
c2e1331270 relate(L,L) handling of 1-point linestrings replaced by simple ignoring (for now) since those are not valid geometries, the code was not removed though in case we wanted to e.g. enable it with some macro check. 2014-02-19 14:42:05 +01: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
Adam Wulkiewicz
1e871f8ae6 relate() result refactored, result concept crystalized, prepared for compile-time interruptable result types 2014-02-17 17:37:46 +01:00