Commit Graph

4455 Commits

Author SHA1 Message Date
Menelaos Karavelas
2be267d79e [algorithms][is_valid][debug][turns] add display of segment indices 2015-01-29 23:29:42 +02:00
Barend Gehrels
75b95b1b91 Merge pull request #203 from mkaravel/fix/range_segment_iterator_initialization_and_declaration
Fixes for range segment iterators
2015-01-29 22:23:10 +01:00
Menelaos Karavelas
ba5ae9ef4d [iterators][segment iterator][range segment iterator] declare range_segment_iterator
as a class (to match the friend declaration inside it);
fix bug in initialization of the m_has_less_than_two_elements boolean member variable
for open ranges;
2015-01-29 23:13:45 +02:00
Adam Wulkiewicz
23d3e60767 Merge pull request #197 from mkaravel/feature/support_for_one_point_geometries
Feature/support for one point geometries
2015-01-28 23:24:42 +01:00
Adam Wulkiewicz
41013184ff Merge pull request #202 from mkaravel/fix/is_simple_closed_linestrings
Fix/is simple closed linestrings
2015-01-28 23:21:59 +01:00
Menelaos Karavelas
bc1da220a4 [iterators][segment iterator][range segment iterator] initialize boolean in default
constructor with false
2015-01-28 19:18:19 +02:00
Menelaos Karavelas
3763829be3 [iterators][segment iterator][range segment iterator] replace has_less_than_two_elements
by an appropriate call to boost::size
2015-01-28 17:38:58 +02:00
Menelaos Karavelas
c2589a451a [doc][release notes] mention bug fix in is_simple about simple closed linestring in multilinestrings 2015-01-28 12:48:33 +02:00
Menelaos Karavelas
300577d68e [test][algorithms][is_simple] add more test cases including one that
was failing before the recent bug fix
2015-01-28 12:47:01 +02:00
Menelaos Karavelas
5899ac451f [algorithms][is_simple] fix bug in is_simple(multilinestring): is_simple
was considering a simple closed linestring (living inside a multilinestring)
as non-simple because it was wrongly detecting the turn associated with the
first and last (closing) point as an unacceptable turn;
fix: allow such turns acceptable;
2015-01-28 12:40:46 +02:00
Barend Gehrels
2f0b9d05bd [buffer][test] split multi_point_buffer test into normal unit test
and robustness test (growth)
2015-01-28 10:47:01 +01:00
Barend Gehrels
3c57ee2cae [test] remove timings in include files 2015-01-28 10:29:31 +01:00
Barend Gehrels
486ed6605c [extensions] remove unused msm state and unused Boost.Unit example/header 2015-01-28 10:04:03 +01:00
Barend Gehrels
373f6cc24d [difference][test] Increase tolerance for geos2 test to satisfy MSCV 14 2015-01-28 09:54:51 +01:00
Adam Wulkiewicz
fef45d0d00 [test][relate] Add tests for relate(Ls,MLs) - collinear spike. 2015-01-27 00:30:19 +01:00
Adam Wulkiewicz
6665fb7bf6 [relate] Fix relate(Ls,MLs) - collinear L spike touching other Ls. 2015-01-27 00:27:59 +01:00
Adam Wulkiewicz
68aadf5f7d [test][get_turns][relate] Add tests for L/A collinear opposite last L segment. 2015-01-26 04:04:45 +01:00
Adam Wulkiewicz
1588215368 [overlay][get_turns] Fix get_turns(L,A) for opposite last L segment.
For last Linear segment collinear opposite to A segment the pk point was
also used in a check inside collinear_opposite handler. But in the case of
the last segment pk was invalid and set to one of the L points. So the
result of the check was "random".
2015-01-26 04:00:51 +01:00
Barend Gehrels
cc90919243 Merge pull request #200 from mkaravel/doc/update_release_notes
[doc][release notes] add new algorithm num_segments
2015-01-24 15:09:37 +01:00
Menelaos Karavelas
8c9b65ffbc [doc][release notes] add new algorithm num_segments 2015-01-24 15:59:57 +02:00
Barend Gehrels
933fae343c Merge pull request #199 from mkaravel/doc/update_release_notes
[doc][release notes] add bug fix in closing iterator (support for empty ranges)
2015-01-24 14:20:51 +01:00
Menelaos Karavelas
af7510e94a [doc][release notes] add bug fix in closing iterator (support for empty ranges) 2015-01-24 15:10:09 +02:00
Barend Gehrels
0f6718fd5d Merge pull request #198 from mkaravel/fix/remove_use_of_internal_test_tools
[test][algorithms][distance] replace use of internal Boost.Test tools
2015-01-24 14:04:14 +01:00
Menelaos Karavelas
af9b0c76fe [test][algorithms][distance] replace use of internal Boost.Test tools
by BOOST_CHECK and BOOST_CHECK_CLOSE
2015-01-24 14:51:18 +02:00
Barend Gehrels
9ea6ef83c4 [doc] Finish/clean up 3 release notes of 1.55 2015-01-24 12:28:35 +01:00
Barend Gehrels
65c0b455ad [buffer][doc] Update release notes 2015-01-24 11:50:44 +01:00
Adam Wulkiewicz
74821cd7d5 [doc] Update 1.58 release notes. 2015-01-23 19:14:47 +01:00
Adam Wulkiewicz
705703a0e5 [test][overlay][get_turns][relate] Add the tests for spike for L/A. 2015-01-23 19:08:05 +01:00
Adam Wulkiewicz
8100303092 [overlay][get_turns] Fix the calculation of spike's side.
In get_turn_info L/A for a Linear spike support special case when pj == qj
differently, check it explicitly if it must be handled.
2015-01-23 19:04:00 +01:00
Adam Wulkiewicz
949fd8ac39 [relate] Small optimization in L/A turns analyser, don't reset the watcher twice. 2015-01-23 19:03:39 +01:00
Adam Wulkiewicz
b230040b85 [doc] Update release notes for 1.58. 2015-01-23 17:35:59 +01:00
Adam Wulkiewicz
19df5859cc [test][relate] Add the test for relate(MLs,Poly). 2015-01-23 17:13:32 +01:00
Adam Wulkiewicz
2ac11443fa [relate] Fix relate(MLs,A) - reset state in handler per Ls.
In turns handling code reset exit_watcher and other state variables when
new linestring is detected and previous one was handled.
2015-01-23 17:10:44 +01:00
Adam Wulkiewicz
2493f07792 Merge pull request #196 from mkaravel/fix/closing_iterator_for_empty_ranges
Fix/closing iterator for empty ranges
2015-01-23 05:49:06 +01:00
Adam Wulkiewicz
8a8620b506 [test][relate] Add tests for MPolys with rings for which single u/u turn is generated. 2015-01-23 03:38:49 +01:00
Adam Wulkiewicz
f30691be50 [relate] Fix relate() for MultiPolygon/Areal.
Remove the symmetry from uncertain u/u handling. Set I/E and B/E only for
rings containing only u/u, not for both geometries.

