Commit Graph

8536 Commits

Author SHA1 Message Date
Adam Wulkiewicz
22bd0ea747 [test][index] Change throwing nodes from polymorphic to variant-based. 2014-10-05 14:40:43 +02:00
Adam Wulkiewicz
5531315d98 [index] Move elements-access-related code to separate file, not mixing it with nodes definition. 2014-10-05 12:29:28 +02:00
Adam Wulkiewicz
0db47437f2 [index] Replace levels type size_t with size_types in R*-tree insert visitor. 2014-10-04 01:40:40 +02:00
Adam Wulkiewicz
3069084c15 [index] Replace levels type size_t with size_types in rtree insert visitor. 2014-10-04 01:29:04 +02:00
Adam Wulkiewicz
1f1f663a12 [index] Replace size_t with proper size_types in rtree remove visitor. 2014-10-04 00:59:06 +02:00
Adam Wulkiewicz
6b8aeabbdf [index] Cosmetic changes.
Remove unneeded typedefs in nodes.
Change the order of template parameters in bgidr::get(dynamic_node<>&)
2014-10-04 00:06:21 +02:00
Adam Wulkiewicz
fa7cd296d3 [index] Refactor count rtree visitor.
Remove specialization of count visitor for value_type, don't duplicate the same algorithm in 2 places.
Move Value/Indexable-aware parts into smaller helper struct and specialize it.
2014-10-02 23:40:53 +02:00
Adam Wulkiewicz
724f4d3792 [test][index] Add test for rtree::count() taking objects of type convertible to value_type. 2014-10-02 23:38:53 +02:00
Adam Wulkiewicz
a9ac57dc8f [index] Support objects of type convertible to value_type in rtree::count(). 2014-10-02 23:37:32 +02:00
Adam Wulkiewicz
9aed1a0e4e [doc] Update reference matrix - new type names in rtree functions. 2014-10-02 21:49:43 +02:00
Adam Wulkiewicz
d331bf262a [index] Tweak type, variable names and description of member and free rtree insert() and remove() functions. 2014-10-02 21:44:18 +02:00
Adam Wulkiewicz
345869b883 [test][index] Add tests for insertion of objects of type convertible to value_type. 2014-10-02 21:25:33 +02:00
Adam Wulkiewicz
d32066530c [index] Support objects of type convertible to value_type in insert() and remove().
In previous implementation such objects was falling into the overload taking Range.
2014-10-02 21:22:32 +02:00
Adam Wulkiewicz
ff98b648ee [index] Update copyrights info. 2014-10-02 21:22:11 +02:00
Adam Wulkiewicz
3abe3e0b79 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-10-02 20:08:19 +02:00
Adam Wulkiewicz
eabb17b7e4 [index] Replace uses of traits:xxx with geometry::xxx metafunctions. 2014-10-02 20:06:02 +02:00
Adam Wulkiewicz
b2dfd7f0c8 [index] Use default Dimension templ. params in content() and margin() algorithms.
Replace traits::dimension<> with geometry::dimension<>.
2014-10-02 19:57:20 +02:00
Adam Wulkiewicz
e6331558a5 Merge pull request #150 from mkaravel/fix/for_each-alternate
[algorithms][for_each] Alternative fix
2014-10-02 12:33:47 +02:00
Menelaos Karavelas
8481591e5c [test][algorithms][for_each] add test cases for open geometries (open
ring, open polygon, open multipolygon)
2014-10-02 12:52:56 +03:00
Adam Wulkiewicz
a17b534a06 [test][convex_hull] Update convex_hull tests.
Update multi_convex_hull test to reflect recently made changes for Point-like and Segment-like Output.

