Commit Graph

5305 Commits

Author SHA1 Message Date
Adam Wulkiewicz
920de2ca6a [algorithms] Remove unneeded comments, change names and indentation. 2021-02-16 13:06:32 +01:00
Adam Wulkiewicz
9eb674d64f [strategies] Remove usage of equals() algorithm from side strategies. 2021-01-31 22:23:05 +01:00
Adam Wulkiewicz
ab28baae28 Merge branch 'develop' into feature/strategies_relate 2021-01-31 21:08:38 +01:00
Mateusz Łoskot
bceae0187c Add missing #include <string> 2021-01-20 23:23:34 +01:00
Barend Gehrels
58429fb557 [get_turn_info] minor clean up of typedefs and includes 2021-01-13 09:33:21 +01:00
Barend Gehrels
84d3a8d9ce [get_turn_info] handle collinear as equal if both segments arrive at intersection point 2020-12-30 14:18:01 +01:00
Barend Gehrels
705efe9bad Merge pull request #780 from barendgehrels/fix/sort-by-side-point-at-turn
Fix/sort by side point at turn
2020-12-30 11:37:24 +01:00
Vissarion Fisikopoulos
421f4de74c Merge pull request #785 from vissarion/fix/spherical_str
[strategies] [test] Fix spherical cross track and convex hull tests
2020-12-23 14:49:19 +02:00
Mateusz Łoskot
b54a0589bd Catch up with dms_parser change from function call operator to apply (#786)
The change was applied in PR #394
2020-12-23 10:35:09 +01:00
Vissarion Fisikopoulos
4034ac88b2 [strategies] [test] Fix spherical cross track and convex hull tests 2020-12-21 15:11:17 +02:00
Vissarion Fisikopoulos
83dcb53ffc Merge remote-tracking branch 'origin/develop' into feature/robust_convex_hull 2020-12-21 12:22:55 +02:00
Vissarion Fisikopoulos
3374cda6f6 Merge pull request #749 from vissarion/feature/robust_area
Area strategy for more accurate computations in cartesian CS
2020-12-21 12:20:31 +02:00
Barend Gehrels
59e0840d75 [sort_by_side] walk forward for point_to
(similarly to walking backwards for point_from)
2020-12-16 14:41:49 +01:00
Barend Gehrels
4e8ff81131 [sort_by_side] add epsilon to approximately_equals 2020-12-16 10:31:14 +01:00
Barend Gehrels
324249bb2d [copy_segment_point] change offset with modulo, add to box, update unit test 2020-12-09 13:52:07 +01:00
Barend Gehrels
abaa211d3a [sort_by_side] fix cases where the cluster point is approached by segments, but the last point before is colocated with the turn itself
This fixes 50% of the errors currently found by recursive_polygons_buffer (when rescaling is turned off)
2020-12-02 14:19:50 +01:00
Barend Gehrels
77838a8995 [copy_segment_point] change implementation to allow also negative offsets,
including unit test
2020-12-02 13:19:15 +01:00
Adam Wulkiewicz
d2d3a7954a [concepts] Add vs2015 workaround. 2020-11-30 01:27:00 +01:00
Adam Wulkiewicz
928603f32e Fix vs2015 workarounds #ifdefs to work with non-vc compilers properly. 2020-11-26 04:12:19 +01:00
Adam Wulkiewicz
95a9b43712 Merge branch 'develop' into feature/traits_make 2020-11-25 15:23:55 +01:00
Adam Wulkiewicz
20ce3d5ce1 Merge pull request #778 from awulkiew/fix/clang_workarounds
Fixes/workarounds for clang 3.5-3.9
2020-11-25 14:38:06 +01:00
Barend Gehrels
bc77b4889b Merge pull request #773 from barendgehrels/fix/fraction-by-arrival
Fix turns where segments arrive at an intersection point, or leave
2020-11-25 10:24:25 +01:00
Barend Gehrels
42bd7cfe95 [turns] fix precision when turns are arriving or leaving.
Then their fractions should be 1 or 0 (and not nearly so)
2020-11-25 10:21:16 +01:00
Adam Wulkiewicz
016691b15f Merge branch 'develop' into feature/traits_make 2020-11-25 00:06:55 +01:00
Adam Wulkiewicz
c1f4912445 [geometries] Enable model::point's ctors only if Dimension match.
This allows to check if a constructor is implemented with
std::is_constructible without compilation errors with clang-3.5-3.9.
2020-11-24 23:41:19 +01:00
Adam Wulkiewicz
acbd14330a Do not use parameter pack explicitly in specializations for boost::variant.
Use BOOST_VARIANT_ENUM_PARAMS instead which expands to parameter pack if
C++14 is fully supported.

This is a workaround for compilation errors with clang-3.5. Lists of
template arguments are still processed with variadic templates.
2020-11-24 17:56:11 +01:00
Adam Wulkiewicz
632d1fcb43 Merge pull request #772 from awulkiew/fix/vs2015_workaround
Add constexpr and boost::variant workarounds for vs2015.
2020-11-23 02:50:50 +01:00
CG-SD
35a02b7ee6 [extensions][wkb] Fix risk of undefined behavior when parsing a byte_order byte
* fixed risk of undefined behavior when parsing a byte_order byte

tried to parse a spatialite WKB blob with this code but the byte_order byte was replaced by a '69' token :
 parsing this byte is successful but the value read is not part of the enum, the function returns true but the order parameter is left untouched. 
Calls to that function elsewhere in the code do not initialise the order parameter.
see 869e72fc01/include/boost/geometry/extensions/multi/gis/io/wkb/detail/parser.hpp (L83)

another option would be to return false in that case, but it didn't fit my need

* Update parser.hpp

typo fix
2020-11-21 02:53:39 +01:00
Vissarion Fisikopoulos
5351d98305 Fix unused parameter warnings (#775) 2020-11-18 15:51:59 +02:00
Adam Wulkiewicz
0b55a946b5 Add constexpr and boost::variant workarounds for vs2015. 2020-11-07 23:22:49 +01:00
Adam Wulkiewicz
f510cf2744 [area] Fix area_result for boost::variant and default_strategy. 2020-11-07 21:41:51 +01:00
Vissarion Fisikopoulos
e84295005a [strategies] Use auto and const in some places in cartesian area strategies 2020-11-06 12:18:00 +02:00
Barend Gehrels
3e111a0302 [turns] without rescaling, include start turns in calculation 2020-10-28 14:27:26 +01:00
Vissarion Fysikopoulos
b0e3c6723a [strategies] [convex_hull] Inherit base class in public mode 2020-10-26 15:18:59 +02:00
Adam Wulkiewicz
3f31453995 [strategies] Add getters in global umbrella strategies and simplify implementation. 2020-10-22 03:35:45 +02:00
Adam Wulkiewicz
1186dedeb8 [strategies] Add ctors, store substrategy and propagate radius in distance segment/box strategy. 2020-10-22 03:33:09 +02:00
Adam Wulkiewicz
6b74f7c8a3 Support umbrella strategies in relops, setops, index, buffer and more.
Also is_simple, is_valid and extensions like dissolve and nsphere relops.

Add umbrella strategies:
 - relate: used in setops, relops, buffer, is_xxx, dissolve, etc.
 - index: used in rtree
 - io: used in wkt read/write and extensions/shapefile

Replace `point_box_by_side` agnostic strategy with CS-specific strategies.

Fix passing of strategies (no defaults when user-defined strategy is
passed) in places like buffer and distance.

Alter tests accordingly.
2020-10-21 17:42:02 +02:00
Adam Wulkiewicz
3402c9101d Replace boost::tuple with std::tuple or custom classes.
Modernize tuple support.
2020-10-21 16:21:06 +02:00
Vissarion Fysikopoulos
eaf904f1e2 [strategies] Fix side_by_cross_track strategy issue 2020-10-16 11:11:40 +03:00
Vissarion Fysikopoulos
02f52eca68 Merge remote-tracking branch 'origin/develop' into feature/robust_convex_hull 2020-10-16 10:47:24 +03:00
Adam Wulkiewicz
54f141779b Include only necessary headers of Boost.Range. 2020-10-16 01:23:06 +02:00
Adam Wulkiewicz
7b8b3f694a Merge pull request #759 from awulkiew/feature/static_assert
Replace MPL_ASSERT with std static_assert.
2020-10-16 01:03:34 +02:00
Adam Wulkiewicz
aeb81ebfd6 Replace MPL_ASSERT with std static_assert.
Also include only necessary headers from Boost.Range.
2020-10-16 00:31:22 +02:00
Barend Gehrels
64c09d07f0 Merge pull request #761 from barendgehrels/remove-ttmath
Remove ttmath
2020-10-13 18:25:34 +02:00
Vissarion Fysikopoulos
8c4f1589c2 [strategy] Fix convex hull strategies 2020-10-13 11:45:21 +03:00
Pranam Lashkari
055684bc41 resolve c2146 on vs15 with area_result declaration 2020-10-12 19:12:54 +05:30
Vissarion Fysikopoulos
c79b9a60b7 [strategies] Remove Geometry parameter from side in convex_hull strategies 2020-10-08 17:48:48 +03:00
Barend Gehrels
84e19aff1c [extensions] remove HAVE_TTMATH and other occurances of ttmath 2020-10-07 14:06:04 +02:00
Barend Gehrels
45d624af9b [cleanup] remove HAVE_TTMATH and other occurances of ttmath 2020-10-07 14:05:28 +02:00
Adam Wulkiewicz
8ec873c773 Merge branch 'develop' into feature/traits_make 2020-10-01 19:38:00 +02:00