10 #if !defined(GEOGRAPHICLIB_CONSTANTS_HPP)
11 #define GEOGRAPHICLIB_CONSTANTS_HPP 1
13 #include <GeographicLib/Config.h>
21 #define GEOGRAPHICLIB_VERSION_NUM(a,b,c) ((((a) * 10000 + (b)) * 100) + (c))
34 #define GEOGRAPHICLIB_VERSION \
35 GEOGRAPHICLIB_VERSION_NUM(GEOGRAPHICLIB_VERSION_MAJOR, \
36 GEOGRAPHICLIB_VERSION_MINOR, \
37 GEOGRAPHICLIB_VERSION_PATCH)
56 #if defined(_MSC_VER) && defined(GEOGRAPHICLIB_SHARED_LIB) && \
57 GEOGRAPHICLIB_SHARED_LIB
58 # if GEOGRAPHICLIB_SHARED_LIB > 1
59 # error GEOGRAPHICLIB_SHARED_LIB must be 0 or 1
60 # elif defined(GeographicLib_SHARED_EXPORTS)
61 # define GEOGRAPHICLIB_EXPORT __declspec(dllexport)
63 # define GEOGRAPHICLIB_EXPORT __declspec(dllimport)
66 # define GEOGRAPHICLIB_EXPORT
74 # define GEOGRAPHICLIB_DEPRECATED(msg) __attribute__((deprecated(msg)))
76 # define GEOGRAPHICLIB_DEPRECATED(msg) __attribute__((deprecated))
78 #elif defined(_MSC_VER) && _MSC_VER >= 1300
79 # define GEOGRAPHICLIB_DEPRECATED(msg) __declspec(deprecated(msg))
81 # define GEOGRAPHICLIB_DEPRECATED(msg)
134 template<
typename T = real>
static T
WGS84_a()
135 {
return 6378137 * meter<T>(); }
140 template<
typename T = real>
static T
WGS84_f() {
144 return 1 / ( T(298257223563LL) / 1000000000 );
152 {
return T(3986004) * 100000000 + 41800000; }
159 {
return 7292115 / (T(1000000) * 100000); }
164 template<
typename T = real>
static T
GRS80_a()
165 {
return 6378137 * meter<T>(); }
172 {
return T(3986005) * 100000000; }
186 {
return 7292115 / (T(1000000) * 100000); }
193 {
return T(108263) / 100000000; }
198 template<
typename T = real>
static T
UTM_k0()
199 {
return T(9996) / 10000; }
204 template<
typename T = real>
static T
UPS_k0()
205 {
return T(994) / 1000; }
218 template<
typename T = real>
static T
meter() {
return T(1); }
223 {
return 1000 * meter<real>(); }
229 {
return 1852 * meter<real>(); }
239 {
return meter<T>() * meter<T>(); }
244 {
return 10000 * square_meter<real>(); }
249 {
return kilometer() * kilometer(); }
254 {
return nauticalmile() * nauticalmile(); }
264 {
return real(254 * 12) / 10000 * meter<real>(); }
302 {
return real(1200) / 3937 * meter<real>(); }
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
Header for GeographicLib::Math class.
Constants needed by GeographicLib
static Math::real arcsecond()
static Math::real square_kilometer()
static Math::real degree()
static Math::real hectare()
static Math::real kilometer()
static Math::real fathom()
static Math::real square_nauticalmile()
static Math::real surveyfoot()
static Math::real furlong()
static Math::real arcminute()
static Math::real square_mile()
static Math::real chain()
static Math::real nauticalmile()
Exception handling for GeographicLib.
GeographicErr(const std::string &msg)
Namespace for GeographicLib.