2235 Commits

Author SHA1 Message Date
Menelaos Karavelas
dfc3785d48 [feature/is_simple] implement OGC is_simple test for points, segments, multi-points, linestrings and multi-linestrings 2014-04-04 16:16:43 +03:00
Adam Wulkiewicz
ca0c8b97df [get_turns] Fix turns dumplication for L/L.
Change the ignoring check calculation in get_turn_info_for_endpoint.
Add additional parameters to the second version of collinear_opposite<>::apply() defining if the pk and/or qk are valid (in other words current segment is NOT the last one).
Also make ignoring check for last endpoint in L/A more clear.
2014-04-03 11:58:50 +02:00
Adam Wulkiewicz
2f9f454334 [get_turns] fix for MultiLinestrings containing Ls with equal points
In this case no sections were generated for those "empty" Linestrings but if there were some sections already generated they could be marked as last_non_duplicated.
2014-04-02 20:21:32 +02:00
Adam Wulkiewicz
c27671336c Merge pull request #4 from mkaravel/feature/point_iterator
Merge feature/point_iterator into develop
2014-04-01 00:07:20 +02:00
Menelaos Karavelas
415500955a [point iterator] minor staylistic changes in unit test for concatenate iterator; 2014-03-31 14:52:03 +03:00
Menelaos Karavelas
861e094b7c [point_iterator] add separate unit test for flatten iterator; updated Jamfile to run the unit tests for point/concatenate/flatten iterator; 2014-03-31 09:33:23 +03:00
Adam Wulkiewicz
fc1a2545a5 [get_turns] Fix test for L/L and L/A - missing functions in expected_pusher range 2014-03-29 14:41:51 +01:00
Adam Wulkiewicz
b0221bcda1 [get_turns] fix invalid equal<> use (convert() for uninitialized Point) in get_turn_info_for_endpoints and get_turn_info_linear_areal 2014-03-29 14:08:11 +01:00
Menelaos Karavelas
5da4191c59 [point_iterator][concatenate_iterator] add separate unit test; 2014-03-28 11:57:35 +02:00
Menelaos Karavelas
d5d4b08a0c [point_iterator] minor stylistic changes; 2014-03-28 11:57:05 +02:00
Menelaos Karavelas
38682d9b41 [point_iterator] remove function call that is not meaningful; 2014-03-28 00:45:06 +02:00
Menelaos Karavelas
e1f39cd065 [point_iterator] minor and stylistic changes; in concatenate_iterator use enable_if_c instead of enable_if (shorter code); 2014-03-28 00:30:50 +02:00
Menelaos Karavelas
5e96c27c84 [point_iterator] make private the constructor of point_iterator that takes the base class as argument; 2014-03-28 00:11:16 +02:00
Menelaos Karavelas
8d09814c50 [point_iterator] adda bit more testing (dereference point iterator); now using boost::assign::tuple_list_of instead of multipoints for giving expected output; 2014-03-27 23:33:54 +02:00
Menelaos Karavelas
c127c56871 [point_iterator] changes due to new location of files and namespaces used; 2014-03-27 23:32:05 +02:00
Menelaos Karavelas
25e746cd2a [point_iterator] move code to new namespace; remove comments; points_begin/point_end now return point_iterator<Geometry> class (suggested by Adam); 2014-03-27 23:29:37 +02:00
Menelaos Karavelas
88264401a1 [point_iterator] change namespace from core_dispatch to dispatch; fix macros of files due to new location; 2014-03-27 23:28:07 +02:00
Menelaos Karavelas
5d27f4f301 [point_iterator][flatten_iterator] polish code a bit; fix problems with copy constructor; 2014-03-27 23:27:23 +02:00
Menelaos Karavelas
f5d48b3798 [point_iterator][concatenate_iterator] fix issues in copy constructor; 2014-03-27 23:26:25 +02:00
Menelaos Karavelas
8a8132e6c0 [point_iterator] moved files to proper directories 2014-03-27 23:23:51 +02:00
Menelaos Karavelas
64c11353be [point_iterator] move flatten and concatenate iterator implementation in iterators/ directory; 2014-03-27 02:25:38 +02:00
Menelaos Karavelas
555947d8e2 [point_iterator] define points_{begin,end} as inline free functions; 2014-03-27 02:11:02 +02:00
Menelaos Karavelas
bed33a7ee4 [point iterator] add missing definition of from_wkt in unit test; 2014-03-26 11:25:06 +02:00
Menelaos Karavelas
7abe47876b [feature/point iterator] implementation of point iterator for most geometries (not yet for point, segment & box); 2014-03-26 10:22:31 +02:00
Adam Wulkiewicz
830a073c0d Merge branch 'feature/relate' into develop 2014-03-25 15:10:48 +01:00
Adam Wulkiewicz
3a29d3a90c [relate] fix MinGW compilation error - add includes missing in relate/result.hpp 2014-03-25 03:16:40 +01:00
Adam Wulkiewicz
ccbc15b8a1 [get_turns][relate] handle doubled points in relate L/L and L/A
add info about the first/last non-doubled section to sectionalize
modify get_turns() to pass info about the first/last segment to TurnPolicy::apply()
modify parameters of TurnPolicy::apply()
add searching for the next non-equal point in relate L/A when the segment of Linear must be checked if it starts in the interior or exterior of the Areal
add tests for relate and within
add relate L/A to Jamfile
2014-03-25 00:29:25 +01:00
Adam Wulkiewicz
b6fc144de7 [relate][within] add tests for Linestrings with duplicated points 2014-03-24 19:27:35 +01:00
Adam Wulkiewicz
3b91c7ed34 [relate] fix compile errors (use of old names) 2014-03-23 17:54:52 +01:00
Adam Wulkiewicz
5316d1f2ad [geometry] replace sub_geometry::get() by sub_range(), fix invalid #includes 2014-03-23 17:16:56 +01:00
Adam Wulkiewicz
bddaadd8bc [geometry] round() moved to util/math, added doxygen info to round() and range utils 2014-03-23 16:34:06 +01:00
Adam Wulkiewicz
e99574f1ed [relate][get_turns] add missing brackets 2014-03-23 15:21:36 +01:00
Adam Wulkiewicz
025bd3b2bc [relate] overall cleanup, group_dim replaced by topological_dimension, group_tag by tag_cast, range moved to util/range.hpp, some temporary code commented out 2014-03-23 15:17:05 +01:00
Barend Gehrels
3b8f444e6c [geometry] added test to intersection unit test for issue reported at
2014/03/21 by 7415963@gmail.com
The issue is not fixed yet.
2014-03-22 23:48:07 +01:00
Adam Wulkiewicz
5eec228f10 [relate][get_turns] the code from handle_spike from get_turn_info_ll enclosed in spike detector (NOT FULLY WORKING) 2014-03-22 11:21:49 +01:00
Adam Wulkiewicz
21c42ed87e [within][get_turns] implement within() using relate() for L/L and L/A. Add some basic/NOT_FULLY_WORKING handling of collinear spikes for get_turns(L/L) 2014-03-21 17:24:21 +01:00
Adam Wulkiewicz
b79b857d1e [relate][get_turns] fixed (GCC) compilation errors (missing include, typename keyword, shadowing of template parameters) 2014-03-20 01:59:33 +01:00
Adam Wulkiewicz
9d49d802e9 [relate] group_dim util moved to separate file 2014-03-20 01:45:27 +01:00
Adam Wulkiewicz
f2b4ced41b [relate] add test for Areal boundary equal to more than one Ls in MLs forming a linear ring 2014-03-20 01:06:15 +01:00
Adam Wulkiewicz
f9c0a09c38 [relate] implement proper handling of multiple rings while checing for equality with the linestrings, enable relate() for all ls- and poly-based geometries 2014-03-20 01:03:34 +01:00
Adam Wulkiewicz
3e926cb818 [relate] implement the check for boundaries of Areal equal to Linear geometries in L/A 2014-03-19 19:50:54 +01:00
Adam Wulkiewicz
e0179e67e0 [relate] support ccw and open geometries, use closeable_view and reversable_view if needed 2014-03-18 23:27:18 +01:00
Adam Wulkiewicz
8cf2cfacc3 [get_turns] fix is_collinear calculation for methods t and m for L/L and L/A 2014-03-18 12:33:25 +01:00
Adam Wulkiewicz
6106fe6d1b [relate] change less_seg_dist_op comparator to support multipolygons 2014-03-18 11:43:35 +01:00
Adam Wulkiewicz
173371265f [relate] fix II for LS on boundary going out and in to the boundary of another ring on the same IP 2014-03-18 00:52:20 +01:00
Adam Wulkiewicz
e461f1003b [relate] fix duplication of points for BACK in L/A 2014-03-17 23:45:28 +01:00
Adam Wulkiewicz
3336212aaa [relate] fix sorting by distance in less_seg_dist_op 2014-03-17 15:52:32 +01:00
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
Menelaos Karavelas
79bbb5a408 [geometry][append] updated copyright headers 2014-03-17 09:51:37 +02:00