Commit Graph

5426 Commits

Author SHA1 Message Date
Adam Wulkiewicz
620e02f4b6 Check all subgeometry types in DG and GC concept checks. 2021-06-02 22:29:39 +02:00
Adam Wulkiewicz
fd32e7b88e Replace typedef with using in trait specializations for DGs and GC.
Add missing curly braces.
Remove unneeded comments.
2021-06-02 14:07:43 +02:00
Adam Wulkiewicz
4c84757d68 Merge branch 'develop' into feature/gc 2021-06-02 13:54:10 +02:00
Adam Wulkiewicz
8e3785ed67 Merge pull request #855 from awulkiew/feature/strategies_improvements
Umbrella strategies improvements
2021-06-02 13:40:15 +02:00
Adam Wulkiewicz
3f0087a861 [length] Add TODO comment. 2021-06-02 13:39:12 +02:00
Barend Gehrels
798726a542 [overlay] fix cluster order 2021-06-02 11:46:31 +02:00
Adam Wulkiewicz
e966bdd370 [length] Add support for DynamicGeometry and GeometryCollection in length(). 2021-06-02 01:30:18 +02:00
Adam Wulkiewicz
7adb72e81a Support Boost.Variant with disabled variadic templates regardless of the compiler.
Variadic templates can be disabled in Boost.Variant by defining
BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES.

Also support DG and GC in:
- comparable_distance_result
- default_length_result
- distance_result
2021-06-01 15:22:47 +02:00
Adam Wulkiewicz
ef89b4cf55 [concepts] Implement DynamicGeometry and GeometryCollection concepts.
Add concepts::concept_type<> utility for generic concept definitions.

