.NET wrapper for GeographicLib::GravityCircle. More...
#include <GravityCircle.h>
Public Member Functions | |
GravityCircle (const GeographicLib::GravityCircle &gc) | |
~GravityCircle () | |
Compute the gravitational field | |
double | Gravity (double lon, [System::Runtime::InteropServices::Out] double%gx, [System::Runtime::InteropServices::Out] double%gy, [System::Runtime::InteropServices::Out] double%gz) |
double | Disturbance (double lon, [System::Runtime::InteropServices::Out] double%deltax, [System::Runtime::InteropServices::Out] double%deltay, [System::Runtime::InteropServices::Out] double%deltaz) |
double | GeoidHeight (double lon) |
void | SphericalAnomaly (double lon, [System::Runtime::InteropServices::Out] double%Dg01, [System::Runtime::InteropServices::Out] double%xi, [System::Runtime::InteropServices::Out] double%eta) |
double | W (double lon, [System::Runtime::InteropServices::Out] double%gX, [System::Runtime::InteropServices::Out] double%gY, [System::Runtime::InteropServices::Out] double%gZ) |
double | V (double lon, [System::Runtime::InteropServices::Out] double%GX, [System::Runtime::InteropServices::Out] double%GY, [System::Runtime::InteropServices::Out] double%GZ) |
double | T (double lon, [System::Runtime::InteropServices::Out] double%deltaX, [System::Runtime::InteropServices::Out] double%deltaY, [System::Runtime::InteropServices::Out] double%deltaZ) |
double | T (double lon) |
Private Member Functions | |
!GravityCircle (void) | |
Private Attributes | |
const GeographicLib::GravityCircle * | m_pGravityCircle |
Inspector functions | |
property bool | Init { bool get() |
property double | MajorRadius { double get() |
property double | Flattening { double get() |
property double | Latitude { double get() |
property double | Height { double get() |
GravityModel::Mask | Capabilities () |
bool | Capabilities (GravityModel::Mask testcaps) |
.NET wrapper for GeographicLib::GravityCircle.
This class allows .NET applications to access GeographicLib::GravityCircle.
Evaluate the earth's gravity field on a circle of constant height and latitude. This uses a CircularEngine to pre-evaluate the inner sum of the spherical harmonic sum, allowing the values of the field at several different longitudes to be evaluated rapidly.
Use GravityModel::Circle to create a GravityCircle object. (The constructor for this class is private.)
See gravityparallel for an example of using GravityCircle (together with OpenMP) to speed up the computation of geoid heights.
C# Example:
Managed C++ Example:
Visual Basic Example:
INTERFACE DIFFERENCES:
The following functions are implemented as properties: Init, MajorRadius, Flattening, Latitude, and Height.
The Capabilities functions accept and return the "capabilities mask" as a NETGeographicLib::GravityModel::Mask rather than an unsigned.
Definition at line 45 of file GravityCircle.h.
|
private |
Definition at line 20 of file dotnet/NETGeographicLib/GravityCircle.cpp.
GravityCircle::GravityCircle | ( | const GeographicLib::GravityCircle & | gc | ) |
A constructor that is initialized from an unmanaged GeographicLib::GravityCircle. For internal use only. Developers should use GravityModel::Circle to create a GavityCircle object.
Definition at line 30 of file dotnet/NETGeographicLib/GravityCircle.cpp.
|
inline |
The destructor calls the finalizer.
Definition at line 64 of file GravityCircle.h.
GravityModel::Mask GravityCircle::Capabilities | ( | ) |
Definition at line 173 of file dotnet/NETGeographicLib/GravityCircle.cpp.
bool GravityCircle::Capabilities | ( | GravityModel::Mask | testcaps | ) |
[in] | testcaps | a set of bitor'ed GeodesicLine::mask values. |
Definition at line 177 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::Disturbance | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | deltax, | ||
[System::Runtime::InteropServices::Out] double% | deltay, | ||
[System::Runtime::InteropServices::Out] double% | deltaz | ||
) |
Evaluate the gravity disturbance vector.
[in] | lon | the geographic longitude (degrees). |
[out] | deltax | the easterly component of the disturbance vector (m s−2). |
[out] | deltay | the northerly component of the disturbance vector (m s−2). |
[out] | deltaz | the upward component of the disturbance vector (m s−2). |
Definition at line 57 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::GeoidHeight | ( | double | lon | ) |
Evaluate the geoid height.
[in] | lon | the geographic longitude (degrees). |
Some approximations are made in computing the geoid height so that the results of the NGA codes are reproduced accurately. Details are given in gravitygeoid.
Definition at line 71 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::Gravity | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | gx, | ||
[System::Runtime::InteropServices::Out] double% | gy, | ||
[System::Runtime::InteropServices::Out] double% | gz | ||
) |
Evaluate the gravity.
[in] | lon | the geographic longitude (degrees). |
[out] | gx | the easterly component of the acceleration (m s−2). |
[out] | gy | the northerly component of the acceleration (m s−2). |
[out] | gz | the upward component of the acceleration (m s−2); this is usually negative. |
The function includes the effects of the earth's rotation.
Definition at line 43 of file dotnet/NETGeographicLib/GravityCircle.cpp.
void GravityCircle::SphericalAnomaly | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | Dg01, | ||
[System::Runtime::InteropServices::Out] double% | xi, | ||
[System::Runtime::InteropServices::Out] double% | eta | ||
) |
Evaluate the components of the gravity anomaly vector using the spherical approximation.
[in] | lon | the geographic longitude (degrees). |
[out] | Dg01 | the gravity anomaly (m s−2). |
[out] | xi | the northerly component of the deflection of the vertical (degrees). |
[out] | eta | the easterly component of the deflection of the vertical (degrees). |
The spherical approximation (see Heiskanen and Moritz, Sec 2-14) is used so that the results of the NGA codes are reproduced accurately. approximations used here. Details are given in gravitygeoid.
Definition at line 77 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::T | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | deltaX, | ||
[System::Runtime::InteropServices::Out] double% | deltaY, | ||
[System::Runtime::InteropServices::Out] double% | deltaZ | ||
) |
Evaluate the components of the gravity disturbance in geocentric coordinates.
[in] | lon | the geographic longitude (degrees). |
[out] | deltaX | the X component of the gravity disturbance (m s−2). |
[out] | deltaY | the Y component of the gravity disturbance (m s−2). |
[out] | deltaZ | the Z component of the gravity disturbance (m s−2). |
Definition at line 118 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::T | ( | double | lon | ) |
Evaluate disturbing potential in geocentric coordinates.
[in] | lon | the geographic longitude (degrees). |
Definition at line 132 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::V | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | GX, | ||
[System::Runtime::InteropServices::Out] double% | GY, | ||
[System::Runtime::InteropServices::Out] double% | GZ | ||
) |
Evaluate the components of the acceleration due to gravity in geocentric coordinates.
[in] | lon | the geographic longitude (degrees). |
[out] | GX | the X component of the acceleration (m s−2). |
[out] | GY | the Y component of the acceleration (m s−2). |
[out] | GZ | the Z component of the acceleration (m s−2). |
Definition at line 104 of file dotnet/NETGeographicLib/GravityCircle.cpp.
double GravityCircle::W | ( | double | lon, |
[System::Runtime::InteropServices::Out] double% | gX, | ||
[System::Runtime::InteropServices::Out] double% | gY, | ||
[System::Runtime::InteropServices::Out] double% | gZ | ||
) |
Evaluate the components of the acceleration due to gravity and the centrifugal acceleration in geocentric coordinates.
[in] | lon | the geographic longitude (degrees). |
[out] | gX | the X component of the acceleration (m s−2). |
[out] | gY | the Y component of the acceleration (m s−2). |
[out] | gZ | the Z component of the acceleration (m s−2). |
Definition at line 90 of file dotnet/NETGeographicLib/GravityCircle.cpp.
property double NETGeographicLib::GravityCircle::Flattening { double get() |
Definition at line 230 of file GravityCircle.h.
property double NETGeographicLib::GravityCircle::Height { double get() |
Definition at line 244 of file GravityCircle.h.
property bool NETGeographicLib::GravityCircle::Init { bool get() |
Definition at line 213 of file GravityCircle.h.
property double NETGeographicLib::GravityCircle::Latitude { double get() |
Definition at line 237 of file GravityCircle.h.
|
private |
Definition at line 49 of file GravityCircle.h.
property double NETGeographicLib::GravityCircle::MajorRadius { double get() |
Definition at line 222 of file GravityCircle.h.