0.2.0
|
Different Gravity Models. More...
Go to the source code of this file.
Enumerations | |
enum class | NAV::GravitationModel : int { None , WGS84 , WGS84_Skydel , Somigliana , EGM96 , COUNT } |
Available Gravitation Models. More... | |
Functions | |
bool | NAV::ComboGravitationModel (const char *label, GravitationModel &gravitationModel) |
Shows a ComboBox to select the gravitation model. | |
template<typename Derived > | |
Eigen::Vector3< typename Derived::Scalar > | NAV::n_calcGravitation (const Eigen::MatrixBase< Derived > &lla_position, GravitationModel gravitationModel=GravitationModel::EGM96) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) | |
template<typename Derived > | |
Eigen::Vector3< typename Derived::Scalar > | NAV::n_calcGravitation_EGM96 (const Eigen::MatrixBase< Derived > &lla_position, size_t ndegree=10) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the EGM96 spherical harmonic model (up to order 10) | |
template<typename Scalar , typename = std::enable_if_t<std::is_floating_point_v<Scalar>>> | |
Eigen::Vector3< Scalar > | NAV::n_calcGravitation_SomiglianaAltitude (const Scalar &latitude, const Scalar &altitude) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the Somigliana model and makes corrections for altitude. | |
template<typename Scalar , typename = std::enable_if_t<std::is_floating_point_v<Scalar>>> | |
Eigen::Vector3< Scalar > | NAV::n_calcGravitation_WGS84 (const Scalar &latitude, const Scalar &altitude) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential. | |
template<typename Scalar , typename = std::enable_if_t<std::is_floating_point_v<Scalar>>> | |
Eigen::Vector3< Scalar > | NAV::n_calcGravitation_WGS84_Skydel (const Scalar &latitude, const Scalar &altitude) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential. However, the north component of the centrifugal acceleration is neglected in order to match the implementation of Skydel's 'ImuPlugin'. | |
const char * | NAV::to_string (GravitationModel gravitationModel) |
Converts the enum to a string. | |
Different Gravity Models.
|
strong |
Available Gravitation Models.
bool NAV::ComboGravitationModel | ( | const char * | label, |
GravitationModel & | gravitationModel ) |
Shows a ComboBox to select the gravitation model.
[in] | label | Label to show beside the combo box. This has to be a unique id for ImGui. |
[in] | gravitationModel | Reference to the gravitation model to select |
Eigen::Vector3< typename Derived::Scalar > NAV::n_calcGravitation | ( | const Eigen::MatrixBase< Derived > & | lla_position, |
GravitationModel | gravitationModel = GravitationModel::EGM96 ) |
Calculates the gravitation (acceleration due to mass attraction of the Earth)
[in] | lla_position | [ϕ, λ, h] Latitude, Longitude, Altitude in [rad, rad, m] |
[in] | gravitationModel | Gravitation model to use |
Eigen::Vector3< typename Derived::Scalar > NAV::n_calcGravitation_EGM96 | ( | const Eigen::MatrixBase< Derived > & | lla_position, |
size_t | ndegree = 10 ) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the EGM96 spherical harmonic model (up to order 10)
[in] | lla_position | [ϕ, λ, h] Latitude, Longitude, Altitude in [rad, rad, m] |
[in] | ndegree | Degree of the EGM96 (1 <= ndegree <= 10) |
Eigen::Vector3< Scalar > NAV::n_calcGravitation_SomiglianaAltitude | ( | const Scalar & | latitude, |
const Scalar & | altitude ) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the Somigliana model and makes corrections for altitude.
[in] | latitude | Latitude in [rad] |
[in] | altitude | Altitude in [m] |
Eigen::Vector3< Scalar > NAV::n_calcGravitation_WGS84 | ( | const Scalar & | latitude, |
const Scalar & | altitude ) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential.
[in] | latitude | Latitude in [rad] |
[in] | altitude | Altitude in [m] |
Eigen::Vector3< Scalar > NAV::n_calcGravitation_WGS84_Skydel | ( | const Scalar & | latitude, |
const Scalar & | altitude ) |
Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential. However, the north component of the centrifugal acceleration is neglected in order to match the implementation of Skydel's 'ImuPlugin'.
[in] | latitude | Latitude in [rad] |
[in] | altitude | Altitude in [m] |
const char * NAV::to_string | ( | GravitationModel | gravitationModel | ) |
Converts the enum to a string.
[in] | gravitationModel | Enum value to convert into text |