Commit Graph

3170 Commits

Author SHA1 Message Date
Menelaos Karavelas
1f07f292ec [algorithms][is_valid] add include that is missing if GEOMETRY_TEST_DEBUG is defined 2014-06-16 13:45:38 +03:00
Menelaos Karavelas
4c9db293b4 [test][algorithms] use boost::geometry:: instead of bg:: 2014-06-16 13:45:06 +03:00
Menelaos Karavelas
a68bcb3b13 [test][algorithms] factor-out common code 2014-06-16 12:30:36 +03:00
Menelaos Karavelas
2438af55b3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 12:20:38 +03:00
Menelaos Karavelas
a1a2856743 [test][algorithms][is_simple] assert that the geometries tested
for simplicity are valid
2014-06-16 12:19:12 +03:00
Menelaos Karavelas
a0b1e53a92 [test][is_valid] update is_valid unit test to take into account
that duplicate points for areal geometries may be acceptable or not
2014-06-16 12:14:08 +03:00
Menelaos Karavelas
1163128748 [algorithms][is_valid] templatize is_valid dispatch class with
one more boolean template parameter to control the behavior with
respect to allowing duplicate points; modify algorithm for rings
polygons and multi-polygons to take the additional template parameter
that controls behavior with respect to duplicate points;
2014-06-16 12:12:20 +03:00
Adam Wulkiewicz
1403662e39 [doc] Update status matrices for intersects() and disjoints() 2014-06-16 03:59:07 +02:00
Adam Wulkiewicz
76917a4e70 [within][covered_by][test][doc] Support Point in Segment.
Add tests and update implementation status.
Add the test for intersects(Point, Segment).
2014-06-16 03:49:51 +02:00
Menelaos Karavelas
a4566ad92d [algorithms][is_simple] replace inclusion of detail/is_simple/pointlike.hpp
by inclusion of detail/is_simple/multipoint.hpp
2014-06-16 03:38:14 +03:00
Menelaos Karavelas
c1ca7590fd [test][is_simple] remove tests involving non-valid geometries;
fix test cases with closed linestrings; add more test cases;
add tests for areal geometries with duplicate points;
2014-06-16 03:34:26 +03:00
Menelaos Karavelas
a4b42e8bbc [algorithms][is_valid] re-implement has_spikes to return false if
the range has one or two distinct points (instead of calling
BOOST_ASSERT)
2014-06-16 03:30:53 +03:00
Menelaos Karavelas
8200c0c0a7 [algorithms][is_valid] re-implement has_duplicates to return false,
instead of calling BOOST_ASSERT, for geometries with no points;
2014-06-16 03:27:55 +03:00
Menelaos Karavelas
7d6f54539b [algorithms][is_simple] fix bug for closed linestrings (they do not
have boundary points); re-implement is_simple for linear geometries
assuming they are valid;
2014-06-16 03:26:10 +03:00
Menelaos Karavelas
be66dfe3f8 [algorithms][is_simple] print boundary points instead of endpoints
of linear geometries
2014-06-16 03:24:54 +03:00
Menelaos Karavelas
987cf6ee1e [algorithms][is_simple] re-arrange code:
rename detail/is_simple/pointlike.hpp to detail/is_simple/multipoint.hpp;
move code for geometries that are always simple to detail/is_simple/always_simply.hpp;
for areal geometries (rings, polygons, multi-polygons) implement
simpliciality check by checking for duplicate points;
2014-06-16 02:44:37 +03:00
Menelaos Karavelas
c81046000e [algorithms][is_valid] avoid calling interior_rings(polygon) twice;
polish code;
2014-06-16 02:40:14 +03:00
Menelaos Karavelas
5914fb2958 [algorithms][is_valid] change order of includes 2014-06-16 01:56:08 +03:00
Menelaos Karavelas
363414a23b [test][is_valid] allow spikes for linear geometries 2014-06-15 21:48:09 +03:00
Menelaos Karavelas
789eb04ba0 [algorithms][is_valid] change default behavior for linear geometries
to allow spikes
2014-06-15 21:47:02 +03:00
Menelaos Karavelas
34f3e31e8e [algorithms][is_valid] fix bug occuring when linestring has two
distinct points and spikes are allowed
2014-06-15 21:46:08 +03:00
Barend Gehrels
2c730125c2 [doc] update release notes 2014-06-15 17:33:49 +02:00
Adam Wulkiewicz
7e71bdfbbb Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-15 02:40:42 +02:00
Adam Wulkiewicz
b9ff3a7fc4 [index][strategies][test] Modify some of the header includes.
The purpose of this is to allow the compilation of the rtree without the need of including the geometry.hpp ond require only index/rtree.hpp or to make the order of includes irrelevant.
Furthermore, this is backward compatible.

