GravityModel.h
Go to the documentation of this file.
1 #pragma once
2 
13 namespace NETGeographicLib
14 {
15  ref class GravityCircle;
16  ref class NormalGravity;
83  public ref class GravityModel
84  {
85  private:
86  // pointer to the unmanaged GeographicLib::GravityModel.
88 
89  // the finalizer frees the unmanaged memory when the object is destroyed.
90  !GravityModel(void);
91 
92  enum class CapType {
93  CAP_NONE = 0U,
94  CAP_G = 1U<<0, // implies potentials W and V
95  CAP_T = 1U<<1,
96  CAP_DELTA = 1U<<2 | CapType::CAP_T, // delta implies T?
97  CAP_C = 1U<<3,
98  CAP_GAMMA0 = 1U<<4,
99  CAP_GAMMA = 1U<<5,
100  CAP_ALL = 0x3FU,
101  };
102 
103  public:
104 
109  enum class Mask {
114  NONE = 0U,
120  GRAVITY = CapType::CAP_G,
125  DISTURBANCE = CapType::CAP_DELTA,
131  DISTURBING_POTENTIAL = CapType::CAP_T,
136  SPHERICAL_ANOMALY = CapType::CAP_DELTA | CapType::CAP_GAMMA,
147  };
150 
171  GravityModel(System::String^ name, System::String^ path);
173 
178  { this->!GravityModel(); }
179 
182 
200  double Gravity(double lat, double lon, double h,
201  [System::Runtime::InteropServices::Out] double% gx,
202  [System::Runtime::InteropServices::Out] double% gy,
203  [System::Runtime::InteropServices::Out] double% gz);
204 
220  double Disturbance(double lat, double lon, double h,
221  [System::Runtime::InteropServices::Out] double% deltax,
222  [System::Runtime::InteropServices::Out] double% deltay,
223  [System::Runtime::InteropServices::Out] double% deltaz);
224 
238  double GeoidHeight(double lat, double lon);
239 
257  void SphericalAnomaly(double lat, double lon, double h,
258  [System::Runtime::InteropServices::Out] double% Dg01,
259  [System::Runtime::InteropServices::Out] double% xi,
260  [System::Runtime::InteropServices::Out] double% eta);
262 
265 
284  double W(double X, double Y, double Z,
285  [System::Runtime::InteropServices::Out] double% gX,
286  [System::Runtime::InteropServices::Out] double% gY,
287  [System::Runtime::InteropServices::Out] double% gZ);
288 
305  double V(double X, double Y, double Z,
306  [System::Runtime::InteropServices::Out] double% GX,
307  [System::Runtime::InteropServices::Out] double% GY,
308  [System::Runtime::InteropServices::Out] double% GZ);
309 
326  double T(double X, double Y, double Z,
327  [System::Runtime::InteropServices::Out] double% deltaX,
328  [System::Runtime::InteropServices::Out] double% deltaY,
329  [System::Runtime::InteropServices::Out] double% deltaZ);
330 
340  double T(double X, double Y, double Z);
341 
361  double U(double X, double Y, double Z,
362  [System::Runtime::InteropServices::Out] double% gammaX,
363  [System::Runtime::InteropServices::Out] double% gammaY,
364  [System::Runtime::InteropServices::Out] double% gammaZ);
365 
380  double Phi(double X, double Y,
381  [System::Runtime::InteropServices::Out] double% fX,
382  [System::Runtime::InteropServices::Out] double% fY);
384 
387 
420  GravityCircle^ Circle(double lat, double h, Mask caps );
422 
425 
431 
436  property System::String^ Description { System::String^ get(); }
437 
441  property System::String^ DateTime { System::String^ get(); }
442 
446  property System::String^ GravityFile { System::String^ get(); }
447 
452  property System::String^ GravityModelName { System::String^ get(); }
453 
457  property System::String^ GravityModelDirectory
458  { System::String^ get(); }
459 
463  property double MajorRadius { double get(); }
464 
471  property double MassConstant { double get(); }
472 
477  property double ReferenceMassConstant { double get(); }
478 
483  property double AngularVelocity { double get(); }
484 
488  property double Flattening { double get(); }
490 
500  static System::String^ DefaultGravityPath();
501 
510  static System::String^ DefaultGravityName();
511  };
512 } //namespace NETGeographicLib
property double ReferenceMassConstant
Definition: GravityModel.h:477
const char Y
void SphericalAnomaly(double lat, double lon, double h, [System::Runtime::InteropServices::Out] double% Dg01, [System::Runtime::InteropServices::Out] double% xi, [System::Runtime::InteropServices::Out] double% eta)
static const double lat
.NET wrapper for GeographicLib::GravityCircle.
Definition: GravityCircle.h:45
double U(double X, double Y, double Z, [System::Runtime::InteropServices::Out] double% gammaX, [System::Runtime::InteropServices::Out] double% gammaY, [System::Runtime::InteropServices::Out] double% gammaZ)
GravityModel(System::String^ name, System::String^ path)
const GeographicLib::GravityModel * m_pGravityModel
Definition: GravityModel.h:87
double Gravity(double lat, double lon, double h, [System::Runtime::InteropServices::Out] double% gx, [System::Runtime::InteropServices::Out] double% gy, [System::Runtime::InteropServices::Out] double% gz)
property System::String DateTime
Definition: GravityModel.h:441
double T(double X, double Y, double Z, [System::Runtime::InteropServices::Out] double% deltaX, [System::Runtime::InteropServices::Out] double% deltaY, [System::Runtime::InteropServices::Out] double% deltaZ)
property System::String Description
Definition: GravityModel.h:436
#define Z
Definition: icosphere.cpp:21
.NET wrapper for GeographicLib::NormalGravity.
Definition: NormalGravity.h:71
double Disturbance(double lat, double lon, double h, [System::Runtime::InteropServices::Out] double% deltax, [System::Runtime::InteropServices::Out] double% deltay, [System::Runtime::InteropServices::Out] double% deltaz)
property System::String GravityFile
Definition: GravityModel.h:446
property System::String GravityModelName
Definition: GravityModel.h:452
double W(double X, double Y, double Z, [System::Runtime::InteropServices::Out] double% gX, [System::Runtime::InteropServices::Out] double% gY, [System::Runtime::InteropServices::Out] double% gZ)
double V(double X, double Y, double Z, [System::Runtime::InteropServices::Out] double% GX, [System::Runtime::InteropServices::Out] double% GY, [System::Runtime::InteropServices::Out] double% GZ)
property System::String GravityModelDirectory
Definition: GravityModel.h:458
Vector xi
Definition: testPose2.cpp:148
Model of the earth&#39;s gravity field.
const double h
double Phi(double X, double Y, [System::Runtime::InteropServices::Out] double% fX, [System::Runtime::InteropServices::Out] double% fY)
GravityCircle Circle(double lat, double h, Mask caps)
static const double lon
.NET wrapper for GeographicLib::GravityModel.
Definition: GravityModel.h:83
Annotation for function names.
Definition: attr.h:48
#define X
Definition: icosphere.cpp:20


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:34:19