Remove the test for MultiPoint from convex_hull test since it's already tested in multi_convex_hull test.
2014-10-02 03:42:03 +02:00
Adam Wulkiewicz
091ddae7db [convex_hull] Generate "proper" number of Points also when invalid Output is generated.
E.g. for 1- or 2-Point MultiPoint input the Output is a 0-area Ring (Point-like or Segment-like respectively). After this change it should contain "proper" number of Points (3 for open, 4 for closed). The additional Point is added by duplication of the first one.
2014-10-01 22:11:52 +02:00
Adam Wulkiewicz
2368590f76 [test][convex_hull] Add test for MultiPoint for which convex_hull() should return invalid Polygon. 2014-10-01 21:53:19 +02:00
Adam Wulkiewicz
5c582c6aa5 [convex_hull] Generate consistent results for closed and open Geometries.
The result differ only for the last Point duplicated for closed.
This code should be faster than the original since any condition isn't checked inside a copying loop and the end iterators are created only once.
2014-10-01 21:48:38 +02:00
Adam Wulkiewicz
e14fd7d950 [test][convex_hull] Add tests for open output Geometries. 2014-10-01 18:32:21 +02:00
Adam Wulkiewicz
44f3408139 [convex_hull] Fix invalid number of Points generated for open OutputGeometry. 2014-10-01 18:31:31 +02:00
Adam Wulkiewicz
add58fec8c [iterators] Fix the description of closing_iterator<>. 2014-10-01 16:58:29 +02:00
Adam Wulkiewicz
39802e7923 [core] Add MPL_ASSERT for coordinate dimension > 0 2014-10-01 16:49:49 +02:00
Adam Wulkiewicz
1e968c3590 [index] Add default template parameters in the implementation of is_valid. Remove MPL assert 2014-10-01 16:28:15 +02:00
Barend Gehrels
881c68b206 Merge pull request #151 from mkaravel/fix/distance
[test][algorithms][distance] add test case between linestring and open multipolygon...
2014-10-01 11:07:57 +02:00
Barend Gehrels
bf7ca70687 Merge branch 'develop' into feature/buffer 2014-10-01 10:26:21 +02:00
Barend Gehrels
cfb66e85b3 [debug] extend operator<< of segment_ratio, now displaying the real value too 2014-10-01 10:24:21 +02:00
Barend Gehrels
5d93d7a116 [debug] fix operator<< of segment_identifier, now using os 2014-10-01 10:23:39 +02:00
Menelaos Karavelas
03d505061a [test][algorithms][distance] add test case between linestring and open multipolygon
where the distance is realized between the linestring and an implicit segment of the
multipolygon
2014-10-01 09:35:46 +03:00
Menelaos Karavelas
6e52b356e7 [algorithms][for_each] fix bug in for_each_segment for open geometries
without using the closeable_view (so that mutable geometries can also
be supported)
2014-10-01 09:26:46 +03:00
Adam Wulkiewicz
439f570d02 [test][iterators] Fix signed/unsigned comparison warnings in segment_iterator test. 2014-10-01 02:19:37 +02:00
Adam Wulkiewicz
e4e6dbc5e2 [test][iterators] Fix signed/unsigned comparison warnings in point_iterator test. 2014-10-01 02:19:20 +02:00
Adam Wulkiewicz
f1ec0715ee Merge pull request #147 from mkaravel/fix/for_each
[algorithms][for_each] fix bug with for_each_segment for open geometries
2014-09-30 17:53:51 +02:00
Adam Wulkiewicz
6902f0467f Merge pull request #148 from mkaravel/fix/distance
[test][algorithms][distance] add test case for open polygon and linestring
2014-09-30 17:46:03 +02:00
Adam Wulkiewicz
aa5e86edf5 Merge pull request #146 from mkaravel/fix/point_iterator
[algorithms][distance] qualify point_iterator by geometry namespace
2014-09-30 17:44:36 +02:00
Menelaos Karavelas
c81a75f1dd [test][algorithms][distance] add test case for open polygon and linestring
where the distance is materialized between the linestring and the last (implicit)
segment of the polygon
2014-09-30 17:12:50 +03:00
Menelaos Karavelas
ac32f9dd58 [algorithms][for_each] fix bug with for_each_segment for open geometries:
for_each_segment was not considering the last implicit segment of open
geometries; the patch fixes this;
2014-09-30 17:08:15 +03:00
Menelaos Karavelas
f3ee1dedcd [algorithms][distance] qualify point_iterator by geometry namespace
(needed because of the changes in the point_iterator class, namely
the introduction of the bg::detail::point_iterator namespace)
2014-09-30 17:04:34 +03:00
Adam Wulkiewicz
c1fe0b9dfb Merge pull request #144 from mkaravel/feature/point_iterator
Point iterator (change of file/dir layout and implementation design)
2014-09-30 14:13:52 +02:00
Menelaos Karavelas
fb35d9db7a [iterators][segment_iterator] update segment_iterator implementation
following the changes in the point_iterator implementation design
and file/directory layout
2014-09-30 15:04:10 +03:00
Menelaos Karavelas
60f184e3ce [iterators][point_iterator] change file/directory structure for
point iterator; use detail::point_iterator namespace for the
implementation details of the point iterator;
2014-09-30 15:02:20 +03:00
Menelaos Karavelas
b9c496a1d8 [iterators][point_reverse_iterator] mark methods and constructors as inline 2014-09-30 15:00:42 +03:00
Adam Wulkiewicz
f76671507a Merge pull request #141 from mkaravel/feature/segment_iterator
Feature/segment iterator
2014-09-30 12:45:57 +02:00
Menelaos Karavelas
9d75411a90 [test][iterators][segment_iterator] change the return type of segments_begin
and segments_end to be segment_iterator<Geometry const>
2014-09-30 09:53:09 +03:00
Menelaos Karavelas
10ce79898a [iterators][segment_iterator] update implementation of segment_iterator
due to the change of namespace and name of the segment_iterator_type class;
make constructors of bg::segment_iterator class inline; change the return type
of segments_begin and segments_end to be segment_iterator<Geometry const>;
2014-09-30 09:50:47 +03:00
Menelaos Karavelas
404ca1cbe6 [iterators][segment_iterator] move implementation of bg::segment_iterator_type
to bg::detail::segment_iterator namespace; rename the class segment_iterator_type
to iterator_type;
2014-09-30 09:49:26 +03:00