Commit Graph

2177 Commits

Author SHA1 Message Date
Adam Wulkiewicz
b9fecf0887 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-07-10 16:41:50 +02:00
Adam Wulkiewicz
02cfd55510 [centroid][doc] Add description for centroid_exception member functions. 2014-07-10 16:40:45 +02:00
Adam Wulkiewicz
2912e1b199 [strategies] Add more robust check in projected_point_ax_less 2014-07-09 17:30:38 +02:00
Adam Wulkiewicz
a6ed7d86ea Merge branch 'develop' into feature/projected_point 2014-07-09 13:59:23 +02:00
Adam Wulkiewicz
8c20242948 [strategies] Modify handling of 0-length segments in projected_point_ax.
For 0-length segments assume that the segment is perpendicular to the Pt->ProjPt vector.
In other words ATD = 0.
2014-07-09 13:37:29 +02:00
Adam Wulkiewicz
c55cee5dd3 [strategies] Fix projected_point_ax+douglass_peucker compilation errors.
Add again operator< for projected_point_ax_result needed to compare the distance with 0 (explicitly converted into the same type).
Remove template parameter from projected_point_ax_less::operator().
Add tests for simplify() and detail::simplify_insert().
2014-07-09 12:58:02 +02:00
Barend Gehrels
64f0380591 [buffer] move simplify call to separate function to apply using ax-strategy 2014-07-09 12:26:32 +02:00
Barend Gehrels
0315125492 [simplify] fix double, replaced by template parameter 2014-07-09 11:21:40 +02:00
Adam Wulkiewicz
e49434ec6c [strategies] Add less-comparator for projected_point_ax result in detail::douglas_peucker 2014-07-08 21:16:18 +02:00
Adam Wulkiewicz
282a2536a3 [strategies] Add douglas_peucker version taking LessCompare 2014-07-08 20:52:11 +02:00
Adam Wulkiewicz
f20303af2f [buffer][test] Fix bugs in get_left_turns and some in the robustness test 2014-07-08 02:57:29 +02:00
Adam Wulkiewicz
869cff7004 [is_simple][is_valid] Remove non-ASCII characters 2014-07-08 02:01:46 +02:00
Adam Wulkiewicz
78ac419c2a [extensions][gis] Replace assert with BOOST_ASSERT 2014-07-08 01:49:30 +02:00
Barend Gehrels
b6b49f5308 [buffer] fix check of buffer_flat_end for inside 2014-07-06 20:22:04 +02:00
Adam Wulkiewicz
0b677ae1aa [strategies] projected_point_ax strategy relocated to separate file 2014-07-05 19:57:41 +02:00
Adam Wulkiewicz
0170ebe9ca [strategies] Remove inconsistent (and for now not needed) operators in projected_point_ax_result 2014-07-04 19:04:04 +02:00
Adam Wulkiewicz
3855610e05 Add projected_point_ax cartesian distance strategy. 2014-07-04 17:14:15 +02:00
Barend Gehrels
da1323716a [buffer] Pass side strategy 2014-07-03 19:59:28 +02:00
Adam Wulkiewicz
4c2e23611e Merge pull request #87 from mkaravel/feature/is_simple
[algorithms][is_valid] declare debug_complement_graph as inline
2014-07-03 14:54:38 +02:00
Menelaos Karavelas
be9a9ea8f5 [algorithms][is_valid] declare debug_complement_graph as inline
(should fix clang-darwin-{asan,asan11,tot,tot11} errors in
develop regression matrix)
2014-07-03 13:03:17 +03:00
Menelaos Karavelas
79b4dd94d4 [util][compress variant] fix a typo in the comments 2014-07-03 00:34:27 +03:00
Barend Gehrels
7727ce921e Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-07-02 14:21:12 +02:00
Barend Gehrels
5a008767ae [buffer] restructure buffer_range such that tag is not necessary
and behaviour per geometry-type is done in the dispatch itself.
This also avoids generating side on perpendicular side for linestrings once
(the second one cannot easily be avoided in the current structure)
2014-07-02 14:20:02 +02:00
Barend Gehrels
c9880fbdff [buffer] use range instead of two points as output for buffer_side strategy 2014-07-02 13:04:16 +02:00
Barend Gehrels
c94d6d469d [buffer] use strategy buffer_side instead of generate_side 2014-07-02 12:45:57 +02:00
Barend Gehrels
f933be730d [buffer] move buffer_side to strategies 2014-07-02 12:33:04 +02:00
Barend Gehrels
01151cacf5 [buffer] copy inserter to buffer_side 2014-07-02 12:29:34 +02:00
Adam Wulkiewicz
6e673af06f Merge pull request #81 from mkaravel/feature/is_simple
Feature/is simple
2014-07-02 11:50:58 +02:00
Menelaos Karavelas
a87c68b62f [algorithms][is_valid] remove obsolete comment 2014-07-02 11:53:49 +03:00
Menelaos Karavelas
a1710c2bd3 [doc][algorithms] add documentation for the comparable_distance free
function that takes a strategy
2014-07-02 11:50:04 +03: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
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
9fc3b36d25 Merge pull request #77 from mkaravel/feature/doc-strategies
Feature/doc strategies
2014-06-30 21:04:44 +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
Menelaos Karavelas
5e94f07ec0 [iterators][point_iterator] remove free functions points_front and points_back 2014-06-30 12:18:03 +03: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
9930615207 [strategies][distance] update doxygen documentation for pythagoras
point-box and box-box strategies
2014-06-27 03:35:31 +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
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
f0f037df2b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-26 22:52:43 +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
ec2417f701 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-24 14:08:06 +03:00