Commit Graph

4482 Commits

Author SHA1 Message Date
Menelaos Karavelas
fe257ef8b4 [algorithms][detail][overlay][turns L/L] remove trailing spaces 2015-02-03 21:54:52 +02:00
Menelaos Karavelas
c38d764b51 [test][algorithms][turns] remove trailing spaces 2015-02-03 21:54:19 +02:00
Adam Wulkiewicz
e08de8e48b [test][get_turns] Add tests for L/L collinear spikes. 2015-02-03 18:55:50 +01:00
Adam Wulkiewicz
93d9881fa2 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-02-03 18:27:11 +01:00
Adam Wulkiewicz
5c73173d60 [get_turns] Fix the handling of Linear collinear spikes for L/L. 2015-02-03 18:26:46 +01:00
Barend Gehrels
2bd4be27c8 Merge branch 'feature/buffer' into develop 2015-02-03 12:30:33 +01:00
Adam Wulkiewicz
10ddece05c Merge pull request #204 from mkaravel/fix/is_simple_wrong_turns_detection
Fix/is simple wrong turns detection
2015-02-02 19:54:28 +01:00
Adam Wulkiewicz
cc41683c31 Merge pull request #205 from mkaravel/fix/set_ops_ll_more_test_cases
Fix/set ops ll more test cases
2015-02-02 19:52:55 +01:00
Menelaos Karavelas
76e54e0ade [test][algorithms][difference] add more test cases (most contain
a turn whose point is a spike apex for one of the two geometries and a
vertex for the other geometry)
2015-02-02 19:03:42 +02:00
Menelaos Karavelas
62450efa25 [test][algorithms][sym_difference] add two more test cases (both contain
a turn whose point is a spike apex for one of the two geometries and a
vertex for the other geometry)
2015-02-02 19:03:24 +02:00
Adam Wulkiewicz
d7583b3cf8 [test][get_turns] Add the test for L/L collinear spike. 2015-02-02 02:14:47 +01:00
Adam Wulkiewicz
3e367f9f6d [get_turns] Fix handling of a specific case of L/L collinear spike. 2015-02-02 02:14:12 +01:00
Adam Wulkiewicz
b56428e073 [test][get_turns] Add more L/L failing cases (commented out). 2015-02-02 00:33:10 +01:00
Menelaos Karavelas
2c0c882cf4 [algorithms][is_simple] replace equality testing of turn point and linestring
endpoint by using the turn's fraction instead of the geometry::equals algorithm
2015-02-01 11:30:54 +02:00
Menelaos Karavelas
a843e3f7ec [test][algorithms][is_simple] add a few more test cases 2015-02-01 11:30:23 +02:00
Adam Wulkiewicz
62c69f3681 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-30 02:19:54 +01:00
Adam Wulkiewicz
522ff4eaf1 [test][get_turns] Add failing case for L/L, commented for now. 2015-01-30 02:19:45 +01:00
Menelaos Karavelas
dcb6d9ca94 [test][algorithms][is_simple] add one more test case 2015-01-30 01:19:19 +02:00
Menelaos Karavelas
7d581f649b [test][algorithms][is_simple] add more test cases including a linestring
whose one boundary point is also an internal point of the linestring (such
a linestring is currently not detected as self-intersecting by bg::intersects)
2015-01-29 23:46:15 +02:00
Menelaos Karavelas
eac0dc71bb [algorithms][is_simple] optimize the computation of turns for
multilinestrings: instead of computing the turns for each linestring
(through bg::intersects) and then again for the entire multilinestring,
avoid computing the turns for the individual linestrings in the multilinestring
and compute and process all multilinestring turns together;
besides the optimization this approach fixes a bug in bg::intersects in the
context of simplicity testing: bg::intersects cannot detect the intersection
occuring when a boundary point of linestring is also an internal point of the
linestring, as in LINESTRING(4 1,10 8,4 6,4 1,10 5,10 3), for example;
2015-01-29 23:45:46 +02:00
Menelaos Karavelas
e2d15e9eb3 [algorithms][is_simple][debug][turns] add debugging support for the
boundary (endpoints) of linestrings
2015-01-29 23:31:14 +02:00
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
Barend Gehrels
b349fc0f45 [buffer] use turn instead of point in analysis to get their segments later 2015-01-28 14:35:26 +01:00
Barend Gehrels
f056a0bb54 [overlay] minor change: replace now longer expressions with p_arrival, q_arrival
to enhance readability
2015-01-28 13:38:12 +01:00
Barend Gehrels
a44c753612 [overlay] replace intersection_info (old) with (new) to allow getting access
to (robust) points used for the segment intersection. This makes dir_info
redundant there, because it is included in (new)
2015-01-28 13:30:42 +01: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
28cf857743 [buffer] pass turn instead of piece to analysis to be able to use
the robust segments it is calculated from (in a later commit)
2015-01-28 11:26:41 +01:00
Barend Gehrels
d7dcc47d01 Merge branch 'develop' into feature/buffer 2015-01-28 10:50:43 +01: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
Barend Gehrels
916904f93a Merge branch 'develop' into feature/buffer 2015-01-28 09:39:17 +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