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 OUT_ALL = Geodesic::OUT_ALL,
198 unsigned caps = ALL);
253 real& lat2, real& lon2, real& azi2,
254 real& m12, real& M12, real& M21,
257 return GenPosition(
false, s12,
258 LATITUDE | LONGITUDE | AZIMUTH |
259 REDUCEDLENGTH | GEODESICSCALE | AREA,
260 lat2, lon2, azi2, t, m12, M12, M21, S12);
268 return GenPosition(
false, s12,
269 LATITUDE | LONGITUDE,
270 lat2, lon2, t, t, t, t, t, t);
279 return GenPosition(
false, s12,
280 LATITUDE | LONGITUDE | AZIMUTH,
281 lat2, lon2, azi2, t, t, t, t, t);
288 real& azi2, real& m12)
const {
290 return GenPosition(
false, s12,
291 LATITUDE | LONGITUDE |
292 AZIMUTH | REDUCEDLENGTH,
293 lat2, lon2, azi2, t, m12, t, t, t);
300 real& azi2, real& M12, real& M21)
303 return GenPosition(
false, s12,
304 LATITUDE | LONGITUDE |
305 AZIMUTH | GEODESICSCALE,
306 lat2, lon2, azi2, t, t, M12, M21, t);
313 real& lat2, real& lon2, real& azi2,
314 real& m12, real& M12, real& M21)
317 return GenPosition(
false, s12,
318 LATITUDE | LONGITUDE | AZIMUTH |
319 REDUCEDLENGTH | GEODESICSCALE,
320 lat2, lon2, azi2, t, m12, M12, M21, t);
367 real& s12, real& m12, real& M12, real& M21,
369 GenPosition(
true, a12,
370 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE |
371 REDUCEDLENGTH | GEODESICSCALE | AREA,
372 lat2, lon2, azi2, s12, m12, M12, M21, S12);
381 GenPosition(
true, a12,
382 LATITUDE | LONGITUDE,
383 lat2, lon2, t, t, t, t, t, t);
390 real& lat2, real& lon2, real& azi2)
393 GenPosition(
true, a12,
394 LATITUDE | LONGITUDE | AZIMUTH,
395 lat2, lon2, azi2, t, t, t, t, t);
404 GenPosition(
true, a12,
405 LATITUDE | LONGITUDE | AZIMUTH | DISTANCE,
406 lat2, lon2, azi2, s12, t, t, t, t);
413 real& s12, real& m12)
const {
415 GenPosition(
true, a12,
416 LATITUDE | LONGITUDE | AZIMUTH |
417 DISTANCE | REDUCEDLENGTH,
418 lat2, lon2, azi2, s12, m12, t, t, t);
425 real& s12, real& M12, real& M21)
428 GenPosition(
true, a12,
429 LATITUDE | LONGITUDE | AZIMUTH |
430 DISTANCE | GEODESICSCALE,
431 lat2, lon2, azi2, s12, t, M12, M21, t);
438 real& s12, real& m12, real& M12, real& M21)
441 GenPosition(
true, a12,
442 LATITUDE | LONGITUDE | AZIMUTH |
443 DISTANCE | REDUCEDLENGTH | GEODESICSCALE,
444 lat2, lon2, azi2, s12, m12, M12, M21, t);
503 Math::real GenPosition(
bool arcmode, real s12_a12,
unsigned outmask,
504 real& lat2, real& lon2, real& azi2,
505 real& s12, real& m12, real& M12, real& M21,
517 bool Init()
const {
return _caps != 0U; }
592 return (_caps & testcaps) == testcaps;
600 #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