Commit Graph

3303 Commits

Author SHA1 Message Date
Barend Gehrels
a1bde8e927 Merge pull request #72 from mkaravel/fix/graham_andrew
[strategies][agnostic] fix bug in Graham-Andrew strategy:
2014-06-30 20:51:11 +02:00
Adam Wulkiewicz
9c974a11f1 Merge pull request #79 from mkaravel/feature/remove_points_front_back
Feature/remove points front back
2014-06-30 14:20:59 +02:00
Menelaos Karavelas
fcc5d26877 [test][iterators] remove tests for points_front and points_back 2014-06-30 12:18:45 +03:00
Menelaos Karavelas
5e94f07ec0 [iterators][point_iterator] remove free functions points_front and points_back 2014-06-30 12:18:03 +03:00
Barend Gehrels
b637012bf3 [test] add bigobj flag for union/buffer 2014-06-28 13:22:32 +02:00
Adam Wulkiewicz
471c267652 Merge pull request #76 from mkaravel/feature/doc
Fix documentation issues
2014-06-26 23:45:49 +02:00
Menelaos Karavelas
f9f1387efa [doc] add algorithms/detail/comparable_distance to the doxygen input
path
2014-06-26 22:40:21 +03:00
Menelaos Karavelas
fcebb52f0a [doc][index] doxygen 1.8.4 complains that SYMBOL_CACHE_SIZE is obsolete
and suggests to remove the entry
2014-06-26 22:38:44 +03:00
Barend Gehrels
7baf1a29e5 [buffer] We have to simplify the ring before to avoid very small-scaled
features in the original (convex/concave/convex) being enlarged
in a very large scale and causing issues (IP's within pieces).
This might be reconsidered later. Simplifying with a very small
distance will never be visible in the result,
if it is using round joins. For miter joins they are even more
sensitive to small scale input features, however the result will
look better.

A distance strategy can change behaviour (make larger - set simplify
distance to 0.0 to avoid simplification)

This fixes the parcel issue(s)
2014-06-25 13:32:42 +02:00
Barend Gehrels
7f3b509fb5 [buffer] use endcap strategy for spikes. Check jointype also (again)
for line-line intersection because it is based on buffered segments.
2014-06-24 22:48:04 +02:00
Barend Gehrels
9b6aa189bd [buffer] changes in includes/defines 2014-06-23 22:40:03 +02:00
Barend Gehrels
aa307b5ad2 [buffer] add join_selector and use it before generating the join.
This moves responsibility of generation to the calling code, removes it
from the join strategies. It also enables using the end-strategy for the
spikes
2014-06-23 22:39:29 +02:00
Barend Gehrels
d8a4d12c8e Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-23 19:34:51 +02:00
Adam Wulkiewicz
ee76e307d2 Merge pull request #74 from mkaravel/feature/is_simple
[algorithms][is_valid] remove commented variable names
2014-06-23 00:07:54 +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
Adam Wulkiewicz
5c69e55834 Merge pull request #67 from mkaravel/feature/is_simple
Feature/is simple
2014-06-22 22:32: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
b6ba959f7b [buffer][test] SVG enhancements 2014-06-22 19:50:06 +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
Adam Wulkiewicz
3b1c327922 [test] Replace automatic unit tests with minimal test framework included by geometry_test_common.hpp.
This should silence the msvc-8.0 errors - ambiguous enable_if/disable_if.
2014-06-22 17:57:30 +02:00
Barend Gehrels
b1bcc9c4dc [buffer] test - indentation, remove old comment 2014-06-22 16:11:58 +02:00
Barend Gehrels
2f6abfce3f [buffer] test: remove old code and instead add 3 parcels
which went wrong earlier or still have issues
2014-06-22 16:08:56 +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