Commit Graph

  • 38147c2fc7 relate() for_each_disjoint_linestring_if utility now works for all geometries, renamed to for_each_disjoint_geometry_if Adam Wulkiewicz 2014-03-04 16:55:18 +01:00
  • 8ae3b591d3 relate(L,L) unused code commented out Adam Wulkiewicz 2014-03-04 15:37:34 +01:00
  • 925fb9e35b common functionality for set operation testing for linear geometries Menelaos Karavelas 2014-03-04 16:28:28 +02:00
  • bae11b04c9 fixes from copy/paste from difference unit test Menelaos Karavelas 2014-03-04 16:27:52 +02:00
  • 9bbac740b7 stylistic changes according to Barend's review; Menelaos Karavelas 2014-03-04 16:24:38 +02:00
  • 0147d4d2c3 get_turns(L,A) tests added Adam Wulkiewicz 2014-03-04 14:36:42 +01:00
  • 1c318af64a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-03-03 21:37:40 +02:00
  • 6a87866339 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-03-03 21:37:30 +02:00
  • 02cdc305d3 get_turns(L,A) - fixed turns generation for endpoints of collinear front/back segments, added some tests Adam Wulkiewicz 2014-03-03 19:21:12 +01:00
  • 325b2e2bb0 get_turns(L,L) - TODO comment added Adam Wulkiewicz 2014-03-03 18:19:37 +01:00
  • 4fd21c2fa7 get_turns(L,A) - handled the back endpoint of the Linestring Adam Wulkiewicz 2014-03-03 18:16:02 +01:00
  • ebaf26c0ff get_turns(L,A) handled front endpoint Adam Wulkiewicz 2014-03-03 13:36:23 +01:00
  • be1ac99a82 get_turns(L,A) added, the endpoints are NOT properly set yet! Adam Wulkiewicz 2014-02-28 18:59:30 +01:00
  • 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 Adam Wulkiewicz 2014-02-28 16:51:57 +01:00
  • 1234e21c53 [geometry][index] rtree packing algorithm optimized, partial_sort replaced by nth_element, thanks to Lu Wang Adam Wulkiewicz 2014-02-28 14:00:33 +01:00
  • 18a29bac69 some comments changed Adam Wulkiewicz 2014-02-28 13:00:50 +01:00
  • 1c4ecf5b94 new implementation for union, following discussion with Barend; updated unit test for union a bit; Menelaos Karavelas 2014-02-27 16:46:22 +02:00
  • 040f9ed6e9 some comments changed in relate/turns.hpp Adam Wulkiewicz 2014-02-27 15:31:11 +01:00
  • 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. Adam Wulkiewicz 2014-02-27 15:20:51 +01:00
  • 629d6b1246 relate/less.hpp copyrights fixed Adam Wulkiewicz 2014-02-27 02:18:12 +01:00
  • 9ad7ec98a8 detail::relate::less moved to separate file Adam Wulkiewicz 2014-02-27 02:17:08 +01:00
  • 4211a2b1e9 [geometry] Use robust_policy in append_no_dups_or_spikes Only if robust_policy would make any difference, so we added an "enabled" boolean into the policy Barend Gehrels 2014-02-26 12:05:48 +01:00
  • 52c2ce2df9 added example used by Barend in his email to discuss the output of set operations Menelaos Karavelas 2014-02-26 12:55:56 +02:00
  • 1236aad099 [geometry] Added testcase for mailing list report 2014/02/23 Barend Gehrels 2014-02-26 11:38:27 +01:00
  • 9ed47574e1 relate(L,L) readability of some parts of the code improved Adam Wulkiewicz 2014-02-25 18:11:11 +01:00
  • 6f4094ec2a relate(L,L) some comments added Adam Wulkiewicz 2014-02-25 17:59:02 +01:00
  • 37db735b38 relate(L,L) recently introduced turn position info used to optimize boundary points detection Adam Wulkiewicz 2014-02-25 17:37:00 +01:00
  • 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 Adam Wulkiewicz 2014-02-25 16:47:18 +01:00
  • 261b35a323 get_turns(L,L) got rid of the duplicated part of the code Adam Wulkiewicz 2014-02-25 16:38:06 +01:00
  • 0a70310124 get_turns(L,L) added turn_operation_linear containing info about the position of the IP in the segment Adam Wulkiewicz 2014-02-25 13:39:09 +01:00
  • bd736c2e69 added end-of-namespace comment Menelaos Karavelas 2014-02-25 02:10:03 +02:00
  • 5bf941aa2e added stronger type checking for geometries passed to linear geometry set op algorithm code; Menelaos Karavelas 2014-02-25 02:08:00 +02:00
  • 8d510d140a added a couple of additional test cases Menelaos Karavelas 2014-02-25 02:07:08 +02:00
  • ea421976c5 added doxygen-related macro Menelaos Karavelas 2014-02-25 01:46:59 +02:00
  • c22b3bedfb minor change in output Menelaos Karavelas 2014-02-25 01:36:49 +02:00
  • 835c0fce1d added proper copyright header Menelaos Karavelas 2014-02-24 23:20:11 +02:00
  • b7c939cc8a added implementation for union of linear geometries Menelaos Karavelas 2014-02-24 23:13:33 +02:00
  • 4030dd7c4b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-02-24 22:20:35 +02:00
  • ca4aa6a91e the unit test for union of linear geometries; not finished yet Menelaos Karavelas 2014-02-24 22:20:24 +02:00
  • 8ab19b69c3 tester for union of linear geometries Menelaos Karavelas 2014-02-24 22:19:10 +02:00
  • 00941b7d50 Implemented relate(MultiPoint, MultiPoint), added detail::relate::less comparing Point types with different coordinate_type, added some TODO notes regarding possible optimizations Adam Wulkiewicz 2014-02-24 17:47:29 +01:00
  • 39d0d3bd75 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate Adam Wulkiewicz 2014-02-24 15:17:20 +01:00
  • 7033337149 IP coordinates rounded to the nearest value instead of a cast in segments_intersection_points if coordinate_type is integer Adam Wulkiewicz 2014-02-24 15:16:37 +01:00
  • 9393ff10b5 moved follow_linear_linear.hpp to detail/overlay directory; moved linear/linear geometry follow functionality in bg::detail::overlay::follow::linear namespace; Menelaos Karavelas 2014-02-24 05:57:53 +02:00
  • 8509f3668a changed follow_linear_linear dispatch a bit; added a small optimization in process_turn; Menelaos Karavelas 2014-02-24 05:44:59 +02:00
  • 671a28aed4 updated copyright year for Barend; Menelaos Karavelas 2014-02-23 11:48:50 +02:00
  • e11dcd9bbf intersection now includes isolated intersection points; exact behavior depends on the definition of related macros; updated unit test to test for isolated intersection points as well; Menelaos Karavelas 2014-02-23 11:47:13 +02:00
  • 0cd6e23494 added code for detecting isolated intersection points; no action implemented yet; Menelaos Karavelas 2014-02-22 16:10:55 +02:00
  • ba809a838c removed unused function parameters; Menelaos Karavelas 2014-02-22 15:42:14 +02:00
  • 0b38816c0d finished updating test cases for all three set ops (intersection, difference, sym difference); added a few more test cases; using macros properly within unit tests right now; Menelaos Karavelas 2014-02-22 15:27:40 +02:00
  • c00f46550b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-02-22 15:24:55 +02:00
  • b0e5a71464 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-02-22 15:24:24 +02:00
  • 684b29cbe3 relate() - fixed clang warnings Adam Wulkiewicz 2014-02-22 12:38:04 +01:00
  • a68d9f5855 fixed GCC compilation errors Adam Wulkiewicz 2014-02-22 04:29:11 +01:00
  • 600174b45d added relate() test to the Jamfile Adam Wulkiewicz 2014-02-22 01:03:48 +01:00
  • c13877c69e re-activated code that removes duplicate turns (needed again for now); code can be disabled by defining the appropriate macro; Menelaos Karavelas 2014-02-22 00:13:01 +02:00
  • a7e2d325f0 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-02-22 00:10:30 +02:00
  • 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) Adam Wulkiewicz 2014-02-21 19:25:27 +01:00
  • 89e412f5b4 added test for relate(Pt,Pt), added a TODO in relate::linear_linear Adam Wulkiewicz 2014-02-21 17:56:40 +01:00
  • 6482716689 relate() Finished the implementation for Point/Geometry, added topology_check util, added tests Adam Wulkiewicz 2014-02-21 17:51:37 +01:00
  • 93b82b734d relate() added interruption_enabled flag to policy which can be used to create optimized mask type not checking for interuption per each set<>() Adam Wulkiewicz 2014-02-21 15:34:52 +01:00
  • 5e733de01f added print-outs for the two geometries, the intersection results for g1,g2 and g2,g1 when the output is an MLS as well as the intersection result when the output is a multipoint Menelaos Karavelas 2014-02-21 13:42:54 +02:00
  • 6e8c6b2a40 added test cases for the MLS/MLS combination Menelaos Karavelas 2014-02-21 12:10:49 +02:00
  • c7e215076a updated a test case to make it more floating-point robust; added one more test case Menelaos Karavelas 2014-02-21 11:45:40 +02:00
  • a63b3ef7c8 added tests for the LS/MLS combination Menelaos Karavelas 2014-02-21 11:11:38 +02:00
  • 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 Adam Wulkiewicz 2014-02-21 00:40:09 +01:00
  • 47b958ec53 relate()/get_turn_info_ll added TODO and commented out unused code Adam Wulkiewicz 2014-02-20 23:29:39 +01:00
  • d13ff170be relate(L,L) code refactored, tests added Adam Wulkiewicz 2014-02-20 23:10:16 +01:00
  • 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" Adam Wulkiewicz 2014-02-20 22:47:23 +01:00
  • c6f68ac2ec finished LS/LS test cases; added MLS/LS test cases; Menelaos Karavelas 2014-02-20 23:33:26 +02:00
  • 76e9e33924 changed the namespace where the linear/linear set-ops code lives from difference to overlay Menelaos Karavelas 2014-02-20 23:32:52 +02:00
  • 95ffb258db test cases for the LS/LS combination Menelaos Karavelas 2014-02-20 22:42:13 +02:00
  • e522f4ae68 updated a few more test cases; modified testing equality of intersections (allow now two possible results that depend on the order of the intersection arguments); Menelaos Karavelas 2014-02-20 13:43:27 +02:00
  • 7450b64706 moved file linear_linear.hpp from detail/difference to detail/overlay Menelaos Karavelas 2014-02-20 13:41:53 +02:00
  • c5048bd8f9 updated implementation so that it works for the intersection of linear geometries Menelaos Karavelas 2014-02-20 13:37:43 +02:00
  • b66e411200 added dispatch for linear geometries' difference Menelaos Karavelas 2014-02-20 13:37:06 +02:00
  • e56ca86a03 added parentheses in order to remove compiler warning Menelaos Karavelas 2014-02-20 12:57:57 +02:00
  • b8243c7159 unit tests for symmetric difference and intersection of linear geometries; not finished yet; Menelaos Karavelas 2014-02-20 12:57:14 +02:00
  • 4ad18efba9 minor stylistic change Menelaos Karavelas 2014-02-20 08:54:34 +02:00
  • ed5852b282 replaced BOOST_CHECK by BOOST_ASSERT Menelaos Karavelas 2014-02-20 08:39:00 +02:00
  • a125811d56 relate(L,L) the ref to perviously analysed turn and operation added to turn_analyser<> Adam Wulkiewicz 2014-02-19 15:45:02 +01:00
  • 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. Adam Wulkiewicz 2014-02-19 14:42:05 +01:00
  • 8412e9f3ba simplified dispatch for difference of linear geometries Menelaos Karavelas 2014-02-19 13:45:38 +02:00
  • 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; Menelaos Karavelas 2014-02-19 13:37:04 +02:00
  • 6269c5f4c1 [geometry] Simplified copy_segments template signature, now that we also added RobustPolicy Barend Gehrels 2014-02-19 12:31:40 +01:00
  • 3ec7162957 [geometry] Added RobustPolicy to copy_segments and append_no_dups_or_spikes - and moved typedefs inside function two times - no other actions Barend Gehrels 2014-02-19 12:18:16 +01:00
  • ffb1b8af61 [geometry] Fixed traverse testcase Barend Gehrels 2014-02-19 11:19:10 +01:00
  • 13aa0b07db [geometry] Append without duplicates, fixed 3 calls Barend Gehrels 2014-02-19 11:18:20 +01:00
  • 1f9ccb6698 rearranged and simplified test code for differences of linear geometries; added test cases for the LS/MLS difference; polished debug macros a bit; Menelaos Karavelas 2014-02-19 09:25:30 +02:00
  • 7d3fef405e Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops Menelaos Karavelas 2014-02-19 09:00:09 +02:00
  • b03601fab8 get_turns(L,L) fixed 2x IPs generation for a special case of collinear, opposite last Ls segment Adam Wulkiewicz 2014-02-19 02:26:15 +01:00
  • 1fdf91064c added support for the LS/MLS difference; need to add tests as well Menelaos Karavelas 2014-02-18 18:02:02 +02:00
  • 1e871f8ae6 relate() result refactored, result concept crystalized, prepared for compile-time interruptable result types Adam Wulkiewicz 2014-02-17 17:37:46 +01:00
  • 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 Adam Wulkiewicz 2014-02-16 22:22:13 +01:00
  • 17356d7d7d [geometry] Fix for integer-distance-point-to-polygon, submitted by Menelaos Karavelas Barend Gehrels 2014-02-16 21:53:00 +01:00
  • 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) Adam Wulkiewicz 2014-02-16 18:26:41 +01:00
  • 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. Adam Wulkiewicz 2014-02-15 21:51:47 +01:00
  • 25ce65b28a relate(L,L) has_disjoint_sub_geometries simple check replaced by for_each_disjoint_linestring_if taking predicate checking linestrings Adam Wulkiewicz 2014-02-15 19:00:26 +01:00
  • 00e69bbea3 relate(L,L) - restored asserts in boundary_checker, added proper calculation of seg_ids for the first and last point of a range Adam Wulkiewicz 2014-02-15 01:21:57 +01:00
  • 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 Adam Wulkiewicz 2014-02-14 18:44:14 +01:00