Adam Wulkiewicz
ba0906369e
[range] Add support for invalidating resize() and workarounds for MSVC and MinGW.
...
Using of the iterator returned by erase() caused assertion failures (false positive) on MSVC with iterator debugging enabled.
MSVC std::vector can't store non-movable objects if rvalue references are supported.
MinGW std::vector can't store pointers.
2014-06-22 15:17:49 +02:00
Adam Wulkiewicz
81ea76fdb9
[range] Remove unneeded code and comments
2014-06-22 13:33:19 +02:00
Adam Wulkiewicz
cd2e17b102
[range] Optimize erase() in C++11 - use std::move() instead of std::copy() if possible.
2014-06-21 22:08:51 +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