35 real& azi, real& rk)
const {
39 real sig12, s12, azi1, azi2;
40 sig12 = _earth.Inverse(lat, -fabs(dlon), lat, fabs(dlon), s12, azi1, azi2);
64 t, t, t, t, t, t, rk, t);
69 sbet1 = lat >=0 ? calp0 : -calp0,
70 cbet1 = fabs(dlon) <=
Math::qd ? fabs(salp0) : -fabs(salp0),
71 sbet01 = sbet1 * _cbet0 - cbet1 * _sbet0,
72 cbet01 = cbet1 * _cbet0 + sbet1 * _sbet0,
74 _meridian.GenPosition(
true, sig01,
76 t, t, t, y, t, t, t, t);
80 real& azi, real& rk)
const {
85 _meridian.Position(y, lat1, lon1, azi0);
86 _earth.Direct(lat1, lon1, azi0 +
Math::qd, x, lat, lon, azi, rk, t);
Math::real GenPosition(bool arcmode, real s12_a12, unsigned outmask, real &lat2, real &lon2, real &azi2, real &s12, real &m12, real &M12, real &M21, real &S12) const