Commit Graph

1310 Commits

Author SHA1 Message Date
Menelaos Karavelas
5bf941aa2e added stronger type checking for geometries passed to linear geometry set op algorithm code; 2014-02-25 02:08:00 +02:00
Menelaos Karavelas
ea421976c5 added doxygen-related macro 2014-02-25 01:46:59 +02:00
Menelaos Karavelas
835c0fce1d added proper copyright header 2014-02-24 23:20:11 +02:00
Menelaos Karavelas
b7c939cc8a added implementation for union of linear geometries 2014-02-24 23:13:33 +02:00
Menelaos Karavelas
4030dd7c4b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-24 22:20:35 +02: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
Menelaos Karavelas
9393ff10b5 moved follow_linear_linear.hpp to detail/overlay directory;
moved linear/linear geometry follow functionality in bg::detail::overlay::follow::linear namespace;
2014-02-24 05:57:53 +02:00
Menelaos Karavelas
8509f3668a changed follow_linear_linear dispatch a bit;
added a small optimization in process_turn;
2014-02-24 05:44:59 +02:00
Menelaos Karavelas
671a28aed4 updated copyright year for Barend; 2014-02-23 11:48:50 +02:00
Menelaos Karavelas
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;
2014-02-23 11:47:13 +02:00
Menelaos Karavelas
0cd6e23494 added code for detecting isolated intersection points;
no action implemented yet;
2014-02-22 16:10:55 +02:00
Menelaos Karavelas
ba809a838c removed unused function parameters; 2014-02-22 15:42:14 +02:00
Menelaos Karavelas
c00f46550b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:55 +02:00
Menelaos Karavelas
b0e5a71464 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:24 +02: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
Menelaos Karavelas
c13877c69e re-activated code that removes duplicate turns (needed again for now);
code can be disabled by defining the appropriate macro;
2014-02-22 00:13:01 +02:00
Menelaos Karavelas
a7e2d325f0 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 00:10:30 +02: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
Menelaos Karavelas
76e9e33924 changed the namespace where the linear/linear set-ops code lives from difference to overlay 2014-02-20 23:32:52 +02:00
Menelaos Karavelas
7450b64706 moved file linear_linear.hpp from detail/difference to detail/overlay 2014-02-20 13:41:53 +02:00
Menelaos Karavelas
c5048bd8f9 updated implementation so that it works for the intersection of linear geometries 2014-02-20 13:37:43 +02:00
Menelaos Karavelas
b66e411200 added dispatch for linear geometries' difference 2014-02-20 13:37:06 +02:00
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
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
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
Barend Gehrels
17356d7d7d [geometry] Fix for integer-distance-point-to-polygon,
submitted by Menelaos Karavelas
2014-02-16 21:53:00 +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