10 #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP)
11 #define GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP 1
82 static const int numit_ = 10;
83 real tol_, tol1_, tol2_, taytol_;
84 real _a, _f, _k0, _mu, _mv, _e;
87 static inline real overflow() {
90 overflow = 1 /
Math::sq(std::numeric_limits<real>::epsilon());
94 static inline real tanx(real x) {
99 (!(t < 0) ? t : overflow()) :
100 (!(t >= 0) ? t : -overflow());
103 real taup(real tau)
const;
104 real taupinv(real taup)
const;
106 void zeta(real u, real snu, real cnu, real dnu,
107 real v, real snv, real cnv, real dnv,
108 real& taup, real& lam)
const;
110 void dwdzeta(real u, real snu, real cnu, real dnu,
111 real v, real snv, real cnv, real dnv,
112 real& du, real& dv)
const;
114 bool zetainv0(real psi, real lam, real& u, real& v)
const;
115 void zetainv(real taup, real lam, real& u, real& v)
const;
117 void sigma(real u, real snu, real cnu, real dnu,
118 real v, real snv, real cnv, real dnv,
119 real& xi, real& eta)
const;
121 void dwdsigma(real u, real snu, real cnu, real dnu,
122 real v, real snv, real cnv, real dnv,
123 real& du, real& dv)
const;
125 bool sigmainv0(real xi, real eta, real& u, real& v)
const;
126 void sigmainv(real xi, real eta, real& u, real& v)
const;
128 void Scale(real tau, real lam,
129 real snu, real cnu, real dnu,
130 real snv, real cnv, real dnv,
131 real& gamma, real& k)
const;
202 void Forward(real lon0, real lat, real lon,
203 real& x, real& y, real& gamma, real& k)
const;
220 void Reverse(real lon0, real x, real y,
221 real& lat, real& lon, real& gamma, real& k)
const;
228 real& x, real& y)
const {
230 Forward(lon0, lat, lon, x, y, gamma, k);
238 real& lat, real& lon)
const {
240 Reverse(lon0, x, y, lat, lon, gamma, k);
263 Math::real InverseFlattening()
const {
return 1/_f; }
283 #endif // GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP
Math::real Flattening() const
#define GEOGRAPHICLIB_EXPORT
An exact implementation of the transverse Mercator projection.
GeographicLib::Math::real real
Math::real CentralScale() const
Elliptic integrals and functions.
Math::real MajorRadius() const
void Reverse(real lon0, real x, real y, real &lat, real &lon) const
Namespace for GeographicLib.
Header for GeographicLib::EllipticFunction class.
void Forward(real lon0, real lat, real lon, real &x, real &y) const
Header for GeographicLib::Constants class.