Commit Graph

3365 Commits

Author SHA1 Message Date
Menelaos Karavelas
77e4f4b472 [strategies][comparable distance (result)] implement variant-aware
comparable distance result
2014-07-08 12:39:36 +03:00
Menelaos Karavelas
325dbe203b [strategies][distance (result)] polish code a bit;
eliminate result_of namespaces; replace result_of::distance by
distance_result; add support for comparable distances (i.e., add
specializations for default_comparable_strategy);
qualify occurences of variant with boost:: ;
fix bug: when resolving strategies, pass actual geometries instead
of their point types (important in order to return the actual/correct
strategy return type);
2014-07-08 12:34:56 +03:00
Menelaos Karavelas
6681aefa22 [algorithms][comparable distance] make comparable distance algorithm
variant-aware
2014-07-08 12:32:00 +03:00
Menelaos Karavelas
3d17b42a12 [algorithms][distance] eliminate result_of namespaces; replace
result_of::distance by distance_result;
2014-07-08 12:26:29 +03:00
Menelaos Karavelas
2a16d6a554 [strategies][distance] replace variant.hpp include by variant_fwd.hpp 2014-07-03 01:12:10 +03:00
Menelaos Karavelas
730213814c [strategies][distance] simplify implementation of distance_result 2014-07-03 00:51:20 +03:00
Menelaos Karavelas
8f4de21822 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/distance 2014-07-02 23:44:23 +03:00
Menelaos Karavelas
55a7922e1a [algorithms][distance] polish includes; move code in resolve_strategy::result_of
and resolve_variant::result_of namespaces to strategies/distance_result.hpp;
change return type for the distance free function to distance_result<...>::type
or default_distance_result<...>::type (depending on whether a strategy is
passed or not, respectively)
2014-07-02 23:32:22 +03:00
Menelaos Karavelas
efd21367ab [algorithms][comparable distance] change the return type of
comparable_distance to comparable_distance_result<...>::type
2014-07-02 23:30:20 +03:00
Menelaos Karavelas
baf0be47da [strategies][comparable distance] re-implement default_comparable_distance_result
using comparable_distance_result
2014-07-02 23:29:04 +03:00
Menelaos Karavelas
8e22379623 [strategies][distance] re-implement default_distance_result using
distance_result
2014-07-02 23:28:34 +03:00
Menelaos Karavelas
f7cfb6a259 [strategies][comparable distance] implement the class
comparable_distance_result
2014-07-02 23:28:03 +03:00
Menelaos Karavelas
86c96deaaf [strategies][distance] implement the class distance_result 2014-07-02 23:26:56 +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
Adam Wulkiewicz
0081d080f5 Merge pull request #82 from mkaravel/feature/distance
[doc][algorithms] add documentation for the comparable_distance free function that takes a strategy
2014-07-02 11:48:26 +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
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
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
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