Adam Wulkiewicz
f428b9cc8f
[extensions][dissolve] Pass strategies into the overlay internals and envelope.
2017-04-14 03:59:45 +02:00
Adam Wulkiewicz
87a1a941f2
Merge branch 'develop' into feature/geographic
2017-04-14 01:39:05 +02:00
Adam Wulkiewicz
dc8ff59096
[extensions][dissolve] Add support for intersection strategy.
2017-04-14 01:07:30 +02:00
Adam Wulkiewicz
6586f6e7b7
[overlay][buffer][test] Use within/covered_by and envelope strategies.
...
- Pass intersection strategy into range_in_geometry and internally get
point_in_geometry strategy.
- Add required intersection strategy passing into overlay and buffer
internals.
- Use envelope strategy in assign_parents.
2017-04-11 00:24:21 +02:00
Adam Wulkiewicz
354ce9a376
[overlay][follow] Check covered_by with strategy.
2017-04-11 00:23:33 +02:00
Adam Wulkiewicz
02f149f012
[is_valid] Check point in polygon exterior ring with strategy.
2017-04-11 00:19:57 +02:00
Adam Wulkiewicz
e3ac044400
[equals][test] Make collect_vectors Ring-order-invariant with normalized_view.
2017-04-09 11:33:00 +02:00
Adam Wulkiewicz
657a5c8090
[equals][test] Fix collect_vectors for open Rings with closeable_view.
2017-04-09 01:46:46 +02:00
Adam Wulkiewicz
a29281d143
[strategies] Add missing const and explicit keywords.
2017-03-30 18:20:41 +02:00
Adam Wulkiewicz
8419c27f40
[overlay] Always use first point of a geometry returned by point_on_border().
...
- In the internals of point_on_border() get Midpoint as template parameter.
- Remove midpoint argument from point_on_border() parameters forcing to
always return the first point.
- Add range_in_geometry() algorithm checking passed boundary point and/or
points of a geometry for overlap with the interior/exterior of another
geometry. This way it's possible to detect if a ring is inside or
outside another ring even if the first point of a ring is overlapping
the boundary of another geometry. Note tht this was also possible with
midpoint.
- Enlarge the ring bounding box by epsilon in order to make the covered_by
envelope check consistent with corresponding point_in_geometry check.
- Replace covered_by(Pt, Ring) with range_in_geometry() calling
point_in_geometry().
2017-03-27 19:02:00 +02:00
Barend Gehrels
b320ddf8e6
[buffer] Fix segmentation fault for rings (start/finish ring was not called),
...
including new unit test
2017-03-26 12:49:48 +02:00
Adam Wulkiewicz
e5dd98482a
[algorithms] Pass envelope and disjoint-seg-box strategies into partition in disjoint, is_valid and overlay.
2017-03-22 21:02:11 +01:00
Adam Wulkiewicz
51694bfb0c
[get_turns] Pass envelope strategy into sectionalize.
2017-03-22 21:00:55 +01:00
Adam Wulkiewicz
f09e33a30e
[sectionalize] Support custom envelope strategy.
2017-03-22 20:58:43 +01:00
Adam Wulkiewicz
3ff1382c61
[strategies] Add envelope-seg and disjoint-seg-box getters to intersection, side and within strategies.
2017-03-22 20:57:35 +01:00
Adam Wulkiewicz
f3f312e42b
[strategies][azimuth] Fix apply() function arguments types, replace CalculationType which can be void.
2017-03-22 19:43:29 +01:00
Adam Wulkiewicz
cefe1d04f7
[strategies] Add missing includes in envelope and disjoint strategies.
2017-03-22 19:41:32 +01:00
Adam Wulkiewicz
237bfdbe25
[disjoint] In Seg/Box fix the condition and replace covered_by with disjoint_point_box.
2017-03-22 19:38:34 +01:00
Adam Wulkiewicz
ed78fc3164
Merge pull request #384 from awulkiew/fix/throwing
...
Throw exceptions using BOOST_THROW_EXCEPTION.
2017-03-14 19:17:10 +01:00
Adam Wulkiewicz
7bba50172e
Merge pull request #380 from vissarion/feature/disjoint_geo_new
...
Feature/disjoint geo new
2017-03-14 19:15:34 +01:00
Adam Wulkiewicz
0e281523c9
Merge branch 'develop' of github.com:boostorg/geometry into develop
2017-03-14 15:02:51 +01:00
Adam Wulkiewicz
4c6ccc0395
[formulas] Handle vertical geodesics in Sjoberg (intersection at the pole).
2017-03-14 15:01:37 +01:00
barendgehrels
a826d5b536
[get_turns] fix: fix distance_measure
2017-03-13 16:09:18 +01:00
Adam Wulkiewicz
51f85b6fe2
[partition] Replace size()==0 with empty() and size()>0 with !empty().
2017-03-12 00:04:07 +01:00
Adam Wulkiewicz
fd72a1aa16
[algorithms] Support interruption of partition().
...
- partition() is interrupted if visitor.apply() returns false.
- This mechanism is used instead of throwing self_ip_exception in
1-geometry (self) get_turns implementation.
2017-03-09 05:40:20 +01:00
Adam Wulkiewicz
4e1c644563
[algorithms][io] Throw exceptions using BOOST_THROW_EXCEPTION.
2017-03-08 22:39:08 +01:00
Vissarion Fysikopoulos
207098b2ff
Merging with develop
2017-03-08 18:37:11 +02:00
Vissarion Fysikopoulos
79e9857823
Merge with develop
2017-03-08 17:16:26 +02:00
Adam Wulkiewicz
7b5db5b06b
[strategies] Replace InverseFormula with FormulaPolicy in geographic strategies.
...
- Add strategy::andoyer, strategy::thomas and strategy::vincenty policies.
- By default use strategy::andoyer in all strategies consistently.
- Further improve the consistency of parameters by adding default
Spheroid = srs::spheroid<double> where it's missing.
2017-03-07 20:09:37 +01:00
Adam Wulkiewicz
5985e49d2b
[strategies] Rename files in order to make them more consistent across coordinate systems.
...
CS/algorithm_CS.hpp -> CS/algorithm.hpp
cartesian/cart_intersect.hpp -> cartesian/intersection.hpp
geographic/intersection.hpp -> geographic/intersection_elliptic.hpp
geographic/geodesic_intersection.hpp -> geographic/intersection.hpp
2017-03-07 17:52:54 +01:00
Adam Wulkiewicz
d113eb8cfd
[strategies] Improve consistency of strategies.
...
- In every geographic strategy use the same order of template parameters:
Formula[, Order], Spheroid, CalculationType.
- Calculate default Order based on Formula.
- Remove ExpandEpsN and LongSegment from template parameters.
- Make strategies' constructors explicit
- Rename relate_cartesian_segments to cartesian_segments,
relate_geodesic_segments to geographic_segments,
relate_spherical_segments to spherical_segments, etc.
- Use radius 1 by default in area::spherical strategy for backward
compatibility.
2017-03-07 16:54:09 +01:00
Adam Wulkiewicz
95a982e492
[core] Improve accuracy of default srs::sphere radius being mean Earth's radius.
2017-03-07 16:49:25 +01:00
Adam Wulkiewicz
95bb1eacc0
Merge branch 'develop' into feature/disjoint_geo_new
2017-03-05 23:43:45 +01:00
Adam Wulkiewicz
62acebb640
[algorithms] Update doc-related description of set operations, is_simple and is_valid.
...
Distinguish between versions taking and not taking strategies.
2017-03-05 20:22:01 +01:00
Adam Wulkiewicz
db052113a8
[area][strategies] Update doc-related description of area() and related strategies.
2017-03-05 20:19:12 +01:00
Adam Wulkiewicz
d8513265a2
[strategies] Fix compilation errors in geodesic_intersection.
...
Remove static keyword from strategies getters.
Rename template parameter to avoid shadowing.
2017-03-02 19:24:05 +01:00
Adam Wulkiewicz
a06e6bbb79
[strategies] Rename strategy side::detail::by_azimuth to side::geographic.
2017-03-02 19:23:31 +01:00
Adam Wulkiewicz
6f733b64a9
[index] Add explicit modifier to dynamic_* parameters ctors.
2017-03-02 19:20:49 +01:00
Adam Wulkiewicz
bdd2d2c60c
[formula] Fix errors in inverse formulas (manifesting near poles).
...
vincenty - fix error in formula (missing sqr)
differential_quantities - fix error in formula (wrong equation and lack of normalization)
andoyer - wrong azimuth at south pole
2017-03-02 16:54:36 +01:00
Vissarion Fysikopoulos
f67998885f
[core] [disjoint] More radian_access functions for box or segment to radian_access.hpp
2017-03-01 13:44:08 +02:00
Vissarion Fysikopoulos
67759ab979
[disjoint] Fixing coordinate systems degree/radian issue
2017-03-01 13:09:23 +02:00
Adam Wulkiewicz
3f7b2ecb35
[strategies] Add area and distance strategies getters to geodesic intersection strategy.
...
Also fix typos.
2017-02-27 19:30:02 +01:00
Adam Wulkiewicz
98546ec1dd
[strategies] Add general geographic distance strategy taking formula and use it in existing strategies.
2017-02-27 19:12:41 +01:00
Adam Wulkiewicz
0e0f432f27
Merge branch 'develop' into feature/geo_intersection2
2017-02-27 14:44:18 +01:00
Adam Wulkiewicz
447db8358b
Merge pull request #381 from awulkiew/feature/setops_strategies
...
Strategies and variant support in set operations, is_valid and is_simple.
2017-02-27 14:35:16 +01:00
Adam Wulkiewicz
54e29a5157
Merge pull request #322 from meastp/add_read_multi_wkb
...
Support for reading and writing Multi-geometries
2017-02-26 20:09:49 +01:00
Adam Wulkiewicz
f9d9cc2178
[relops] Alter doc comments (versions taking strategies).
2017-02-26 01:37:54 +01:00
Adam Wulkiewicz
b03da047a8
[index] Add workaround for libstdc++ bug (gcc 4.8.2) - segfault in nth_element.
2017-02-25 18:50:13 +01:00
Adam Wulkiewicz
682cb65f62
[equals] Use area and distance strategies in equals() TrivialCheck.
2017-02-17 05:04:03 +01:00
Adam Wulkiewicz
b3da05740a
[is_valid] Add support for strategies.
2017-02-17 05:03:11 +01:00