Add missing variant include in the intersection tests.
Fix the unused typedefs in the pythagoras_point_box test.
2014-06-15 02:29:57 +02:00
Menelaos Karavelas
975fefef0b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-15 00:05:12 +03:00
Menelaos Karavelas
1b251a7346 [test][algorithms][is_simple] add missing include (strategies) 2014-06-15 00:03:15 +03:00
Menelaos Karavelas
e8ef531436 [algorithms][is_valid] add implementation for free space connectivity
graph of a polygon; this graph is used to test whether the interior
of a polygon is connected;

algorithmic modeling: given a polygon, define its free space connectivity
graph as follows:
* add a graph vertex for the exterior of the polygon
* add a graph vertex for every hole
* add a graph vertex for each point of contact between two polygon rings
* add a graph edge between every free space component (exterior or hole)
  and every point of contact on the boundary of this component
* determining whether the polygon has connected interior amounts to
  testing whether the graph is acyclic
2014-06-14 23:52:24 +03:00
Menelaos Karavelas
970016f9dc [algorithms][is_valid] add implementation for validity of polygons
(and partial implementation for validity of multi-polygons)
2014-06-14 23:51:45 +03:00
Menelaos Karavelas
0d577e7d4c [test][algorithms][is_valid] add missing include 2014-06-14 23:50:56 +03:00
Menelaos Karavelas
29052c3d0b [algorithms][is_simple] polish order of includes 2014-06-14 23:20:27 +03:00
Menelaos Karavelas
122d4e6e3e [algorithms][is_valid] move code to proper files under detail/is_valid;
fix includes;
2014-06-14 22:36:40 +03:00
Menelaos Karavelas
07039bf584 [test][algorithms][is_valid] fix includes; polish and cleanup code;
add test cases for rings and polygons and onyl a couple for
multi-polygons;
2014-06-14 22:33:55 +03:00
Menelaos Karavelas
ca8d8c7876 [test][algorithms][is_simple] remove unused code; fix includes;
polish and cleanup code; add test case for areal geometries;
2014-06-14 22:30:56 +03:00
Adam Wulkiewicz
35b2f91ee4 [extensions][offset] Update #includes to include the moved buffer code 2014-06-14 17:34:10 +02:00
Menelaos Karavelas
28ed3e4e59 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-14 16:04:24 +03:00
Barend Gehrels
264e9676f0 [buffer] avoid unused variable warnings
and replace BOOST_TYPEOF by iterator_traits
2014-06-14 11:53:50 +02:00
Barend Gehrels
1e7a631379 [buffer] rename check_original to turn_in_input
comparable to point_in_geometry.
This removes multi_buffer_inserter
2014-06-14 11:39:49 +02:00
Barend Gehrels
9db3329fe5 [buffer] move (dispatch) code for multi to buffer_inserter itself
This also tags the cast to multi_tag
2014-06-14 11:38:39 +02:00
Barend Gehrels
4a388f855d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-14 11:03:44 +02:00
Barend Gehrels
723435de6c [buffer] remove debug functionality
The lines which are warnings are now protected by BOOST_GEOMETRY_DEBUG_BUFFER_WARN
2014-06-14 11:03:23 +02:00
Barend Gehrels
e00e307f2f [buffer] remove unused functionality 2014-06-14 11:01:42 +02:00
Barend Gehrels
cee0903f2d [buffer] Remove buffer_piece_collection_with_mapper
this was a debugging tool. It is now replaced by a visiting policy (like
in partition), and implemented in the unit test itself
2014-06-14 10:57:59 +02:00
Adam Wulkiewicz
c757cf96a6 Merge pull request #56 from mkaravel/feature/math-sqrt
Feature/math sqrt
2014-06-14 03:54:52 +02:00
Menelaos Karavelas
c962616ff5 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/math-sqrt
Conflicts:
	include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp
2014-06-14 01:58:01 +03:00
Barend Gehrels
fdd983ce72 [buffer] Changes in (folder)locations of strategies, and
moved buffer_side_selector and piece_type used by strategies.
2014-06-13 21:30:53 +02:00
Barend Gehrels
c96d6394a9 [buffer] update include guards/copyright info 2014-06-13 20:45:34 +02:00
Barend Gehrels
31af14453a [buffer] Move from extensions to algorithms/detail 2014-06-13 20:26:33 +02:00
Adam Wulkiewicz
8fe51dbd6c [test] Remove the #includes of geometry.hpp and multi/* from the relops tests 2014-06-13 18:48:14 +02:00
Adam Wulkiewicz
327819b687 [extensions][nsphere][test] Remove unused typedefs. Rename tests. 2014-06-13 18:06:07 +02:00
Adam Wulkiewicz
34fc6030ef [extensions][test][projections] Fix compilation error in projections test. 2014-06-13 17:51:56 +02:00