X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCockpit%2Fnavcom.hxx;h=698a50391beb13833919517762447d06f362e90f;hb=c0b4531d04215f76f9cf65afbdaed6b7c0b32634;hp=35bdf6cba31958342f9fa9ebd278b989908f586f;hpb=ba8b2bfca39cf04a9ac8446bd9703759b0700358;p=flightgear.git diff --git a/src/Cockpit/navcom.hxx b/src/Cockpit/navcom.hxx index 35bdf6cba..698a50391 100644 --- a/src/Cockpit/navcom.hxx +++ b/src/Cockpit/navcom.hxx @@ -25,11 +25,10 @@ #define _FG_NAVCOM_HXX -#include
#include
#include - +#include #include #include @@ -37,7 +36,7 @@ #include #include -class FGNavCom : public FGSubsystem +class FGNavCom : public SGSubsystem { FGMorse morse; @@ -49,8 +48,8 @@ class FGNavCom : public FGSubsystem SGPropertyNode *lat_node; SGPropertyNode *alt_node; SGPropertyNode *bus_power; - SGPropertyNode *com_servicable, *nav_servicable; - SGPropertyNode *cdi_servicable, *gs_servicable, *tofrom_servicable; + SGPropertyNode *com_serviceable, *nav_serviceable; + SGPropertyNode *cdi_serviceable, *gs_serviceable, *tofrom_serviceable; string last_nav_id; bool last_nav_vor; @@ -89,9 +88,16 @@ class FGNavCom : public FGSubsystem bool nav_loc; double nav_freq; double nav_alt_freq; - double nav_radial; + double nav_heading; // true heading to nav station + double nav_radial; // current radial we are on (taking + // into consideration the vor station + // alignment which likely doesn't + // match the magnetic alignment + // exactly.) double nav_sel_radial; double nav_target_radial; + double nav_target_radial_true; + double nav_target_auto_hdg; double nav_loclon; double nav_loclat; double nav_x; @@ -106,6 +112,7 @@ class FGNavCom : public FGSubsystem sgdVec3 gs_base_vec; double nav_gs_dist; double nav_gs_dist_signed; + double nav_gs_rate_of_climb; SGTimeStamp prev_time; SGTimeStamp curr_time; double nav_elev; @@ -115,6 +122,8 @@ class FGNavCom : public FGSubsystem double nav_twist; double nav_vol_btn; bool nav_ident_btn; + double horiz_vel; + double last_x; // model standard VOR/DME/TACAN service volumes as per AIM 1-1-8 double adjustNavRange( double stationElev, double aircraftElev, @@ -190,6 +199,12 @@ public: inline double get_nav_alt_freq () const { return nav_alt_freq; } inline double get_nav_sel_radial() const { return nav_sel_radial; } inline double get_nav_target_radial() const { return nav_target_radial; } + inline double get_nav_target_radial_true() const { + return nav_target_radial_true; + } + inline double get_nav_target_auto_hdg() const { + return nav_target_auto_hdg; + } // Calculated values. inline bool get_comm_inrange() const { return comm_inrange; } @@ -212,12 +227,17 @@ public: inline double get_nav_gslat() const { return nav_gslat; } inline double get_nav_gs_dist() const { return nav_gs_dist; } inline double get_nav_gs_dist_signed() const { return nav_gs_dist_signed; } + inline double get_nav_gs_rate_of_climb() const { + return nav_gs_rate_of_climb; + } inline double get_nav_elev() const { return nav_elev; } + double get_nav_heading() const; double get_nav_radial() const; double get_nav_reciprocal_radial() const; inline double get_nav_target_gs() const { return nav_target_gs; } inline double get_nav_twist() const { return nav_twist; } double get_nav_cdi_deflection() const; + double get_nav_cdi_xtrack_error() const; double get_nav_gs_deflection() const; inline double get_nav_vol_btn() const { return nav_vol_btn; } inline bool get_nav_ident_btn() const { return nav_ident_btn; }