Commit Graph

4683 Commits

Author SHA1 Message Date
Adam Wulkiewicz
5eb599eae9 [strategies] Add commented code in geo inters. strategy (for future experiments). 2018-08-27 23:47:26 +02:00
Adam Wulkiewicz
ece82259a1 [formulas] Handle division by 0 in Sjoberg formula. 2018-08-27 23:45:09 +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
Vissarion Fysikopoulos
cc2ded01ee [formulas] [tests] Change thomas direct interface 2018-06-18 14:08:58 +03:00
Vissarion Fysikopoulos
88469892dd [formulas] Rename elliptic_meridian_arc formula to meridian 2018-06-18 12:52:05 +03:00
Vissarion Fysikopoulos
c1299d7a32 [formulas] [tests] Add revarse_azimuth and quantities computation to direct meridian formula plus tests 2018-06-18 12:03:13 +03:00
Adeel Ahmad
2c7a29e7dc [formulas][util] Improve code formatting to conform with guidelines 2018-06-15 18:52:30 +05:00
Adeel Ahmad
318a61dce0 [formulas] Use updated functions for normalization 2018-06-15 18:20:01 +05:00
Adeel Ahmad
d591d7a7bb [util] Use existing normalize_spheroidal_coordinates class for normalizing an angle
- This should normalize the given angle in range (-180, 180].
- The function normalize is also moved from math.hpp to
normalize_spheroidal_coordinates.hpp where it is renamed
to normalize_values
2018-06-15 18:14:17 +05:00
Vissarion Fysikopoulos
bc3189f9fd [formulas] [tests] Interface for direct meridian formula and tests 2018-06-15 10:25:05 +03:00
Adeel Ahmad
943672bd3a [formulas] Use template argument CT instead of double
This change is made in Karney's direct method.
2018-06-14 13:27:33 +05:00