21 {
Reset(lat0, lon0); }
39 real sig12, s12, azi1, azi2;
45 if (
abs(dlon) <= 90) {
62 perp.GenPosition(
true, -sig12,
64 t, t, t, t, t, t, rk, t);
69 sbet1 = lat >=0 ? calp0 : -calp0,
70 cbet1 =
abs(dlon) <= 90 ?
abs(salp0) : -
abs(salp0),
76 t, t, t, y, t, t, t, t);
86 _earth.
Direct(lat1, lon1, azi0 + 90, x, lat, lon, azi, rk, t);
static T AngNormalize(T x)
Math::real LongitudeOrigin() const
CassiniSoldner(const Geodesic &earth=Geodesic::WGS84())
void Forward(real lat, real lon, real &x, real &y, real &azi, real &rk) const
Header for GeographicLib::CassiniSoldner class.
GeodesicLine Line(real lat1, real lon1, real azi1, unsigned caps=ALL) const
Math::real Position(real s12, real &lat2, real &lon2, real &azi2, real &m12, real &M12, real &M21, real &S12) const
static void sincosd(T x, T &sinx, T &cosx)
static T AngDiff(T x, T y, T &e)
static void norm(T &x, T &y)
Math::real LatitudeOrigin() const
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Namespace for GeographicLib.
void Reverse(real x, real y, real &lat, real &lon, real &azi, real &rk) const
AnnoyingScalar atan2(const AnnoyingScalar &y, const AnnoyingScalar &x)
Math::real Flattening() const
Math::real Direct(real lat1, real lon1, real azi1, real s12, real &lat2, real &lon2, real &azi2, real &m12, real &M12, real &M21, real &S12) const
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
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
void Reset(real lat0, real lon0)
Math::real Inverse(real lat1, real lon1, real lat2, real lon2, real &s12, real &azi1, real &azi2, real &m12, real &M12, real &M21, real &S12) const