5373c32fc9[doc][images] add PNG images for is_valid and is_simple documentation
Menelaos Karavelas
2014-07-02 11:32:17 +0300
cc90fde7df[doc][examples][is_valid] add image; slightly modify the example geometry (one of the interior rings was having CW orientation instead of CCW)
Menelaos Karavelas
2014-07-02 11:30:55 +0300
46da1da916[doc][examples] change the color used for drawing the geometry
Menelaos Karavelas
2014-07-02 11:29:43 +0300
f2c8ccefca[test][is_valid] add as test case the polygon used in the documentation example for is_valid
Menelaos Karavelas
2014-07-02 11:28:40 +0300
512b07e85dMerge pull request #80 from mkaravel/feature/is_simple
Adam Wulkiewicz
2014-07-02 01:41:14 +0200
bda78a8153[algorithms][is_valid] fix bug in initialization of DFS data for detecting cycles
Menelaos Karavelas
2014-07-02 02:30:24 +0300
6490d2db4a[test][is_valid] add one more test case: add a polygon with many holes (important note here: many means more than the number of turns)
Menelaos Karavelas
2014-07-02 02:29:06 +0300
e9178b6a80Merge pull request #75 from mkaravel/feature/is_simple
Adam Wulkiewicz
2014-07-01 17:27:01 +0200
fc14209d5f[algorithms][is_valid] replace TurnPoint const& by TurnPoint const* in complement graph vertex
Menelaos Karavelas
2014-07-01 17:50:25 +0300
104aafd05d[algorithms][is_valid] make the complement graph vertex id an unsigned integer (to avoid conversion warnings)
Menelaos Karavelas
2014-07-01 09:57:55 +0300
df3da8aa66[algorithms][is_valid] re-design the complement graph: store neighbors in the graph instead of at each vertex; store DFS data for detecting cycles outside the vertices;
Menelaos Karavelas
2014-07-01 00:05:02 +0300
b637012bf3[test] add bigobj flag for union/buffer
Barend Gehrels
2014-06-28 13:22:32 +0200
31361135dc[algorithms][is_valid] re-structure and polish code a bit; check relative containment of rings only for rings that are not associated with turns
Menelaos Karavelas
2014-06-27 13:36:48 +0300
a156ba17dc[test][is_valid] add test cases for polygons and multi-polygons inspired by email exchanges with Barend Gehrels
Menelaos Karavelas
2014-06-27 13:02:39 +0300
ac17fdcbdc[algorithms][is_simple,is_valid] add doxygen documentation for is_simple and is_valid
Menelaos Karavelas
2014-06-27 02:37:13 +0300
ff8d26e3e9[doc][is_simple, is_valid] add doxygen and qbk support for documentation of is_simple and is_valid; add qbk doc for is_simple and is_valid; add example for is_simple and is_valid;
Menelaos Karavelas
2014-06-27 02:35:33 +0300
7ec752d5ea[geometry] add is_simple and is_valid algorithms in geometry.hpp
Menelaos Karavelas
2014-06-27 02:28:17 +0300
274c64c5d8[algorithms][is_simple] add missing include
Menelaos Karavelas
2014-06-27 02:27:28 +0300
f9f1387efa[doc] add algorithms/detail/comparable_distance to the doxygen input path
Menelaos Karavelas
2014-06-26 22:40:21 +0300
fcebb52f0a[doc][index] doxygen 1.8.4 complains that SYMBOL_CACHE_SIZE is obsolete and suggests to remove the entry
Menelaos Karavelas
2014-06-26 22:38:44 +0300
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.
Barend Gehrels
2014-06-25 13:32:42 +0200
15773cbf93[algorithms][is_valid] fix some wrong usages of std::size_t (should have been int)
Menelaos Karavelas
2014-06-25 09:34:53 +0300
7f3b509fb5[buffer] use endcap strategy for spikes. Check jointype also (again) for line-line intersection because it is based on buffered segments.
Barend Gehrels
2014-06-24 22:48:04 +0200
346784d5e5[test][is_valid] move validity check functions/classes and related code to file test_is_valid.hpp; make testing more elaborate: for rings, convert them to polygons and multi-polygons and test them as such; for polygons, convert them to multi-polygons and test them as such;
Menelaos Karavelas
2014-06-24 13:43:52 +0300
e3d0b1e6e4[algorithm][is_valid] Re-design complement graph implementation: * complement graph is now templated by turn points rather than vertices * vertices get the vertex_handle type from the graph now * simplify DFS algorithm to use only parent vertex id instead of parent vertex (only the parent id is really needed) The last change also solves incomplete type compilation errors on darwin/linux clang++, when -stdlib=libc++ is set.
Menelaos Karavelas
2014-06-24 12:29:04 +0300
5a316f6c7e[algorithms][is_valid] include is_valid for multi-polygons (coming from a separate file now)
Menelaos Karavelas
2014-06-24 12:19:42 +0300
69594408ad[algorithms][is_valid] move multi-polygon implementation to separate file
Menelaos Karavelas
2014-06-24 12:19:04 +0300
59ffebd794[algorithms][is_valid] re-structure polygon's is_valid algorithm (for readability and possible usage by is_valid for multi-polygons); move code to sepatate files (to be used for multi-polygons as well); move multi-polygon implementation to separate file;
Menelaos Karavelas
2014-06-24 12:17:28 +0300
e25fb28d71[algorithms][is_valid] implement predicate class that determines whether a polygon or multi-polygon turn is acceptable (code partially moved from algorithms/detail/is_valid/polygon.hpp)
Menelaos Karavelas
2014-06-24 12:15:38 +0300
b3932db092[algorithms][is_valid] factor-out in a separate file self turns computation code (used by polygons and multi-polygons)
Menelaos Karavelas
2014-06-24 12:13:47 +0300
9b6aa189bd[buffer] changes in includes/defines
Barend Gehrels
2014-06-23 22:40:03 +0200
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
Barend Gehrels
2014-06-23 22:39:29 +0200
d8a4d12c8eMerge branch 'develop' of github.com:boostorg/geometry into develop
Barend Gehrels
2014-06-23 19:34:51 +0200
91df67e3ce[test][is_valid] add more tests cases for polygon and multi-polygons
Menelaos Karavelas
2014-06-23 15:44:23 +0300
ee76e307d2Merge pull request #74 from mkaravel/feature/is_simple
Adam Wulkiewicz
2014-06-23 00:07:54 +0200
86a2adef88[buffer] pass points instead of segments to line_line_intersection
Barend Gehrels
2014-06-22 22:01:43 +0200
51121c1e35Merge branch 'develop' of github.com:boostorg/geometry into develop
Barend Gehrels
2014-06-22 21:07:36 +0200
4ac5267e69[buffer] use robust policy to check equality
Barend Gehrels
2014-06-22 21:06:50 +0200
a057d23a24[buffer] use passed first
Barend Gehrels
2014-06-22 20:49:26 +0200
80b0ae169c[buffer] pass robust policy through the buffer_inserter structs
Barend Gehrels
2014-06-22 20:42:10 +0200
a6cfda7c41[buffer] Refactor duplicate functionality into one function
Barend Gehrels
2014-06-22 20:30:16 +0200
5c3f1f2006[buffer] fix limit which was too low for LatLong coordinates. Also fix in test for tolerance which was too high. Added unit test
Barend Gehrels
2014-06-22 19:54:13 +0200
ddf4acf351[buffer] skip the type-check for adjacent pieces and side-pieces, because now sides around a concave vertex have a piece in between
Barend Gehrels
2014-06-22 18:49:34 +0200
3b1c327922[test] Replace automatic unit tests with minimal test framework included by geometry_test_common.hpp.
Adam Wulkiewicz
2014-06-22 17:57:30 +0200
b1bcc9c4dc[buffer] test - indentation, remove old comment
Barend Gehrels
2014-06-22 16:11:58 +0200
2f6abfce3f[buffer] test: remove old code and instead add 3 parcels which went wrong earlier or still have issues
Barend Gehrels
2014-06-22 16:08:56 +0200
92b236fda6[range] Calculate the iterator distance in erase() only when necessary.
Adam Wulkiewicz
2014-06-22 15:42:51 +0200
17f08e3ac4Merge pull request #66 from mkaravel/feature/debug_macro
Adam Wulkiewicz
2014-06-22 15:29:16 +0200
19a8455f54Merge pull request #71 from mkaravel/fix/unused_include
Adam Wulkiewicz
2014-06-22 15:27:50 +0200
5da7133f9fMerge pull request #73 from awulkiew/feature/range
Adam Wulkiewicz
2014-06-22 15:27:08 +0200
ba0906369e[range] Add support for invalidating resize() and workarounds for MSVC and MinGW.
Adam Wulkiewicz
2014-06-22 15:17:49 +0200
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.
Barend Gehrels
2014-06-22 15:12:40 +0200
81ea76fdb9[range] Remove unneeded code and comments
Adam Wulkiewicz
2014-06-22 13:33:19 +0200
cd2e17b102[range] Optimize erase() in C++11 - use std::move() instead of std::copy() if possible.
Adam Wulkiewicz
2014-06-21 22:08:51 +0200
a0a296877f[range] Fix the return type of range::erase() and add tests.
Adam Wulkiewicz
2014-06-21 18:18:25 +0200
4ae8804b1d[buffer] make constants const
Barend Gehrels
2014-06-20 22:35:20 +0200
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)
Barend Gehrels
2014-06-20 22:34:40 +0200
5a71e83bd5[algorithms][is_valid] remove all explicit usages of debug macro; clean-up/polish debug-related code;
Menelaos Karavelas
2014-06-20 13:41:00 +0300
36def7632c[algorithms][is_valid] move complement graph debug-related printing code to separate function
Menelaos Karavelas
2014-06-20 13:39:57 +0300
357a818cea[algorithms][is_valid] helper class for debugging the various phases of the validity algorithms; currently implemented only for polygons;
Menelaos Karavelas
2014-06-20 13:38:39 +0300
ab67385c68[algorithms][is_valid] move debugging-related printing of turns in is_valid/debug_print_turns.hpp
Menelaos Karavelas
2014-06-20 13:37:28 +0300
1a0e2519da[algorithms][is_simple] update debugging-related includes
Menelaos Karavelas
2014-06-20 13:36:48 +0300
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);
Menelaos Karavelas
2014-06-20 13:35:57 +0300
1d3f6b039eMerge pull request #69 from awulkiew/fix/unused
Adam Wulkiewicz
2014-06-20 11:35:38 +0200
75f254efc3[algorithms][overlay] remove usused include (which also creates a dependence with <iostream>)
Menelaos Karavelas
2014-06-20 12:32:19 +0300
c3d401164a[strategies][agnostic] fix bug in Graham-Andrew strategy: last is used again after two calls to pop_back() which can invalidate the reference; patch: make last a true point rather than a reference bug reported/patch suggested by David Zhao
Menelaos Karavelas
2014-06-20 12:17:44 +0300
05891db57a[test][buffer] Remove unused typedefs.
Adam Wulkiewicz
2014-06-20 00:00:55 +0200