NETGeographicLib
1.51
|
.NET wrapper for GeographicLib::GravityCircle. More...
#include <NETGeographicLib/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) |
Inspector functions | |
bool | Init [get] |
double | EquatorialRadius [get] |
double | Flattening [get] |
double | Latitude [get] |
double | Height [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 Geoid heights on a multi-processor system 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, EquatorialRadius, 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.
NETGeographicLib::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.
Referenced by ~GravityCircle().
|
inline |
The destructor calls the finalizer.
Definition at line 64 of file GravityCircle.h.
References GravityCircle().
double NETGeographicLib::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.
double NETGeographicLib::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). |
double NETGeographicLib::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 Details of the geoid height and anomaly calculations.
void NETGeographicLib::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 Details of the geoid height and anomaly calculations.
double NETGeographicLib::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). |
double NETGeographicLib::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). |
double NETGeographicLib::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). |
double NETGeographicLib::GravityCircle::T | ( | double | lon | ) |
Evaluate disturbing potential in geocentric coordinates.
[in] | lon | the geographic longitude (degrees). |
GravityModel::Mask NETGeographicLib::GravityCircle::Capabilities | ( | ) |
bool NETGeographicLib::GravityCircle::Capabilities | ( | GravityModel::Mask | testcaps | ) |
[in] | testcaps | a set of bitor'ed GeodesicLine::mask values. |
|
get |
Definition at line 203 of file GravityCircle.h.
|
get |
Definition at line 203 of file GravityCircle.h.
|
get |
Definition at line 203 of file GravityCircle.h.
|
get |
Definition at line 203 of file GravityCircle.h.
|
get |
Definition at line 203 of file GravityCircle.h.