Adam Wulkiewicz
1bc57cc645
Merge branch 'develop' into fix/strategy_winding
...
Conflicts:
include/boost/geometry/strategies/strategies.hpp
2017-08-30 13:42:39 +02:00
Adam Wulkiewicz
c5e12820e1
Merge pull request #413 from awulkiew/fix/non_cartesian_compare
...
Fix non-cartesian compare function objects (bg::less, bg::equal_to, bg::greater).
2017-08-30 13:39:57 +02:00
Adam Wulkiewicz
95ffd9efbc
[strategies] Relocate CS-specific winding strategies.
2017-08-22 01:11:51 +02:00
Adam Wulkiewicz
74f13547be
[strategies] Update intersection and within strategies after change in winding strategy.
2017-08-22 00:33:39 +02:00
Adam Wulkiewicz
9f4682403e
[strategies] Fix winding strategy for specific cases in spherical and geographic.
...
Implement as separate strategies per CS: cartesian_winding,
spherical_winding and geographic_winding. The last one taking Geodesic
FormulaPolicy and Spheroid (interface consistent with other geographic
strategies).
Leave agnostic winding strategy for backward compatibility, sort of
because SideStrategy parameter was removed so it's compatible with Boost
1.63 and below. Internally using one of the above strategies.
2017-08-22 00:28:08 +02:00
Adam Wulkiewicz
11ce2ac02e
[algorithms] Fix direction_code different Point types handling and unused variable warning.
2017-08-14 17:39:18 +02:00
Adam Wulkiewicz
42902826be
[envelope][expand] Add support for spherical polar Boxes and Segments.
2017-08-06 19:35:54 +02:00
Adam Wulkiewicz
197d396218
[strategies] In cartesian side strategy use cartesian compare strategy directly instead of relate::less<>.
2017-08-05 01:55:25 +02:00
Adam Wulkiewicz
7104c112b1
[algorithms] Remove relate::less<> and replace it with geometry::less<>.
2017-08-05 01:54:27 +02:00
Adam Wulkiewicz
e3e06f7e96
[envelope][expand] Stop using bg::less<>.
...
bg::less<> now use math::equals() consistently also in single-Dimension
version, so shouldn't be used for expanding a Box.
Implement expand(Box, Pt) for spherical polar.
Remove compare "strategies" (Predicates) template parameters from expand
detail and dispatch templates.
2017-08-05 01:45:32 +02:00
Adam Wulkiewicz
3ba45ba8cc
[math][detail] Support spherical_polar CS in normalization utils. Also add some helper functions (checking poles and antimeridians).
2017-08-05 01:41:55 +02:00
Adam Wulkiewicz
fdca32a6e5
[compare] Support non-cartesian CSes in less<>, greater<> and equal_to<>.
...
Improve consistency with single-Dimension version and equals(Pt, Pt).
Always use math::equals when checking equality of coordinates,
also in single-Dimension versions.
Check antimeridians and poles also when only longitudes are compared
(At poles all longitudes are considered equal).
Add template argument defaulting to void and specialization defining
operator comparing objects of 2 different types (after C++14).
Remove Strategy template parameter which only allowed to pass standard
predicates (e.g. std::less) so was unusable and this design was forcing
unnecessary equal_to call when math::equals() failed.
Implement compare strategies the same way how other strategies are
implemented. Add compare:: cartesian and spherical strategies and
compare::services::default_strategy traits.
2017-08-05 01:16:16 +02:00
Adam Wulkiewicz
98b8821be6
[sectionalize] Add full namespace to function call (mingw workaround).
2017-08-02 02:52:02 +02:00
Adam Wulkiewicz
35897a6a81
Merge pull request #412 from awulkiew/fix/algorithms_side_strategy
...
Geographic coordinate system related fixes.
2017-07-31 18:30:25 +02:00
Adam Wulkiewicz
e7463b35f0
[buffer][overlay] Fix get_turns/secionalize/partition for non-cartesian CS.
...
- Handle longitudes differently in section_functions preceding() and
exceeding().
- Calculate directions in sectionalize differently for longitudes.
- Update buffer and get_turns due to the above changes.
2017-07-27 03:31:35 +02:00
Adam Wulkiewicz
925b715f4d
[algorithms] direction_code(): Add support for non-cartesian CSes.
2017-07-21 03:36:15 +02:00
Adam Wulkiewicz
6519f7a411
[strategies] Fix geographic area strategy for sphere (a==b), error being NaN result.
2017-07-20 18:27:11 +02:00
Adam Wulkiewicz
77c54c50d9
[algorithms] Fix direction_code for very close coordinates and use it in point_is_spike_or_equal to fix it too.
2017-07-18 14:38:19 +02:00
Adam Wulkiewicz
7dcba58943
[algorithms] Use user-defined side strategy in various algorithms
...
... instead of using the default one created internally.
It affects buffer, is_simple, is_valid, is_convex, point_on_surface,
remove spikes and various overlay algorithms.
2017-07-14 16:13:38 +02:00
Barend Gehrels
8012d17ca6
Merge branch 'feature/intvalid' into develop
2017-07-05 17:08:52 +02:00
Barend Gehrels
de8273ab92
[is_valid] fix, using touch_only information, and checking border_point
...
instead of touching point
2017-07-05 14:37:29 +02:00
Adam Wulkiewicz
a51a331df9
Merge pull request #405 from awulkiew/feature/area_strategy
...
Add missing propagation of area strategy in buffer, is_valid and overlay.
2017-07-05 13:51:43 +02:00
Adam Wulkiewicz
0b62b81fb4
Merge pull request #403 from awulkiew/fix/non_cart_intersection
...
Handle degenerated segments near poles in spherical and geographic intersection strategies.
2017-07-05 13:51:31 +02:00
Barend Gehrels
4ccd4e43ce
[is_valid] add extra info to turn to determine validity
...
Including unit test adaptions. Results are verified visually with SVG
2017-07-05 13:06:15 +02:00
Adam Wulkiewicz
a2168a97d9
[overlay] Add missing const&.
2017-07-04 16:03:54 +02:00
Adam Wulkiewicz
e241a9a0b3
Merge pull request #408 from vissarion/patch-3
...
Fix problematic initialization of strategy passed as contant reference
2017-07-04 17:02:52 +03:00
Adam Wulkiewicz
a911872bf5
[disjoint] Remove unwanted double ;
2017-07-04 15:58:05 +02:00
Adam Wulkiewicz
41cb466a34
Merge pull request #406 from vissarion/patch-1
...
Fix uninitialized variable in topology check of multilinestrings
2017-07-04 16:55:53 +03:00
Vissarion Fisikopoulos
b6bfbe514a
Update get_turn_info_helpers.hpp
2017-07-04 11:17:13 +03:00
Vissarion Fisikopoulos
bcae6f1e81
Update box_box.hpp
2017-07-04 09:58:05 +03:00
Vissarion Fisikopoulos
7ad0c0b8ff
Update topology_check.hpp
2017-07-04 09:38:49 +03:00
Adam Wulkiewicz
47e5cf5c96
[extensions][dissolve] Use area strategy got from intersection strategy.
2017-07-04 04:48:13 +02:00
Adam Wulkiewicz
8a12ebdb69
[buffer][is_valid][overlay] Use area strategy got from intersection strategy.
2017-07-04 04:45:37 +02:00
Adam Wulkiewicz
4122cab822
[correct] Allow passing area strategy into correct().
2017-07-04 04:42:13 +02:00
Adam Wulkiewicz
1026f9fd36
[strategies] Handle degenerated segments near poles in spherical and geographic intersection strategies.
2017-07-02 19:04:12 +02:00
Adam Wulkiewicz
0a56ddd654
[formulas] Fix VS std::max compilation error in vertex_longitude.
2017-06-30 17:00:00 +02:00
Barend Gehrels
60c9b096b1
Merge branch 'feature/intvalid' into develop
...
# Conflicts:
# include/boost/geometry/algorithms/intersects.hpp
# include/boost/geometry/algorithms/touches.hpp
2017-06-27 20:33:46 +02:00
Barend Gehrels
58e1c0bc51
[is_valid] remove false negatives from two touching interior rings
2017-06-25 17:18:26 +02:00
Barend Gehrels
c7c4800ca6
[is_valid] remove false negatives from two touching exterior rings, touching
...
each other at the touching point of an interior ring
2017-06-25 16:59:34 +02:00
Barend Gehrels
7ada36fab2
[overlay] remove debug code, submitted by accident
2017-06-25 14:17:51 +02:00
Barend Gehrels
ee3f5ea20d
[union] fix generating of false interiors by checking count_left
2017-06-25 13:56:01 +02:00
Barend Gehrels
4a116eb66e
[overlay] fix layout
2017-06-25 13:04:23 +02:00
Barend Gehrels
bfc3785cad
[overlay] Dont consider turns already discarded
2017-06-25 12:10:17 +02:00
Barend Gehrels
16213a6b1d
[union] Fix handling unions with 3 or more open spaces, where it
...
needs to check region ids to select the right to continue with
2017-06-25 12:04:49 +02:00
Barend Gehrels
e36f96d13c
[overlay] Prepare aggregation to be used for unions too
2017-06-25 11:28:34 +02:00
Barend Gehrels
63ee8f1fea
[overlay] Dont discard any self-turns in clusters
2017-06-25 11:27:19 +02:00
Barend Gehrels
6f55525db5
[traverse] remove is_touching as a reference parameter in several
...
methods, was not used anymore
2017-06-14 12:16:34 +02:00
Barend Gehrels
f832c2d334
[traverse] move reversal to union itself to finetune that later,
...
and pass open_count
2017-06-14 12:10:17 +02:00
Barend Gehrels
2ac50e8b3d
[overlay] split sourcefile, extract patterns
2017-06-14 11:37:24 +02:00
Barend Gehrels
437be1b2b0
[overlay] fix cases with mixed operations (no testcase)
2017-06-14 10:29:15 +02:00