Also replace int with signed_index_type for ring index.
2015-01-23 03:33:02 +01:00
Adam Wulkiewicz
18d3678fbb [test][relate] Add tests for relate(L/A) - Ls/MPoly and MLs/MPoly. 2015-01-23 01:46:22 +01:00
Adam Wulkiewicz
ed87f465e2 [relate] Fix relate() for Linear/Areal.
Linestring/MultiPolygon case when the first IP is the u/u for a Polygon in
which the LS is not contained (starting inside). In such cases the
algorithm was detecting the LS in exterior of MultiPolygon.

MultiLinestring/Areal case when the last IP of the first Linestring was
u/u and previously the Linestring was inside. In such case the last
boundary endpoint was not taken into account.
2015-01-23 01:40:59 +01:00
Menelaos Karavelas
3c443862d4 [test][algorithms][distance] add test cases of linear and/or areal
geometries that contain ranges with less than two points
2015-01-22 18:26:03 +02:00
Menelaos Karavelas
f58d9d3783 [test][iterators][segment_iterator] add test cases of linear and/or areal
geometries that contain ranges with less than two points
2015-01-22 18:25:48 +02:00
Menelaos Karavelas
3eeb26b58f [iterators][segment_iterator] modify range_segment_iterator class to support
ranges with less than two elements
2015-01-22 18:25:11 +02:00
Adam Wulkiewicz
bc45a19909 [test][disjoint][relate] Add tests for L/L case (IPs on first points). 2015-01-22 16:05:15 +01:00
Menelaos Karavelas
0d4b7973f2 [test][iterators][closing_iterator] add test case for empty range 2015-01-22 17:00:36 +02:00
Menelaos Karavelas
8643f25f97 [iterators][closing_iterator] fix bug in closing_iterator for empty ranges:
the closing_iterator was not working for empty ranges as it was trying
to append the first range item of an empty range to the end of the range;
the proposed fix changes the index of the last item in the closing iterator's
range to be 0 instead of 1 when the range is empty;
2015-01-22 16:58:39 +02:00
Adam Wulkiewicz
da270a7e95 [disjoint] Fix disjoint L/L by using the L/L get_turn_info policy.
Without this policy the intersection points corresponding to the starting
points of linestrings aren't taken into consideration.
2015-01-22 15:47:33 +01:00
Adam Wulkiewicz
ab749e3873 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-22 02:02:23 +01:00
Adam Wulkiewicz
c1daf1a0eb [test][overlay][relate] Add tests of get_turns() and relate() for L/A. 2015-01-22 02:01:54 +01:00
Adam Wulkiewicz
70e9d55cba [overlay][get_turns] Fix get_turns for L/A.
For a case when a last segment of linear geometry was collinear-opposite
to areal's segment and had an endpoint inside the areal's segment the turn
for the first IP wasn't generated, only the one of the endpoint.
2015-01-22 01:56:55 +01:00
Barend Gehrels
6b35f31563 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-21 23:19:57 +01:00
Barend Gehrels
5c9c899974 [test] Increase tolerance slightly for parcel3 (buffer) and geos_1 (intersection)
to let it pass in MSVC 14
2015-01-21 23:19:38 +01:00