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,
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
NETGeographicLib::GravityModel::CapType::CAP_GAMMA0
@ CAP_GAMMA0
NETGeographicLib::GravityModel::W
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:100
NETGeographicLib::GravityModel::GravityFile
property System::String GravityFile
Definition: GravityModel.h:446
name
Annotation for function names.
Definition: attr.h:51
Y
const char Y
Definition: test/EulerAngles.cpp:31
NETGeographicLib::GravityModel::DefaultGravityPath
static System::String DefaultGravityPath()
Definition: dotnet/NETGeographicLib/GravityModel.cpp:217
NETGeographicLib::GravityCircle
.NET wrapper for GeographicLib::GravityCircle.
Definition: GravityCircle.h:45
screwPose2::xi
Vector xi
Definition: testPose2.cpp:148
NETGeographicLib::GravityModel::Description
property System::String Description
Definition: GravityModel.h:436
NETGeographicLib::GravityModel::V
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:114
NETGeographicLib::GravityModel::Mask
Mask
Definition: GravityModel.h:109
NETGeographicLib::GravityModel::Disturbance
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:67
NETGeographicLib::GravityModel::MajorRadius
property double MajorRadius
Definition: GravityModel.h:463
NETGeographicLib::GravityModel::~GravityModel
~GravityModel()
Definition: GravityModel.h:177
NETGeographicLib::GravityModel
.NET wrapper for GeographicLib::GravityModel.
Definition: GravityModel.h:83
X
#define X
Definition: icosphere.cpp:20
NETGeographicLib::GravityModel::U
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:148
h
const double h
Definition: testSimpleHelicopter.cpp:19
NETGeographicLib::GravityModel::CapType::CAP_T
@ CAP_T
NETGeographicLib::GravityModel::GravityModelName
property System::String GravityModelName
Definition: GravityModel.h:452
NETGeographicLib::GravityModel::GravityModelDirectory
property System::String GravityModelDirectory
Definition: GravityModel.h:458
NETGeographicLib::GravityModel::Mask::GEOID_HEIGHT
@ GEOID_HEIGHT
NETGeographicLib::GravityModel::GravityModel
GravityModel(System::String^ name, System::String^ path)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:32
NETGeographicLib::GravityModel::CapType::CAP_GAMMA
@ CAP_GAMMA
NETGeographicLib::GravityModel::ReferenceMassConstant
property double ReferenceMassConstant
Definition: GravityModel.h:477
NETGeographicLib::NormalGravity
.NET wrapper for GeographicLib::NormalGravity.
Definition: NormalGravity.h:71
NETGeographicLib::GravityModel::Flattening
property double Flattening
Definition: GravityModel.h:488
NETGeographicLib::GravityModel::Mask::GRAVITY
@ GRAVITY
NETGeographicLib::GravityModel::CapType::CAP_C
@ CAP_C
NETGeographicLib::GravityModel::Circle
GravityCircle Circle(double lat, double h, Mask caps)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:174
NETGeographicLib::GravityModel::GeoidHeight
double GeoidHeight(double lat, double lon)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:81
NETGeographicLib::GravityModel::Phi
double Phi(double X, double Y, [System::Runtime::InteropServices::Out] double% fX, [System::Runtime::InteropServices::Out] double% fY)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:162
NETGeographicLib::GravityModel::Mask::NONE
@ NONE
NETGeographicLib::GravityModel::DateTime
property System::String DateTime
Definition: GravityModel.h:441
NETGeographicLib::GravityModel::DefaultGravityName
static System::String DefaultGravityName()
Definition: dotnet/NETGeographicLib/GravityModel.cpp:230
NETGeographicLib::GravityModel::CapType
CapType
Definition: GravityModel.h:92
NETGeographicLib::GravityModel::CapType::CAP_NONE
@ CAP_NONE
NETGeographicLib::GravityModel::SphericalAnomaly
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:87
NETGeographicLib::GravityModel::Mask::DISTURBANCE
@ DISTURBANCE
matlab_wrap.path
path
Definition: matlab_wrap.py:66
AngularVelocity
Definition: testRot3.cpp:328
NETGeographicLib::GravityModel::m_pGravityModel
const GeographicLib::GravityModel * m_pGravityModel
Definition: GravityModel.h:87
NETGeographicLib::GravityModel::Gravity
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:53
NETGeographicLib::GravityModel::MassConstant
property double MassConstant
Definition: GravityModel.h:471
NETGeographicLib::Mask
Mask
Definition: NETGeographicLib.h:38
NETGeographicLib::GravityModel::CapType::CAP_DELTA
@ CAP_DELTA
lon
static const double lon
Definition: testGeographicLib.cpp:34
NETGeographicLib::GravityModel::Mask::SPHERICAL_ANOMALY
@ SPHERICAL_ANOMALY
NETGeographicLib::GravityModel::Mask::DISTURBING_POTENTIAL
@ DISTURBING_POTENTIAL
NETGeographicLib::GravityModel::ReferenceEllipsoid
NormalGravity ReferenceEllipsoid()
Definition: dotnet/NETGeographicLib/GravityModel.cpp:243
NETGeographicLib::GravityModel::T
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)
Definition: dotnet/NETGeographicLib/GravityModel.cpp:128
Z
#define Z
Definition: icosphere.cpp:21
GeographicLib::GravityModel
Model of the earth's gravity field.
Definition: GravityModel.hpp:83
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib::GravityModel::CapType::CAP_G
@ CAP_G
NETGeographicLib
Definition: Accumulator.h:13
NETGeographicLib::GravityModel::CapType::CAP_ALL
@ CAP_ALL
lat
static const double lat
Definition: testGeographicLib.cpp:34
NETGeographicLib::GravityModel::Mask::ALL
@ ALL


gtsam
Author(s):
autogenerated on Mon Jul 1 2024 03:01:23