Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
5373c32fc9 [doc][images] add PNG images for is_valid and is_simple documentation 2014-07-02 11:32:17 +03:00
Menelaos Karavelas
cc90fde7df [doc][examples][is_valid] add image; slightly modify the example geometry
(one of the interior rings was having CW orientation instead of CCW)
2014-07-02 11:30:55 +03:00
Menelaos Karavelas
1357c9cc35 [doc][examples][is_simple] add image 2014-07-02 11:30:35 +03:00
Menelaos Karavelas
46da1da916 [doc][examples] change the color used for drawing the geometry 2014-07-02 11:29:43 +03:00
Menelaos Karavelas
f2c8ccefca [test][is_valid] add as test case the polygon used in the documentation
example for is_valid
2014-07-02 11:28:40 +03:00
Adam Wulkiewicz
512b07e85d Merge pull request #80 from mkaravel/feature/is_simple
Feature/is simple
2014-07-02 01:41:14 +02:00
Menelaos Karavelas
bda78a8153 [algorithms][is_valid] fix bug in initialization of DFS data for
detecting cycles
2014-07-02 02:30:24 +03:00
Menelaos Karavelas
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)
2014-07-02 02:29:06 +03:00
Adam Wulkiewicz
e9178b6a80 Merge pull request #75 from mkaravel/feature/is_simple
Feature/is simple
2014-07-01 17:27:01 +02:00
Menelaos Karavelas
fc14209d5f [algorithms][is_valid] replace TurnPoint const& by TurnPoint const*
in complement graph vertex
2014-07-01 17:50:25 +03:00
Menelaos Karavelas
104aafd05d [algorithms][is_valid] make the complement graph vertex id an unsigned
integer (to avoid conversion warnings)
2014-07-01 09:57:55 +03:00
Menelaos Karavelas
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;
2014-07-01 00:05:02 +03:00
Barend Gehrels
d6af7438e2 Merge branch 'prepare' 2014-06-30 21:09:20 +02:00
Barend Gehrels
bc2edc4eea Merge branch 'develop' into prepare 2014-06-30 21:08:59 +02:00
Barend Gehrels
9fc3b36d25 Merge pull request #77 from mkaravel/feature/doc-strategies
Feature/doc strategies
2014-06-30 21:04:44 +02:00
Barend Gehrels
277db1d3ce Merge branch 'prepare' 2014-06-30 20:57:51 +02:00
Barend Gehrels
000979883d Merge branch 'develop' into prepare 2014-06-30 20:55:45 +02:00
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
Barend Gehrels
8965fad5f3 Merge branch 'prepare' 2014-06-30 20:14:57 +02:00
Barend Gehrels
0b2cc3a1ae Merge branch 'develop' into prepare 2014-06-30 19:31:26 +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
Menelaos Karavelas
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
2014-06-27 13:36:48 +03:00
Menelaos Karavelas
a156ba17dc [test][is_valid] add test cases for polygons and multi-polygons inspired by email
exchanges with Barend Gehrels
2014-06-27 13:02:39 +03:00
Menelaos Karavelas
1465ada4ba [doc][stratiegies][distance] add pythagoras point-box and box-box strategies 2014-06-27 03:37:00 +03:00
Menelaos Karavelas
9930615207 [strategies][distance] update doxygen documentation for pythagoras
point-box and box-box strategies
2014-06-27 03:35:31 +03:00
Menelaos Karavelas
57a97b19cb [doc][algorithms][examples] update copyright header 2014-06-27 02:42:13 +03:00
Menelaos Karavelas
ac17fdcbdc [algorithms][is_simple,is_valid] add doxygen documentation for is_simple and is_valid 2014-06-27 02:38:21 +03:00
Menelaos Karavelas
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;
2014-06-27 02:35:33 +03:00
Menelaos Karavelas
7ec752d5ea [geometry] add is_simple and is_valid algorithms in geometry.hpp 2014-06-27 02:28:17 +03:00
Menelaos Karavelas
274c64c5d8 [algorithms][is_simple] add missing include 2014-06-27 02:27:28 +03:00
Menelaos Karavelas
dcb5420935 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-27 01:23:18 +03: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
4ddbe46ec4 Merge branch 'feature/doc' into feature/is_simple 2014-06-26 23:05:27 +03:00
Menelaos Karavelas
6ad8760295 [doc] add documentation support for is_valid and is_simple 2014-06-26 22:56:29 +03:00
Menelaos Karavelas
f0f037df2b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-26 22:52:43 +03: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
Menelaos Karavelas
15773cbf93 [algorithms][is_valid] fix some wrong usages of std::size_t (should
have been int)
2014-06-25 09:34:53 +03:00
Menelaos Karavelas
bcaf4a374a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-25 01:54:15 +03: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
Menelaos Karavelas
9059f73d54 [algorithms][is_valid] remove USE_INTERRUPT_POLICY macro 2014-06-24 19:43:32 +03:00
Menelaos Karavelas
a9526bbbc5 [test][is_valid] add multi-polygon test cases where one polygon is inside
a hole of another
2014-06-24 14:47:53 +03:00
Menelaos Karavelas
ec2417f701 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-24 14:08:06 +03:00
Menelaos Karavelas
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;
2014-06-24 13:43:52 +03:00
Menelaos Karavelas
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.
2014-06-24 12:29:04 +03:00
Menelaos Karavelas
5a316f6c7e [algorithms][is_valid] include is_valid for multi-polygons (coming
from a separate file now)
2014-06-24 12:19:42 +03:00