Replace tag dispatching in concepts::check() with
concepts::concept_type<>.
2021-05-30 17:11:57 +02:00
Adam Wulkiewicz
a8db9241f2 [io] Bring back support of proxy interior rings (e.g. Boost.Polygon) in wkt read. 2021-05-30 01:25:23 +02:00
Adam Wulkiewicz
9849f23b5c Add DynamicGeometry adaptation for std::any. 2021-05-29 23:09:12 +02:00
Adam Wulkiewicz
6e71295d64 Add DynamicGeometry adaptation for std::variant. 2021-05-28 18:36:39 +02:00
Adam Wulkiewicz
d690364aa0 Reenable 2-argument visit specializations (disabled for test purposes). 2021-05-28 18:35:08 +02:00
Adam Wulkiewicz
251f7d15e0 Move algorithms/visit.hpp to algorithms/detail/visit.hpp 2021-05-28 17:30:26 +02:00
Adam Wulkiewicz
c7ae87d15c Merge branch 'develop' into feature/gc 2021-05-28 17:09:11 +02:00
Adam Wulkiewicz
d523cb9989 Minor changes related to DG and GC support.
Remove unneeded comments.
Replace typedef with using.
Change names and formatting.
2021-05-28 17:07:57 +02:00
Adam Wulkiewicz
667471e5ed Improve visit traits and algorithms.
Add support for rvalue references in visit traits and algorithms.
Move visit algorithms to detail namespace.
Rename visit_iterator trait to iter_visit.
Add tests for visit traits and algorithms.
Remove unneeded comments.
2021-05-28 01:48:26 +02:00
Vissarion Fisikopoulos
5702548348 Add missing cases for geographic segment-box disjoint (#853) 2021-05-26 10:49:06 +03:00
Adam Wulkiewicz
b90a3116a5 [algorithms] Include default strategies with corresponding algorithms. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
dda2898215 [is_convex] Add support for Polygons. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
e06f6e6cdf [is_convex] Add support for umbrella strategies. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
94353d9f15 [strategies] Remove strategy getters from legacy strategies. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
ec3b3b5de2 [strategies] Remove SeriesOrder from umbrella strategies and improve the implementation.
Use custom versions of enable_if for distance() getters.
Use default keyword in default ctors.
Remove unneeded strategy_converter specialization.
2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
c6c8ab8c9c [is_simple][is_valid] Pass umbrella strategy into equals_point_point. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
b858969108 Merge pull request #840 from awulkiew/feature/strategies_rest
Umbrella strategies for various algorithms.
2021-05-21 16:55:45 +02:00
Adam Wulkiewicz
a5c8258d56 [io] Add support for GeometryCollection in WKT read and write. 2021-05-21 02:00:45 +02:00
Adam Wulkiewicz
a1ccbcdea7 [io][util] Add support for DynamicGeometry in read_wkt()
Replace variant support in wkt write.
Add util::sequence_find_if.
2021-05-20 00:42:04 +02:00
Barend Gehrels
10142a6703 [turns] have all discarding of start_turns in one place and clean up clusters before assigning 2021-05-19 09:27:44 +02:00
Barend Gehrels
1a3f425583 [geographic] avoid compiler warnings 2021-05-19 09:16:56 +02:00
Barend Gehrels
0b36bbe550 [turns] avoid compiler warning, issue #834 2021-05-19 09:16:56 +02:00
Adam Wulkiewicz
52c2723ef3 [algorithms] Reimplement variant support using DynamicGeometry concept in several algorithms.
Also add basic support for GeometryCollection.
2021-05-19 01:11:43 +02:00
Adam Wulkiewicz
61d25a34a6 Add DynamicGeometry and GeometryCollection. 2021-05-17 23:28:27 +02:00
Adam Wulkiewicz
50d1bfedc9 Support rvalue refs in range utils and use it. 2021-05-15 13:21:27 +02:00
Barend Gehrels
75d8f9e9b9 [intersection] fix intersection points outside of the segments 2021-04-28 10:31:21 +02:00
Barend Gehrels
eee7fc53ea [clusters] detection is refactored to a simpler sweeping algorithm
This fixes a part (around 30%) of the remaining errors in the recursive buffer check
2021-04-07 11:13:20 +02:00
Adam Wulkiewicz
3ee94d2035 [buffer][simplify] Add missing includes. Remove unused typedefs. 2021-04-02 21:58:53 +02:00
Adam Wulkiewicz
9872e201d2 [line_interpolate] Use strtegy return type to store distances. 2021-04-02 21:00:42 +02:00
Adam Wulkiewicz
8a80effc0d [line_interpolate] Add support for umbrella strategies. 2021-04-02 03:17:57 +02:00
Adam Wulkiewicz
2828e230f2 [algorithms] Use dummy geometries to get strategies. 2021-04-01 18:22:22 +02:00
Adam Wulkiewicz
a87f924304 Merge branch 'develop' into feature/strategies_rest 2021-04-01 03:14:52 +02:00
Adam Wulkiewicz
29a6a9ff47 Merge pull request #812 from awulkiew/feature/strategies_distance
Umbrella strategies for distance() and comparable_distance().
2021-04-01 00:08:57 +02:00
Adam Wulkiewicz
8077c7f587 Merge pull request #827 from awulkiew/feature/for_each_dimension
Add for_each_dimension and more.
2021-04-01 00:08:20 +02:00
Adam Wulkiewicz
51addc4c4d [util] Rename for_each_dimension.hpp to algorithm.hpp 2021-03-31 23:31:02 +02:00
Adam Wulkiewicz
aece27e1ca [util] Remove unused implementations of for_each_dimension. 2021-03-26 22:33:04 +01:00
Adam Wulkiewicz
1c9e1933b4 [doc][convex_hull] Fix documentation of convex_hull algorithm. 2021-03-26 02:24:43 +01:00
Adam Wulkiewicz
e1967dc6d7 [assign] Fix code formatting, lambda bracket in the next line. 2021-03-25 03:26:08 +01:00
Adam Wulkiewicz
dbc8c29eb3 [strategies][distance] Improve readability of template aliases, add parentheses. 2021-03-25 03:16:26 +01:00
Adam Wulkiewicz
877c515b4a [distance] Simplify strategy and return_type definitions.
For this purpose add the following template aliases in
strategy_utils.hpp:
- detail::distance::strategy_t
- detail::distance::return_t
- detail::distance::cstrategy_t
- detail::distance::creturn_t
2021-03-25 03:04:58 +01:00
Adam Wulkiewicz
d2c79d97a9 [util] Add for_each_dimension and use it in several places. 2021-03-21 02:41:22 +01:00
Adam Wulkiewicz
ef5953d554 [distance][strategies] Implement backward compatibility mechamism for Pt/Pt custom strategies. 2021-03-16 19:23:44 +01:00