.. _program_listing_file_src_navtk_navutils_navigation.hpp: Program Listing for File navigation.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/navtk/navutils/navigation.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include namespace navtk { namespace navutils { Matrix3 axis_angle_to_dcm(const Vector3 &axis, double angle); Matrix calc_van_loan(const Matrix &F, const Matrix &G, const Matrix &Q, double dt); Matrix3 correct_dcm_with_tilt(const Matrix3 &dcm, const Vector3 &tilt); Vector4 dcm_to_quat(const Matrix3 &dcm); Vector3 dcm_to_rpy(const Matrix3 &dcm); double delta_lat_to_north(double delta_lat, double approx_lat, double altitude = 0.0); double delta_lon_to_east(double delta_lon, double approx_lat, double altitude = 0.0); std::pair discretize_first_order(const Matrix &f, const Matrix &q, double dt); std::pair discretize_second_order(const Matrix &f, const Matrix &q, double dt); std::pair discretize_van_loan(const Matrix &f, const Matrix &q, double dt); double east_to_delta_lon(double east_distance, double approx_lat, double altitude = 0.0); Matrix3 ecef_to_cen(const Vector3 &Pe); Vector3 ecef_to_llh(const Vector3 &Pe); Vector3 ecef_to_local_level(const Vector3 &P0e, const Vector3 &Pe); Matrix3 llh_to_cen(const Vector3 &Pwgs); Vector3 llh_to_ecef(const Vector3 &Pwgs); Vector3 local_level_to_ecef(const Vector3 &P0e, const Vector3 &Pn); double meridian_radius(double latitude); double north_to_delta_lat(double north_distance, double approx_lat, double altitude = 0.0); Matrix3 quat_to_dcm(const Vector4 &quat); Vector3 quat_to_rpy(const Vector4 &quat); Matrix3 rpy_to_dcm(const Vector3 &rpy); Vector4 rpy_to_quat(const Vector3 &rpy); double transverse_radius(double latitude); Matrix3 wander_to_C_enu_to_n(double wander); Matrix3 wander_to_C_ned_to_n(double wander); Matrix3 wander_to_C_ned_to_l(double wander); Matrix3 lat_lon_wander_to_C_n_to_e(double lat, double lon, double wander = 0.0); Vector3 C_n_to_e_to_lat_lon_wander(const Matrix &C_n_to_e); double C_n_to_e_to_wander(const Matrix3 &C_n_to_e); std::pair ecef_wander_to_C_n_to_e_h(const Vector3 &ecef_pos, double wander = 0.0); Vector3 C_n_to_e_h_to_llh(const Matrix3 &C_n_to_e, double h); Vector3 C_n_to_e_h_to_ecef(const Matrix3 &C_n_to_e, double h); Matrix3 C_ecef_to_e(); Matrix3 rot_vec_to_dcm(const Vector3 &phi); std::pair geoid_minus_ellipsoid(double latitude, double longitude, const std::string &path = "WW15MGH.GRD"); std::pair hae_to_msl(double hae, double latitude, double longitude, const std::string &path = "WW15MGH.GRD"); std::pair msl_to_hae(double msl, double latitude, double longitude, const std::string &path = "WW15MGH.GRD"); } // namespace navutils } // namespace navtk