.. _program_listing_file_src_navtk_inertial_inertial_functions.hpp: Program Listing for File inertial_functions.hpp =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/navtk/inertial/inertial_functions.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include namespace navtk { namespace inertial { Vector3 calc_force_ned(const Matrix3& C_s_to_n, double dt, const Vector3& dth, const Vector3& dv); Vector3 calc_force_ned(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva1, const aspn_xtensor::MeasurementPositionVelocityAttitude& pva2); Vector3 calc_rot_rate(const Matrix3& C_s_to_n0, double r_e, double r_n, double alt0, double cos_l, double dt, const Vector3& dth, double sin_l, double tan_l, const Vector3& v_ned0, double omega = navutils::ROTATION_RATE); Vector3 calc_rot_rate(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva, double dt, const Vector3& dth); // TODO: #690 Implement a more robust alternative which doesn't make a small angle assumption. Vector3 calc_rot_rate(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva1, const aspn_xtensor::MeasurementPositionVelocityAttitude& pva2); double apply_aiding_alt_accel(double r_zero, Vector3* accel_vector, AidingAltData* aiding_alt_data, double alt0, double dt, const Vector3& g); Vector3 calc_force_and_acceleration_offset(double r_e, double r_n, double alt0, double cos_l, const Vector3& g, double sec_l, double sin_l, const Vector3& v_ned0, double omega = navutils::ROTATION_RATE); } // namespace inertial } // namespace navtk