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
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
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
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
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
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
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
327819b687
[extensions][nsphere][test] Remove unused typedefs. Rename tests.
2014-06-13 18:06:07 +02:00
Adam Wulkiewicz
3edeaeb2af
[algorithms][io][test] Fix some rather harmless conversions warnings and add /bigobj for some tests for VS.
2014-06-13 16:13:35 +02:00
Menelaos Karavelas
2adf68f94b
[algorithms][is_simple] remove unused typedef
2014-06-13 15:54:46 +03:00
Menelaos Karavelas
c79a8da5a5
[algorithms][is_valid] add missing include
2014-06-13 15:40:11 +03:00
Menelaos Karavelas
c0a38f87ae
[algorithms][is_valid, is_simple] make a template parameter
...
the run time parameter/argument that determines whether linear
geometries with spikes are allowed
2014-06-13 15:29:50 +03:00
Menelaos Karavelas
03dd7cad6a
[aldotihms][is_valid, is_simple] move has_duplicates from is_simple
...
namespace to is_valid namespace; move has_duplicates.hpp from
detail/is_simple directory to detail/is_valid;
2014-06-13 15:16:05 +03:00
Menelaos Karavelas
97c14576d5
[algorithms][is_valid] finish implementation for rings:
...
add missing includes; check more conditions; poslish code;
2014-06-13 15:08:39 +03:00
Menelaos Karavelas
ecd3853193
[algorithms][is_valid] merge code from linestring.hpp and
...
multi_linestring.hpp into linear.hpp
2014-06-13 14:58:09 +03:00
Menelaos Karavelas
eeaf906ffe
[algorithms][is_valid] merged code in linestring.hpp and
...
multi_linestring.hpp into linear.hpp
2014-06-13 14:56:09 +03:00
Menelaos Karavelas
dec48c51ee
[algorithms][is_simple] for rings return the result of validity testing
2014-06-13 14:32:08 +03:00
Menelaos Karavelas
6d1770352e
[algorithms][is_simple] make has_duplicates closure-aware;
...
rename is_simple_range to is_simple_linestring (it is used
for linestrings only);
2014-06-13 14:30:58 +03:00
Menelaos Karavelas
d89a073d19
[algorithms][is_simple] make has_duplicates closure-aware
2014-06-13 14:30:31 +03:00
Menelaos Karavelas
7246b5e0e7
[algorithms][is_valid] add missing include
2014-06-13 14:07:28 +03:00
Menelaos Karavelas
ac0bff45df
[algorithms][is_valid] optimize detection of small number of distinct
...
point in linestrings; polish code; fix includes;
2014-06-13 14:04:44 +03:00
Menelaos Karavelas
4375dd04c3
[algorithms][is_valid] has_spikes: re-factor and polish implementation
2014-06-13 13:11:45 +03:00
Menelaos Karavelas
39e1fac547
[algorithms][is_simple] remove unused code and includes
2014-06-13 12:46:13 +03:00
Menelaos Karavelas
8b67536dc3
[algorithms][is_simple] remove include of multi/core/tags.hpp
2014-06-13 12:38:47 +03:00
Menelaos Karavelas
574a6b4154
[algorithms][is_valid] remove include of multi/core/tags.hpp
2014-06-13 12:35:08 +03:00
Menelaos Karavelas
2e01ce5173
[alhorithms][is_valid] rename detail/is_valid/multi_range.hpp file to
...
detail/is_valid/multi_linestring.hpp; in there: fix includes;
re-factor code;
2014-06-13 12:33:20 +03:00
Menelaos Karavelas
49acae2ed8
[algorithms][is_simple] add file with debug code for is_simple of
...
linear geometries
2014-06-13 12:27:48 +03:00
Menelaos Karavelas
0161c06b93
[algorithms][is_simple] main file: polish code; removed unused includes;
2014-06-13 12:26:01 +03:00
Menelaos Karavelas
9e84593d48
[algorithms][is_simple] code for linear geometries:
...
polish and re-factor code; remove usused code; fix includes;
move debug code to separate file; optimize has_same_endpoints check;
use bg::range functions;
2014-06-13 12:19:53 +03:00
Menelaos Karavelas
756a6f2e86
[algorithms][detail] add struct with static apply method for checking
...
whether a predicate is satisfied by all elements in an iterator range
2014-06-13 12:18:03 +03:00
Menelaos Karavelas
163357c315
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
2014-06-13 11:43:45 +03:00
Barend Gehrels
5085c749b1
[has_self_intersections] bugfix (did not return true when exception found) and
...
added optional parameter for non-throwing behaviour.
Use this from test_buffer instead
2014-06-12 23:00:57 +02:00
Barend Gehrels
0ecc80a10a
[buffer] disable get_occupation, remove commented left_turn handling
2014-06-12 22:43:09 +02:00
Barend Gehrels
5a345ae2d4
[buffer] performance improvement - only consider overlapping pieces
2014-06-12 22:41:41 +02:00
Barend Gehrels
bdd2cc1ac6
[buffer] revert replacement of covered_by with within
2014-06-12 22:41:11 +02:00