10 #if !defined(GEOGRAPHICLIB_GRAVITYMODEL_HPP)
11 #define GEOGRAPHICLIB_GRAVITYMODEL_HPP 1
20 # pragma warning (push)
21 # pragma warning (disable: 4251)
87 static const int idlength_ = 8;
88 std::string _name, _dir, _description, _date, _filename, _id;
89 real _amodel, _GMmodel, _zeta0, _corrmult;
93 std::vector<real> _Cx, _Sx, _CC, _CS, _zonal;
98 void ReadMetadata(
const std::string& name);
100 real& deltaX, real& deltaY, real& deltaZ,
101 bool gradp,
bool correct)
const;
109 CAP_DELTA = 1U<<2 | CAP_T,
138 DISTURBANCE = CAP_DELTA,
144 DISTURBING_POTENTIAL = CAP_T,
149 SPHERICAL_ANOMALY = CAP_DELTA | CAP_GAMMA,
154 GEOID_HEIGHT = CAP_T | CAP_C | CAP_GAMMA0,
193 const std::string& path =
"",
194 int Nmax = -1,
int Mmax = -1);
337 real& deltaX, real& deltaY, real& deltaZ)
const
338 {
return InternalT(X, Y, Z, deltaX, deltaY, deltaZ,
true,
true); }
351 return InternalT(X, Y, Z, dummy, dummy, dummy,
false,
true);
374 real& gammaX, real& gammaY, real& gammaZ)
const
375 {
return _earth.
U(X, Y, Z, gammaX, gammaY, gammaZ); }
392 {
return _earth.
Phi(X, Y, fX, fY); }
451 const std::string&
DateTime()
const {
return _date; }
515 Math::real MajorRadius()
const {
return EquatorialRadius(); }
528 static std::string DefaultGravityPath();
539 static std::string DefaultGravityName();
544 #if defined(_MSC_VER)
545 # pragma warning (pop)
Header for GeographicLib::Constants class.
#define GEOGRAPHICLIB_EXPORT
#define GEOGRAPHICLIB_DEPRECATED(msg)
GeographicLib::Math::real real
Header for GeographicLib::NormalGravity class.
Header for GeographicLib::SphericalHarmonic1 class.
Header for GeographicLib::SphericalHarmonic class.
Gravity on a circle of latitude.
Model of the earth's gravity field.
Math::real ReferenceMassConstant() const
const std::string & DateTime() const
const std::string & GravityModelDirectory() const
Math::real Flattening() const
Math::real T(real X, real Y, real Z, real &deltaX, real &deltaY, real &deltaZ) const
const NormalGravity & ReferenceEllipsoid() const
Math::real MassConstant() const
const std::string & GravityFile() const
Math::real EquatorialRadius() const
const std::string & Description() const
Math::real Phi(real X, real Y, real &fX, real &fY) const
const std::string & GravityModelName() const
Math::real U(real X, real Y, real Z, real &gammaX, real &gammaY, real &gammaZ) const
Math::real T(real X, real Y, real Z) const
Math::real AngularVelocity() const
Mathematical functions needed by GeographicLib.
The normal gravity of the earth.
Math::real EquatorialRadius() const
Math::real Flattening() const
Math::real AngularVelocity() const
Math::real Phi(real X, real Y, real &fX, real &fY) const
Math::real MassConstant() const
Math::real U(real X, real Y, real Z, real &gammaX, real &gammaY, real &gammaZ) const
Spherical harmonic series with a correction to the coefficients.
Spherical harmonic series.
Namespace for GeographicLib.