Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
ba809a838c removed unused function parameters; 2014-02-22 15:42:14 +02:00
Menelaos Karavelas
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;
2014-02-22 15:27:40 +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
Adam Wulkiewicz
600174b45d added relate() test to the Jamfile 2014-02-22 01:03:48 +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
Menelaos Karavelas
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
2014-02-21 13:42:54 +02:00
Menelaos Karavelas
6e8c6b2a40 added test cases for the MLS/MLS combination 2014-02-21 12:10:49 +02:00
Menelaos Karavelas
c7e215076a updated a test case to make it more floating-point robust; added one more test case 2014-02-21 11:45:40 +02:00
Menelaos Karavelas
a63b3ef7c8 added tests for the LS/MLS combination 2014-02-21 11:11:38 +02: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
c6f68ac2ec finished LS/LS test cases;
added MLS/LS test cases;
2014-02-20 23:33:26 +02: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
95ffb258db test cases for the LS/LS combination 2014-02-20 22:42:13 +02:00
Menelaos Karavelas
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); 2014-02-20 13:43:27 +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
b8243c7159 unit tests for symmetric difference and intersection of linear geometries; not finished yet; 2014-02-20 12:57:14 +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
Barend Gehrels
6269c5f4c1 [geometry] Simplified copy_segments template signature,
now that we also added RobustPolicy
2014-02-19 12:31:40 +01:00
Barend Gehrels
3ec7162957 [geometry] Added RobustPolicy to copy_segments and append_no_dups_or_spikes
- and moved typedefs inside function two times
- no other actions
2014-02-19 12:18:16 +01:00
Barend Gehrels
ffb1b8af61 [geometry] Fixed traverse testcase 2014-02-19 11:19:10 +01:00
Barend Gehrels
13aa0b07db [geometry] Append without duplicates, fixed 3 calls 2014-02-19 11:18:20 +01: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