Barend Gehrels
3628e85a25
[buffer] fix non-intersecting sides around concave points
...
there was no segment in between generated, therefore if the side-segments
did not intersect (e.g. donut_diamond in polygon_buffer.cpp unit test),
there was no intersection at all. Now a helper piece is generated and it
will intersect.
2014-06-22 15:12:40 +02:00
Adam Wulkiewicz
a0a296877f
[range] Fix the return type of range::erase() and add tests.
2014-06-21 18:18:25 +02:00
Barend Gehrels
4ae8804b1d
[buffer] make constants const
2014-06-20 22:35:20 +02:00
Barend Gehrels
7df029b176
[buffer] make buffer (miter, round) around spike possible
...
including unit testcase. For miters, the limit is enlarged (after
visual inspection of spike_simplex_miter)
2014-06-20 22:34:40 +02:00
Barend Gehrels
52c41b9d34
[overlay] reverted change of returning left seg_id < right seg_id
...
because it is already tested before as beging equal in these cases
2014-06-19 21:46:50 +02:00
Adam Wulkiewicz
844616d8fa
Merge pull request #64 from awulkiew/fix/erase
...
Replace the explicit call to Range::erase()
2014-06-19 20:46:27 +02:00
Adam Wulkiewicz
a9babd113f
[overlay] Change the placement of const modifier (guidelines).
2014-06-19 20:45:56 +02:00
Barend Gehrels
24b503212e
[buffer] In case of the same contents, compare just seg_ids
...
to have a reliable order
2014-06-19 19:11:22 +02:00
Barend Gehrels
3261c52976
[buffer] Avoid warnings
2014-06-19 19:10:49 +02:00
Barend Gehrels
c5de26945b
[overlay] use uniform robust policy, this obsoletes zoom_to_robust
2014-06-19 19:10:28 +02:00
Adam Wulkiewicz
6a969b2b49
[overlay] Add missing copyright info.
2014-06-19 02:43:46 +02:00
Adam Wulkiewicz
43d0ef60f3
[range] Add erase() taking non-mutable iterators (in-line with C++11 std::vector) + tests.
2014-06-19 02:40:39 +02:00
Adam Wulkiewicz
a552a0de67
[overlay] Replace *begin(rng) with front(rng)
2014-06-19 01:11:53 +02:00
Adam Wulkiewicz
66c1acb9c5
Merge pull request #65 from mkaravel/feature/is_simple
...
[algorithms][is_valid] attempt to fix MSVC compilation errors
2014-06-19 01:01:48 +02:00
Menelaos Karavelas
0e18e8ec8c
[algorithms][is_valid] attempt to fix MSVC compilation errors
2014-06-18 23:16:13 +03:00
Adam Wulkiewicz
9f7828b7ec
[overlay][range] Replace the explicit call to Range::erase() with version using std::copy() and traits::resize<>
2014-06-18 19:42:44 +02:00
Barend Gehrels
ea222cd5b3
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-06-18 14:24:53 +02:00
Barend Gehrels
e4e948753b
[turns] remove is_discarded() function
2014-06-18 14:24:42 +02:00
Barend Gehrels
4415da952b
[buffer] For clusters (occuption), avoid using turns as starting point
...
This enables the "get_occupation" again, but skips the get_left_turns function
2014-06-18 14:18:43 +02:00
Barend Gehrels
fccd2c2b7f
[buffer][fix] add required parameter for visit policy
2014-06-18 14:13:57 +02:00
Barend Gehrels
2ba27734e4
[buffer] remove unused segment-map
2014-06-18 14:05:53 +02:00
Barend Gehrels
bbfe279782
[buffer] disable enlarged-cluster approach
...
temporary disabled with a define - if everything OK it will go completely
2014-06-18 14:04:24 +02:00
Barend Gehrels
84d240ee9d
[buffer][test] visit collection twice for mapping
2014-06-18 14:02:18 +02:00
Barend Gehrels
54c59c2665
[overlay] remove unused MSM approach
...
This drops the reported MSM dependancy
2014-06-18 14:01:11 +02:00
Menelaos Karavelas
52ab626f69
[algorithms][is_valid] in polygon validity algorithm, replace
...
the robustness policy used from no_rescale_policy to the
appropriate rescale_policy type
2014-06-18 14:27:13 +03:00
Menelaos Karavelas
dbbcf4c1ff
[algorithms][is_simple] implement the new directory/file structure
2014-06-18 14:04:50 +03:00
Menelaos Karavelas
89c5113bce
[algorithms][is_valid] implement the new directory/file structure
2014-06-18 14:00:05 +03:00
Menelaos Karavelas
092a8633e2
[algorithms][detail,is_valid] rename number_of_distinct_values to
...
num_distinct_consecutive_points and move it to namespace
boost::geometry::detail; also rename and move corresponding file
to boost/geometry/algorithms/detail;
2014-06-18 13:23:48 +03:00
Menelaos Karavelas
27ea2de6ab
[algorithms][is_valid] rename N to MaximumNumber
2014-06-18 13:10:58 +03:00
Menelaos Karavelas
ec63be14e2
[algorithms][is_valid] in number_of_distinct_values, make size const
2014-06-18 13:06:10 +03:00
Menelaos Karavelas
c94ecdbb4d
[algorithms][is_simple] add variant support
2014-06-18 12:54:09 +03:00
Menelaos Karavelas
b0a5adc503
[algorithms][is_valid] add variant support
2014-06-18 12:53:53 +03:00
Menelaos Karavelas
d92960154a
[algorithms][is_valid] make implementation of number_of_distinct_points
...
more generic: number_of_distinct_values for ranges that also takes an
additional template parameter to indicate how many distinct values
to search for
2014-06-18 04:36:20 +03:00
Menelaos Karavelas
6cecfeea9f
[algorithms][is_valid] move implementation of number_of_distinct_points
...
in separate file; re-design implementation of is_valid for linestrings;
2014-06-18 04:34:45 +03:00
Menelaos Karavelas
332eb42789
[algorithms][is_valid] remove trailing space
2014-06-18 03:47:02 +03:00
Barend Gehrels
56d163fe1e
[is_valid] fix unit test linkage problem with two/three_or_more
2014-06-16 19:04:05 +02:00
Menelaos Karavelas
b05dd041a6
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
2014-06-16 14:30:58 +03:00
Adam Wulkiewicz
76b13c42bc
[util][math] Add the conversion to double (C++11 approach) before passing the integral argument to std::sqrt()
2014-06-16 13:04:22 +02:00
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
2438af55b3
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
2014-06-16 12:20:38 +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
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
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