Adam Wulkiewicz
50d9fe37d8
[formulas] Add thomas_direct and move result_direct into separate file.
2016-07-15 03:05:02 +02:00
Adam Wulkiewicz
86932c34e2
[formulas] Fix error in ellipsoidal gnomonic projection (switched lon and lat).
2016-07-15 03:03:58 +02:00
Adam Wulkiewicz
1d8938d53f
[formulas] Add ellipsoidal gnomonic projection.
...
The projection was proposed by C.F.F. Karney in "Algorithms for geodesics".
On ellipsoid of revolution (spheroid).
The projection takes geodesic inverse and direct formulas used internally
as template parameters.
2016-07-14 20:56:07 +02:00
Adam Wulkiewicz
a31669b958
[formulas] Add calculation of differential quantities to vincenty_direct.
2016-07-14 20:51:48 +02:00
Adam Wulkiewicz
3b0c885575
[formulas] Add and use new differential_quantities<...>::apply() overload.
2016-07-14 18:03:24 +02:00
Adam Wulkiewicz
6818ad7bae
[formulas] Enable 2nd order approximation components in thomas_inverse.
2016-07-14 17:54:55 +02:00
Adam Wulkiewicz
ca1a911576
[formulas][strategies] Move formulas from algorithms/detail to formulas directory.
2016-07-14 02:04:00 +02:00
Adam Wulkiewicz
08ca335416
[strategies] Use new bg::formula namespace.
2016-07-14 00:57:54 +02:00
Adam Wulkiewicz
1244ec6a09
[formulas] Add results into vincenty direct and inverse.
...
Add reverse azimuth to vincenty_direct.
Add reduced length and geodesic scale to vincenty_inverse.
Change the namespace containing direct and inverse formulas from bg::detail to bg::formula.
Change the name of inverse_differential_quantities to differential_quantities.
2016-07-14 00:53:17 +02:00
Adam Wulkiewicz
3ac8b12d20
[formulas] Add reverse azimuth, reduced length and geodesic scale calc in vincenty inverse.
2016-07-09 04:41:09 +02:00
Adam Wulkiewicz
c8a1e75570
[formulas] Add reverse azimuth, reduced length and geodesic scale calc in andoyer and thomas inverse.
2016-07-08 16:04:33 +02:00
Adam Wulkiewicz
4fd9329305
[geometry] Change #include's filename in geometry.hpp
2016-06-23 15:08:35 +02:00
Adam Wulkiewicz
9f1b921368
Merge pull request #352 from awulkiew/feature/svg_variant
...
Add variant support for SVG
2016-06-23 14:36:29 +02:00
Adam Wulkiewicz
7ec2706d50
[index] Fix invalid bounds check for contains() predicate.
2016-06-21 22:11:17 +02:00
Adam Wulkiewicz
8147014095
Merge branch 'develop' into feature/sph_seg_inters
...
Conflicts:
test/algorithms/overlay/overlay_cases.hpp
2016-06-21 16:53:33 +02:00
Adam Wulkiewicz
2442cdd1e3
[algorithms][detail] Fix compile error in azimuth() using vincenty formula.
2016-06-20 02:49:01 +02:00
Adam Wulkiewicz
bc56e81701
[io][svg] Add variant support for SVG writer.
...
Rename the file write_svg.hpp to write.hpp for consistency with other IOs.
Move dispatches for multi geometries to write.hpp.
Leave the old files for backward compatibility.
2016-06-15 15:34:30 +01:00
Adam Wulkiewicz
819919c913
Merge branch 'develop' into feature/sph_seg_inters
...
Conflicts:
include/boost/geometry/strategies/cartesian/cart_intersect.hpp
2016-06-13 09:50:06 +01:00
Adam Wulkiewicz
a529c3d73c
Merge pull request #351 from awulkiew/fix/cart_intersect_different_points
...
Fix/cart intersect for different RobustPoint types
2016-06-13 10:25:47 +02:00
Adam Wulkiewicz
54de9f96a1
[strategies] Support different RobustPoint types.
2016-06-06 21:14:00 +02:00
Norbert Wenzel
49dd3bb627
Remove extraneous semicolon
2016-06-05 15:40:27 +02:00
Adam Wulkiewicz
203e980c93
[strategies] In spherical intersection check normals dot product result only if needed.
2016-06-03 02:06:09 +02:00
Adam Wulkiewicz
d732fd575c
[equals] Support non-cartesian CSes in collect_vectors() and equals() variants using this function.
2016-06-03 01:53:43 +02:00
Adam Wulkiewicz
92c134a378
Merge pull request #347 from plopresti/warnings
...
Silence unused parameter warnings (GCC/Clang -Wextra).
2016-05-28 23:47:38 +02:00
Adam Wulkiewicz
080a545cf5
[equals] Support Mpoly/Ring combination.
2016-05-28 14:06:25 +02:00
Adam Wulkiewicz
56730cea69
[touches] Support missing geometry combinations (Areal/Linear).
2016-05-26 22:42:28 +02:00
Adam Wulkiewicz
86a17004ad
[policies] Increase the segment_ratio approximation equal distance threshold.
2016-05-20 00:15:57 +02:00
Adam Wulkiewicz
9a3b80cdba
[strategies][policies] If the IP is at segment's endpoint assign the original endpoint.
2016-05-20 00:15:11 +02:00
Adam Wulkiewicz
eb8219e152
[sectionalize] In non-cartesian CSes calculate section box using segments.
2016-04-24 03:18:50 +02:00
Adam Wulkiewicz
c241d51bc4
[get_turns][relate] Use default side strategy for each CS.
...
Previously side_by_triangle was used in all CSes since there were also
only one, cartesan relate_cartesian_segments intersection strategy.
2016-04-22 17:41:03 +02:00
Adam Wulkiewicz
cf4cf03ff8
[strategies] Remove unused parameters in relate_spherical_segments intersection strategy.
2016-04-22 17:40:19 +02:00
Adam Wulkiewicz
e377bf3a9f
[strategies] Fix constant and add missing apply() overload in relate_spherical_segments strategy.
2016-04-21 01:07:21 +02:00
Adam Wulkiewicz
5cd01e087c
Merge branch 'develop' into feature/sph_seg_inters
2016-04-20 17:36:43 +02:00
Patrick J. LoPresti
823af75c25
Silence unused parameter warnings (GCC/Clang -Wextra).
2016-04-13 15:01:03 -07:00
Barend Gehrels
ee6167d07e
[overlay] remove obsolete condition, giving warning on on systems,
...
in 'move' method
2016-04-13 10:31:56 +02:00
Adam Wulkiewicz
83b4473ad3
[algorithms][strategies][index][extension] Enable spherical intersection strategy.
...
Rename strategy_intersection (containing intersection and side strategies)
to intersection_strategies.
Rename strategies/intersection.hpp containing intersection_strategies
implementation to strategies/intersection_strategies.hpp
Add new strategies/intersection.hpp and implement
intersection::services::default_strategy there.
Add specializations of intersection::services::default_strategy for
cartesian_tag system for relate_cartesian_segments strategy and for
spherical_equatorial_tag and geographic_tag for relate_spherical_segments
strategy.
Use the intersection::services::default_strategy in
intersection_strategies.
Also fix a warning in relate_spherical_segments strategy.
2016-04-12 03:19:57 +02:00
Adam Wulkiewicz
d13c2db139
[strategies] Improve spherical intersection strategy.
...
Make sure that for crossing segments the resulting intersection point and
distances ratios are consistent with sides.
2016-04-11 20:08:40 +02:00
Adam Wulkiewicz
ba1e487a68
Merge branch 'develop' into feature/sph_seg_inters
2016-04-05 21:04:17 +02:00
Adam Wulkiewicz
ef6861ad37
[math] Add missing include.
2016-04-05 19:17:41 +02:00
Adam Wulkiewicz
1cf0db5e68
[envelope] Use the original units in the implementation for Segment when possible.
2016-04-05 01:07:29 +02:00
Adam Wulkiewicz
88c49a9c7a
[math] Add math::as_radian and math::from_radian utilities.
2016-04-05 00:56:37 +02:00
Adam Wulkiewicz
3b605afaa7
[envelope] Fix envelope for specific cases of spherical Segments.
...
Remove invalid assertions failing for short segments (ticket 12106).
Ensure MIN <= MAX for segments where difference of coordinates is lesser than machine epsilon by replacing comparisons using epsilon with strict operator calls.
2016-04-03 02:25:06 +02:00
Adam Wulkiewicz
bc9655ba0b
[strategies] Improve robustness of segments intersection strategy.
...
For intersection points near the endpoints check the endpoints explicitly.
Still small precision in some cases for crossing (i) case.
Use newly added spherical formulas instead of the ones implemented
internally in this strategy.
2016-03-31 04:24:49 +02:00
Adam Wulkiewicz
b901b32811
[formulas] Add spherical_equatorial<->cartesian3d conversions and spherical side util.
2016-03-31 04:22:44 +02:00
Adam Wulkiewicz
9401406b6e
[strategies] Improve the robustness of relate_spherical_segments strategy.
...
Normalize intersection points.
If IP is close to an endpoint explicitly compare the original points.
Use consistent ratios for special cases of collinear segments.
2016-03-26 03:23:50 +01:00
Adam Wulkiewicz
6e1a76dfc8
[strategy] Implement spherical Segment/Segment intersection strategy.
...
Ignoring robustness policy.
2016-03-24 04:05:57 +01:00
Adam Wulkiewicz
c3249735cd
[arithmetic][extensions] Move cross_product from extensions and change the arguments.
2016-03-24 04:04:33 +01:00
Adam Wulkiewicz
dee3d1d97d
[strategies][policies] Move segment_intersection_info to intersection strategy.
...
In order to implement CS-specific segment_intersection_info picking
segments and assigning points differently for each CS.
2016-03-24 04:00:11 +01:00
Barend Gehrels
85e0755ccd
[traverse][fix] use two passes, in first pass avoid uu turns to get
...
the interior rings right at starting points. Second pass use uu, but
only switch source if there are only uu turns found. This fixes most
of the simple cases (complex cases can still go wrong)
2016-03-23 13:25:30 +01:00
Barend Gehrels
7186c46f02
[traverse] split new method iterate into two parts
2016-03-23 12:09:12 +01:00