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,
206 unsigned caps = ALL);
261 real& lat2, real& lon2, real& azi2,
262 real& m12, real& M12, real& M21,
265 return GenPosition(
false, s12,
266 LATITUDE | LONGITUDE | AZIMUTH |
267 REDUCEDLENGTH | GEODESICSCALE | AREA,
268 lat2, lon2, azi2, t, m12, M12, M21, S12);
276 return GenPosition(
false, s12,
277 LATITUDE | LONGITUDE,
278 lat2, lon2, t, t, t, t, t, t);
287 return GenPosition(
false, s12,
288 LATITUDE | LONGITUDE | AZIMUTH,
289 lat2, lon2, azi2, t, t, t, t, t);
296 real& azi2, real& m12)
const {
298 return GenPosition(
false, s12,
299 LATITUDE | LONGITUDE |
300 AZIMUTH | REDUCEDLENGTH,
301 lat2, lon2, azi2, t, m12, t, t, t);
308 real& azi2, real& M12, real& M21)
311 return GenPosition(
false, s12,
312 LATITUDE | LONGITUDE |
313 AZIMUTH | GEODESICSCALE,
314 lat2, lon2, azi2, t, t, M12, M21, t);
321 real& lat2, real& lon2, real& azi2,
322 real& m12, real& M12, real& M21)
325 return GenPosition(
false, s12,
326 LATITUDE | LONGITUDE | AZIMUTH |
327 REDUCEDLENGTH | GEODESICSCALE,
328 lat2, lon2, azi2, t, m12, M12, M21, t);
375 real& s12, real& m12, real& M12, real& M21,
377 GenPosition(
true, a12,
378 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE |
379 REDUCEDLENGTH | GEODESICSCALE | AREA,
380 lat2, lon2, azi2, s12, m12, M12, M21, S12);
389 GenPosition(
true, a12,
390 LATITUDE | LONGITUDE,
391 lat2, lon2, t, t, t, t, t, t);
398 real& lat2, real& lon2, real& azi2)
401 GenPosition(
true, a12,
402 LATITUDE | LONGITUDE | AZIMUTH,
403 lat2, lon2, azi2, t, t, t, t, t);
412 GenPosition(
true, a12,
413 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE,
414 lat2, lon2, azi2, s12, t, t, t, t);
421 real& s12, real& m12)
const {
423 GenPosition(
true, a12,
424 LATITUDE | LONGITUDE | AZIMUTH |
425 DISTANCE | REDUCEDLENGTH,
426 lat2, lon2, azi2, s12, m12, t, t, t);
433 real& s12, real& M12, real& M21)
436 GenPosition(
true, a12,
437 LATITUDE | LONGITUDE | AZIMUTH |
438 DISTANCE | GEODESICSCALE,
439 lat2, lon2, azi2, s12, t, M12, M21, t);
446 real& s12, real& m12, real& M12, real& M21)
449 GenPosition(
true, a12,
450 LATITUDE | LONGITUDE | AZIMUTH |
451 DISTANCE | REDUCEDLENGTH | GEODESICSCALE,
452 lat2, lon2, azi2, s12, m12, M12, M21, t);
519 Math::real GenPosition(
bool arcmode, real s12_a12,
unsigned outmask,
520 real& lat2, real& lon2, real& azi2,
521 real& s12, real& m12, real& M12, real& M21,
533 bool Init()
const {
return _caps != 0U; }
608 return (_caps & testcaps) == testcaps;
616 #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
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