Adam Wulkiewicz
c7e8540926
[io] In wkt read/write use default P/P equals strategy.
2018-10-12 03:32:58 +02:00
Adam Wulkiewicz
6c322e6625
[algorithms] Update various algorithms after recent changes:
...
- use equals P/P in equals_point_point extracted from strategy passed to
algorithm
- remove Midpoint of point_on_border (this exposes an error in is_valid)
- use envelope and expand strategies extracted from strategy passed to
algorithm
- change union's default strategy (relate v.s. intersection).
2018-10-12 03:26:10 +02:00
Adam Wulkiewicz
203618b404
[algorithms] Remove point_on_border Midpoint parameter as unneeded, cartesian-only hack.
...
If using this parameter changes the result it means that a different
method should be used. Using it does not solve the real problem, it only
hides it. Consider a polygon in another, touching at the first vertex.
Checking the midpoint of the first segment of contained polygon could
result in finding out that the polygon is inside. However if the segment
was collinear to the containing polygon's segment or this polygon had
vertex exactly at the checked midpoint the result would be the same as
using the first point of the contained polygon.
2018-10-12 03:19:21 +02:00
Adam Wulkiewicz
64863cceeb
[strategies] Update WRT recent changes:
...
- use CS-specific normalization strategies instead of algorithm.
- add lower-level strategies getters (point in point, envelope, expand).
- pass strategy to equals_point_point()
2018-10-12 03:12:34 +02:00
Adam Wulkiewicz
2a93705271
[disjoint][equals][strategies] Move CS-specific code of P/P disjoint/equals to strategies.
2018-10-12 03:12:03 +02:00
Adam Wulkiewicz
17017e4328
[envelope][expand][strategies] Move CS-specific code of envelope and expand to strategies.
2018-10-12 03:05:59 +02:00
Adam Wulkiewicz
94c7c810aa
[normalize][strategies] Move CS-specific part of normalization code to strategies.
2018-10-12 03:00:24 +02:00
Adam Wulkiewicz
5b6651d588
[formulas] Fix coordinates comparison warning.
2018-10-12 02:58:53 +02:00
Adam Wulkiewicz
96115158d3
[area][distance] Dispatch on struct level by strategy at resolve_strategy step.
2018-10-12 02:36:37 +02:00
Adam Wulkiewicz
0be273f605
[core][geometries][srs] Add cs::undefined and detail::cs_angular_units.
...
Remove is_radian and units typedef from non-cartesian cs structs.
2018-10-12 02:27:55 +02:00
Adam Wulkiewicz
8c4ba19f11
[srs] Make function input arguments const in healpix projection.
2018-08-16 15:55:27 +02:00
Dane Springmeyer
0d78de5974
Fix potential unsigned integer overflow in find_polygons_for_source
...
An invalid polygon will trigger overflow when `previous_rank` is `0` as `previous_rank - 1` will overflow. This can be detected by passing an invalid polygon like `[[8128,3600],[8224,3664],[8128,3600]]` into `boost::geometry::intersection` and compiling with `-fsanitize=undefined`
2018-08-11 09:01:40 -07:00
Adam Wulkiewicz
319ee31d6a
[srs] Disable str_cast specializations with C++11 features in MSVC<=12.
2018-08-01 14:09:58 +02:00
Adam Wulkiewicz
e2ad044720
[algorithms][formulas][strategies] Fix unused variable warnings.
2018-07-29 22:17:40 +02:00
Adam Wulkiewicz
79ef70f37b
Merge pull request #486 from BoostGSoC18/feature/geodesic_direct
...
Introduce formula for Karney's direct geodesic method
2018-07-25 14:59:48 +02:00
Adam Wulkiewicz
01c7c4b6e9
[srs] Fix gcc8 warnings (catching polymorphic type by value).
2018-07-19 02:01:00 +02:00
Adam Wulkiewicz
1b3cab85bd
[srs] Add workaround for msvc-12 faulty array initialization.
2018-07-16 05:21:06 +02:00
Adam Wulkiewicz
f3e12546a0
[srs] Attempt to fix invalid constant expression preventing compilation with some versions of GCC.
2018-07-15 19:14:34 +02:00
Adam Wulkiewicz
50dcb6d4ae
Merge pull request #488 from jonasdmentia/fix/closing_iterator_returns_reference_to_temp
...
Fix/closing iterator returns reference to temp
2018-07-09 13:43:46 +02:00
Adam Wulkiewicz
9d763b9e52
Merge pull request #499 from vissarion/fix/expand_make_inverse
...
Fix make_inverse and expand issue
2018-07-09 13:39:36 +02:00
Vissarion Fysikopoulos
f04c25f43d
[algorithms] [util] Rename is_inverse utility and update copyright notes
2018-07-09 12:58:34 +03:00
Vissarion Fysikopoulos
65084bb854
[util] Use exact coordinate check for inverse box
2018-07-06 16:43:43 +03:00
Vissarion Fysikopoulos
9efcb83bb3
[algorithms] [tests] Move include for make.hpp to correct place
2018-07-06 16:08:01 +03:00
Vissarion Fysikopoulos
7072ef0212
[util] Use is_inverse utility to detect inverse boxes
2018-07-06 16:03:56 +03:00
Phillip Palk
5a0964886a
[iterators] fix calculation of range's const reference type inside closing_iterator and ever_circling_iterator.
2018-07-05 23:07:36 +10:00
Adam Wulkiewicz
81ab3a1e7c
[distance] Fix std::min() call with msvc.
2018-07-04 16:54:02 +02:00
Vissarion Fysikopoulos
fbc79c807b
Merge remote-tracking branch 'origin/develop' into feature_test_distance_any_geo
2018-07-04 16:16:51 +03:00
Vissarion Fysikopoulos
c1dd9278b9
Fix conflicts by merging to develop
2018-07-04 15:55:09 +03:00
Vissarion Fysikopoulos
38c77cf435
[algorithms] Avoid normalization for boxes created by make_inverse
2018-07-04 14:52:41 +03:00
Adeel Ahmad
687df8e18a
Merge branch 'develop' into feature/geodesic_direct
...
Conflicts:
include/boost/geometry/util/math.hpp
test/formulas/direct.cpp
The conflicting files have been updated.
2018-06-29 14:31:15 +05:00
Adeel Ahmad
621950329a
[util] Pass range into math::polyval() instead of std::vector
...
This is done to avoid creating a separate container in each
iteration.
2018-06-28 10:57:21 +05:00
Adeel Ahmad
1fe3b3bd75
[util] Pass SeriesOrder as template parameter in evaluate_coeffs_C3x() function
...
The coefficient container structs are moved to the
bottom of the file.
2018-06-28 10:56:11 +05:00
Adeel Ahmad
b86a93bc5a
[util] Rename math::normalize_values to math::normalize_unit_vector
2018-06-28 09:51:25 +05:00
Adeel Ahmad
9ff4fbe94a
[util] Use functions from math namespace instead of std
2018-06-27 10:46:27 +05:00
Adeel Ahmad
9699b49098
[util][formulas] Rename normalize_angle function to normalize_azimuth
...
For normalizing longitudes, the normalize_longitude function is
used instead.
2018-06-27 10:34:18 +05:00
Adeel Ahmad
c26483b9fc
[util] Change static inline to inline in series_expansion.hpp file
2018-06-26 17:11:35 +05:00
Adeel Ahmad
4d39eae2b6
[util] Add BOOST_GEOMETRY_ASSERT in series expansion and normalization function
...
Modified functions are:
- evaluate_coeffs_C3x
- normalize_values
2018-06-26 17:07:59 +05:00
Adeel Ahmad
9c96bec2bf
[util] Avoid passing array size using std::vector
...
Previously, the array size was passed in as a
separate parameter.
2018-06-26 13:20:12 +05:00
Adeel Ahmad
06eb057fa9
[formulas] Use assignment operator on the same line for consistency
...
Other changes include the update of series expansion function
calls, as the template arguments are reversed.
2018-06-25 18:44:37 +05:00
Adeel Ahmad
19f06fa04e
[util] Reverse template argument order for series expansion functions
...
In some cases, this allows the caller to ignore the CT template
argument, as it is deduced from the argument list.
2018-06-25 18:39:43 +05:00
Adeel Ahmad
cc7e9e05c1
[formulas] Use namespace alias se for series_expansion
2018-06-25 17:59:32 +05:00
Adeel Ahmad
dedccdbdae
[formaulas][util] Define coefficient containers for computing series expansions
...
The coefficient containers are defined as structs in
series_expansion.hpp file. They allow the caller to
compute expansions without specifying the size
for the output array.
2018-06-25 17:19:44 +05:00
Adeel Ahmad
1972bcda3e
[formula][util] Pass boost::array to series expansion functions
...
Using boost::array we don't have to explicitly provide
the template parameters.
2018-06-22 19:26:27 +05:00
Adam Wulkiewicz
f824763cb4
[formulas][srs][util] Add math::pow(), use it in geo area formula and projections.
2018-06-20 22:56:52 +02:00
Vissarion Fysikopoulos
25ce113de1
[formulas] Use std pow in are formulas
2018-06-19 13:07:53 +03:00
Vissarion Fysikopoulos
4dacbfa2d2
[formulas] Use pass by reference in area formula functions
2018-06-19 12:06:03 +03:00
Vissarion Fysikopoulos
10b340e89e
[formulas] Call to pow function with both arguments having the same type
2018-06-18 16:33:31 +03:00
Adeel Ahmad
78411f63c8
[doc][util][formulas][test] Add copyright information in updated files
2018-06-18 18:05:11 +05:00
Vissarion Fysikopoulos
12f7a2239b
[formulas] Add coordinates and reverse azimuth flags to spherical direct formula
2018-06-18 14:31:45 +03:00
Vissarion Fysikopoulos
738c0da0e2
[formulas] Add missing include file needed by spherical formulas
2018-06-18 14:13:36 +03:00