Commit Graph

2118 Commits

Author SHA1 Message Date
Barend Gehrels
d8a4d12c8e Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-23 19:34:51 +02:00
Menelaos Karavelas
eb9fb19816 [algorithms][is_valid] remove commented variable names 2014-06-22 23:56:53 +03:00
Adam Wulkiewicz
edff6503c4 [is_valid] Prefix GEOMETRY_TEST_DEBUG macro with BOOST_ 2014-06-22 22:45:03 +02:00
Adam Wulkiewicz
3deeeecc25 [is_valid] Fix unused variable warnings. 2014-06-22 22:41:42 +02:00
Menelaos Karavelas
a58ee873dc [algorithms][is_valid] print multi-index as well 2014-06-22 23:22:03 +03:00
Menelaos Karavelas
e7e7f958fb Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
Conflicts:
	include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp
	include/boost/geometry/algorithms/detail/is_valid/polygon.hpp
2014-06-22 23:09:47 +03:00
Barend Gehrels
86a2adef88 [buffer] pass points instead of segments to line_line_intersection 2014-06-22 22:01:43 +02:00
Barend Gehrels
51121c1e35 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-22 21:07:36 +02:00
Barend Gehrels
4ac5267e69 [buffer] use robust policy to check equality 2014-06-22 21:06:50 +02:00
Barend Gehrels
a057d23a24 [buffer] use passed first 2014-06-22 20:49:26 +02:00
Barend Gehrels
80b0ae169c [buffer] pass robust policy through the buffer_inserter structs 2014-06-22 20:42:10 +02:00
Barend Gehrels
a6cfda7c41 [buffer] Refactor duplicate functionality into one function 2014-06-22 20:30:16 +02:00
Barend Gehrels
5c3f1f2006 [buffer] fix limit which was too low for LatLong coordinates. Also fix in test
for tolerance which was too high. Added unit test
2014-06-22 19:54:13 +02:00
Barend Gehrels
ddf4acf351 [buffer] skip the type-check for adjacent pieces and side-pieces,
because now sides around a concave vertex have a piece in between
2014-06-22 18:49:34 +02:00
Barend Gehrels
8e74d052ea [buffer] rename variables 2014-06-22 16:05:20 +02:00
Adam Wulkiewicz
92b236fda6 [range] Calculate the iterator distance in erase() only when necessary. 2014-06-22 15:42:51 +02:00
Adam Wulkiewicz
17f08e3ac4 Merge pull request #66 from mkaravel/feature/debug_macro
Feature/debug macro
2014-06-22 15:29:16 +02:00
Adam Wulkiewicz
19a8455f54 Merge pull request #71 from mkaravel/fix/unused_include
[algorithms][overlay] remove usused include
2014-06-22 15:27:50 +02:00
Adam Wulkiewicz
5da7133f9f Merge pull request #73 from awulkiew/feature/range
[range] Optimize range::erase() in C++11
2014-06-22 15:27:08 +02:00
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
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
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
Menelaos Karavelas
5a71e83bd5 [algorithms][is_valid] remove all explicit usages of debug macro;
clean-up/polish debug-related code;
2014-06-20 13:41:00 +03:00
Menelaos Karavelas
36def7632c [algorithms][is_valid] move complement graph debug-related printing
code to separate function
2014-06-20 13:39:57 +03:00
Menelaos Karavelas
357a818cea [algorithms][is_valid] helper class for debugging the various phases
of the validity algorithms; currently implemented only for polygons;
2014-06-20 13:38:39 +03:00
Menelaos Karavelas
ab67385c68 [algorithms][is_valid] move debugging-related printing of turns in
is_valid/debug_print_turns.hpp
2014-06-20 13:37:28 +03:00
Menelaos Karavelas
1a0e2519da [algorithms][is_simple] update debugging-related includes 2014-06-20 13:36:48 +03:00
Menelaos Karavelas
100af837ec [algorithms][is_simple] rename debug_linear.hpp to debug_print_boundary_points.hpp;
remove code related to printing turns (to be put in another file);
2014-06-20 13:35:57 +03:00
Menelaos Karavelas
75f254efc3 [algorithms][overlay] remove usused include (which also creates a
dependence with <iostream>)
2014-06-20 12:32:19 +03:00
Menelaos Karavelas
2eea41b82e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-20 12:30:18 +03: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
Menelaos Karavelas
b58dfe57c8 [algorithms][turns] guard include with the BOOST_GEOMETRY_DEBUG_TURN
macro; polish code a bit
2014-06-19 22:15:26 +03: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
Menelaos Karavelas
faab25232f [algorithms][detail] make sure we are not going to get an unused
variable warning (on MSVC)
2014-06-19 17:07:37 +03:00
Menelaos Karavelas
46ae61138a [algorithms][detail] polish comment phrasing 2014-06-19 16:42:02 +03:00
Menelaos Karavelas
67397491fc [algorithms][is_valid] make the policy passed to self turns for polygons
a stateless policy
2014-06-19 16:36:07 +03:00
Menelaos Karavelas
4052cc85f9 [algorithms][is_simple] multi-linestring simplicity check:
pass an appropriate predicate based interrupt policy to self turns,
so that when an unacceptable turn is found, self turn stops and returns
2014-06-19 16:33:56 +03:00
Menelaos Karavelas
62dc84e14f [policies] rename predicate_based_interrupt_policy to
stateless_predicate_based_interrupt_policy; added a new version
of predicate_based_interrupt_policy that takes a predicate object
(possibly with state) at construction;
2014-06-19 16:31:37 +03:00
Menelaos Karavelas
d67bad5925 [algorithms][detail] add version that takes as argument a predicate object
(possibly with state)
2014-06-19 16:30:39 +03:00
Menelaos Karavelas
70d22970e2 [algorithms][is_valid] optimize call to self turns:
replace the no_interrupt_policy used in self turns by a custom
interrupt policy that stops when a non-acceptable turn is found
2014-06-19 14:56:30 +03:00
Menelaos Karavelas
50c3185417 [policies] add a predicate-based interrupt policy: the policy
is passed a predicate (that has a static apply method) and reports
that intersections exist if at least one of the turns in the checked
range is not acceptable according to the predicate
2014-06-19 14:53:24 +03:00
Menelaos Karavelas
59099bf721 [algorithms][detail,is_simple,is_valid] change the valud of the
AllowEmptyRange template parameter of check_iterator_range from
false to true
2014-06-19 14:03:49 +03:00