10 #if !defined(GEOGRAPHICLIB_GEODESICLINE_HPP)
11 #define GEOGRAPHICLIB_GEODESICLINE_HPP 1
63 static const int nC1_ = Geodesic::nC1_;
64 static const int nC1p_ = Geodesic::nC1p_;
65 static const int nC2_ = Geodesic::nC2_;
66 static const int nC3_ = Geodesic::nC3_;
67 static const int nC4_ = Geodesic::nC4_;
70 real _lat1, _lon1, _azi1;
71 real _a, _f, _b, _c2, _f1, _salp0, _calp0, _k2,
72 _salp1, _calp1, _ssig1, _csig1, _dn1, _stau1, _ctau1, _somg1, _comg1,
73 _A1m1, _A2m1, _A3c, _B11, _B21, _B31, _A4, _B41;
75 real _C1a[nC1_ + 1], _C1pa[nC1p_ + 1], _C2a[nC2_ + 1], _C3a[nC3_],
80 CAP_NONE = Geodesic::CAP_NONE,
81 CAP_C1 = Geodesic::CAP_C1,
82 CAP_C1p = Geodesic::CAP_C1p,
83 CAP_C2 = Geodesic::CAP_C2,
84 CAP_C3 = Geodesic::CAP_C3,
85 CAP_C4 = Geodesic::CAP_C4,
86 CAP_ALL = Geodesic::CAP_ALL,
87 CAP_MASK = Geodesic::CAP_MASK,
88 OUT_ALL = Geodesic::OUT_ALL,
89 OUT_MASK = Geodesic::OUT_MASK,
156 LONG_NOWRAP = LONG_UNROLL,
209 unsigned caps = ALL);
264 real& lat2, real& lon2, real& azi2,
265 real& m12, real& M12, real& M21,
268 return GenPosition(
false, s12,
269 LATITUDE | LONGITUDE | AZIMUTH |
270 REDUCEDLENGTH | GEODESICSCALE | AREA,
271 lat2, lon2, azi2, t, m12, M12, M21, S12);
279 return GenPosition(
false, s12,
280 LATITUDE | LONGITUDE,
281 lat2, lon2, t, t, t, t, t, t);
290 return GenPosition(
false, s12,
291 LATITUDE | LONGITUDE | AZIMUTH,
292 lat2, lon2, azi2, t, t, t, t, t);
299 real& azi2, real& m12)
const {
301 return GenPosition(
false, s12,
302 LATITUDE | LONGITUDE |
303 AZIMUTH | REDUCEDLENGTH,
304 lat2, lon2, azi2, t, m12, t, t, t);
311 real& azi2, real& M12, real& M21)
314 return GenPosition(
false, s12,
315 LATITUDE | LONGITUDE |
316 AZIMUTH | GEODESICSCALE,
317 lat2, lon2, azi2, t, t, M12, M21, t);
324 real& lat2, real& lon2, real& azi2,
325 real& m12, real& M12, real& M21)
328 return GenPosition(
false, s12,
329 LATITUDE | LONGITUDE | AZIMUTH |
330 REDUCEDLENGTH | GEODESICSCALE,
331 lat2, lon2, azi2, t, m12, M12, M21, t);
378 real& s12, real& m12, real& M12, real& M21,
380 GenPosition(
true, a12,
381 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE |
382 REDUCEDLENGTH | GEODESICSCALE | AREA,
383 lat2, lon2, azi2, s12, m12, M12, M21, S12);
392 GenPosition(
true, a12,
393 LATITUDE | LONGITUDE,
394 lat2, lon2, t, t, t, t, t, t);
401 real& lat2, real& lon2, real& azi2)
404 GenPosition(
true, a12,
405 LATITUDE | LONGITUDE | AZIMUTH,
406 lat2, lon2, azi2, t, t, t, t, t);
415 GenPosition(
true, a12,
416 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE,
417 lat2, lon2, azi2, s12, t, t, t, t);
424 real& s12, real& m12)
const {
426 GenPosition(
true, a12,
427 LATITUDE | LONGITUDE | AZIMUTH |
428 DISTANCE | REDUCEDLENGTH,
429 lat2, lon2, azi2, s12, m12, t, t, t);
436 real& s12, real& M12, real& M21)
439 GenPosition(
true, a12,
440 LATITUDE | LONGITUDE | AZIMUTH |
441 DISTANCE | GEODESICSCALE,
442 lat2, lon2, azi2, s12, t, M12, M21, t);
449 real& s12, real& m12, real& M12, real& M21)
452 GenPosition(
true, a12,
453 LATITUDE | LONGITUDE | AZIMUTH |
454 DISTANCE | REDUCEDLENGTH | GEODESICSCALE,
455 lat2, lon2, azi2, s12, m12, M12, M21, t);
520 Math::real GenPosition(
bool arcmode, real s12_a12,
unsigned outmask,
521 real& lat2, real& lon2, real& azi2,
522 real& s12, real& m12, real& M12, real& M21,
534 bool Init()
const {
return _caps != 0U; }
609 return (_caps & testcaps) == testcaps;
617 #endif // GEOGRAPHICLIB_GEODESICLINE_HPP
Math::real Position(real s12, real &lat2, real &lon2, real &azi2) const
Math::real MajorRadius() const
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
Math::real Position(real s12, real &lat2, real &lon2, real &azi2, real &m12, real &M12, real &M21, real &S12) const
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2) const
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2, real &s12) const
Math::real Flattening() const
Header for GeographicLib::Geodesic class.
Math::real Position(real s12, real &lat2, real &lon2, real &azi2, real &m12, real &M12, real &M21) const
void ArcPosition(real a12, real &lat2, real &lon2) const
static T atan2d(T y, T x)
Math::real Longitude() const
Namespace for GeographicLib.
Math::real EquatorialArc() const
Math::real Latitude() const
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2, real &s12, real &m12) const
Math::real Position(real s12, real &lat2, real &lon2, real &azi2, real &m12) const
unsigned Capabilities() const
Math::real Azimuth() const
bool Capabilities(unsigned testcaps) const
Math::real Position(real s12, real &lat2, real &lon2, real &azi2, real &M12, real &M21) const
Header for GeographicLib::Constants class.
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2, real &s12, real &m12, real &M12, real &M21) const
Math::real Position(real s12, real &lat2, real &lon2) const
Math::real EquatorialAzimuth() const
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2, real &s12, real &m12, real &M12, real &M21, real &S12) const
void ArcPosition(real a12, real &lat2, real &lon2, real &azi2, real &s12, real &M12, real &M21) const