X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCockpit%2Fcockpit.cxx;h=54ccd2a232706f45fe8f8fa8d7a25a1e86f718f2;hb=8e5f3ac8a333a971d7f8104a387426c3bc47a014;hp=0414a0f6a0ae4fb0a15f3cde660c52bde07fbed4;hpb=4023bdaf26885997e539f4977d721d17ae85f346;p=flightgear.git diff --git a/src/Cockpit/cockpit.cxx b/src/Cockpit/cockpit.cxx index 0414a0f6a..54ccd2a23 100644 --- a/src/Cockpit/cockpit.cxx +++ b/src/Cockpit/cockpit.cxx @@ -36,11 +36,8 @@ #include #include -#include #include -#ifdef ENABLE_SP_FDM -#include -#endif + #include
#include
#include
@@ -51,7 +48,6 @@ #include "cockpit.hxx" #include "hud.hxx" - // The following routines obtain information concerntin the aircraft's // current state and return it to calling instrument display routines. // They should eventually be member functions of the aircraft. @@ -59,14 +55,14 @@ float get_latitude( void ) { - return current_aircraft.fdm_state->get_Latitude() * SGD_RADIANS_TO_DEGREES; + return fgGetDouble("/position/latitude-deg"); } float get_lat_min( void ) { double a, d; - a = current_aircraft.fdm_state->get_Latitude() * SGD_RADIANS_TO_DEGREES; + a = fgGetDouble("/position/latitude-deg"); if (a < 0.0) { a = -a; } @@ -79,7 +75,7 @@ float get_lat_min( void ) float get_longitude( void ) { - return current_aircraft.fdm_state->get_Longitude() * SGD_RADIANS_TO_DEGREES; + return fgGetDouble("/position/longitude-deg"); } @@ -99,7 +95,7 @@ get_formated_gmt_time( void ) float get_long_min( void ) { double a, d; - a = current_aircraft.fdm_state->get_Longitude() * SGD_RADIANS_TO_DEGREES; + a = fgGetDouble("/position/longitude-deg"); if (a < 0.0) { a = -a; } @@ -139,7 +135,7 @@ float get_speed( void ) { static const SGPropertyNode * speedup_node = fgGetNode("/sim/speed-up"); - float speed = current_aircraft.fdm_state->get_V_calibrated_kts() + float speed = fgGetDouble("/velocities/airspeed-kt") * speedup_node->getIntValue(); return speed; @@ -147,27 +143,27 @@ float get_speed( void ) float get_mach(void) { - return current_aircraft.fdm_state->get_Mach_number(); + return fgGetDouble("/velocities/mach"); } float get_aoa( void ) { - return current_aircraft.fdm_state->get_Alpha() * SGD_RADIANS_TO_DEGREES; + return fgGetDouble("/orientation/alpha-deg"); } float get_roll( void ) { - return current_aircraft.fdm_state->get_Phi(); + return fgGetDouble("/orientation/roll-deg") * SG_DEGREES_TO_RADIANS; } float get_pitch( void ) { - return current_aircraft.fdm_state->get_Theta(); + return fgGetDouble("/orientation/pitch-deg") * SG_DEGREES_TO_RADIANS; } float get_heading( void ) { - return current_aircraft.fdm_state->get_Psi() * SGD_RADIANS_TO_DEGREES; + return fgGetDouble("/orientation/heading-deg"); } float get_altitude( void ) @@ -175,16 +171,11 @@ float get_altitude( void ) static const SGPropertyNode *startup_units_node = fgGetNode("/sim/startup/units"); - float altitude; - if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { - altitude = current_aircraft.fdm_state->get_Altitude(); + return fgGetDouble("/position/altitude-ft"); } else { - altitude = (current_aircraft.fdm_state->get_Altitude() - * SG_FEET_TO_METER); + return fgGetDouble("/position/altitude-ft") * SG_FEET_TO_METER; } - - return altitude; } float get_agl( void ) @@ -192,22 +183,16 @@ float get_agl( void ) static const SGPropertyNode *startup_units_node = fgGetNode("/sim/startup/units"); - float agl; - if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { - agl = (current_aircraft.fdm_state->get_Altitude() - - current_aircraft.fdm_state->get_Runway_altitude()); + return fgGetDouble("/position/altitude-agl-ft"); } else { - agl = (current_aircraft.fdm_state->get_Altitude() - - current_aircraft.fdm_state->get_Runway_altitude()) * SG_FEET_TO_METER; + return fgGetDouble("/position/altitude-agl-ft") * SG_FEET_TO_METER; } - - return agl; } float get_sideslip( void ) { - return current_aircraft.fdm_state->get_Beta(); + return fgGetDouble("/orientation/side-slip-rad"); } float get_frame_rate( void ) @@ -246,11 +231,11 @@ float get_climb_rate( void ) static const SGPropertyNode *startup_units_node = fgGetNode("/sim/startup/units"); - float climb_rate; + float climb_rate = fgGetDouble("/velocities/vertical-speed-fps", 0.0); if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { - climb_rate = current_aircraft.fdm_state->get_Climb_Rate() * 60.0; + climb_rate *= 60.0; } else { - climb_rate = current_aircraft.fdm_state->get_Climb_Rate() * SG_FEET_TO_METER * 60.0; + climb_rate *= SG_FEET_TO_METER * 60.0; } return climb_rate; @@ -259,15 +244,8 @@ float get_climb_rate( void ) float get_view_direction( void ) { - double view_off = SGD_2PI - globals->get_current_view()->getHeadingOffset_deg() * SGD_DEGREES_TO_RADIANS; - double view = ( current_aircraft.fdm_state->get_Psi() + view_off) - * SGD_RADIANS_TO_DEGREES; - - if (view > 360.) - view -= 360.; - else if (view<0.) - view += 360.; - + double view_off = 360.0 - globals->get_current_view()->getHeadingOffset_deg(); + double view = SGMiscd::normalizeAngle(fgGetDouble("/orientation/heading-deg") + view_off); return view; } @@ -280,240 +258,108 @@ float get_dme( void ) return dme_node->getFloatValue(); } -// $$$ begin - added, VS Renganathan 13 Oct 2K -// #ifdef FIGHTER_HUD -float get_Vx ( void ) -{ - // Curt dont comment this and return zero. - Ranga - // Please remove comments from get_V_..() function in flight.hxx - float Vxx = current_aircraft.fdm_state->get_V_north_rel_ground(); - return Vxx; -} - -float get_Vy ( void ) -{ - // Curt dont comment this and return zero. - Ranga - // Please remove comments from get_V_..() function in flight.hxx - float Vyy = current_aircraft.fdm_state->get_V_east_rel_ground(); - return Vyy; -} - -float get_Vz ( void ) -{ - // Curt dont comment this and return zero. - Ranga - // Please remove comments from get_V_..() function in flight.hxx - float Vzz = current_aircraft.fdm_state->get_V_down_rel_ground(); - return Vzz; -} - float get_Ax ( void ) { - float Ax = current_aircraft.fdm_state->get_V_dot_north(); - return Ax; -} - -float get_Ay ( void ) -{ - float Ay = current_aircraft.fdm_state->get_V_dot_east(); - return Ay; -} - -float get_Az ( void ) -{ - float Az = current_aircraft.fdm_state->get_V_dot_down(); - return Az; + return fgGetDouble("/accelerations/ned/north-accel-fps_sec", 0.0); } float get_anzg ( void ) { - float anzg = current_aircraft.fdm_state->get_N_Z_cg(); - return anzg; + return fgGetDouble("/accelerations/n-z-cg-fps_sec", 0.0); } #ifdef ENABLE_SP_FDM -int get_iaux1 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(1); -} - -int get_iaux2 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(2); -} - -int get_iaux3 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(3); -} - -int get_iaux4 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(4); -} - -int get_iaux5 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(5); -} - -int get_iaux6 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(6); -} - -int get_iaux7 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(7); -} - -int get_iaux8 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(8); -} - -int get_iaux9 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(9); -} - -int get_iaux10 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(10); -} - -int get_iaux11 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(11); -} - -int get_iaux12 (void) -{ - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_iaux(12); -} - float get_aux1 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(1); + return fgGetDouble("/fdm-ada/ship-lat", 0.0); } float get_aux2 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(2); + return fgGetDouble("/fdm-ada/ship-lon", 0.0); } float get_aux3 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(3); + return fgGetDouble("/fdm-ada/ship-alt", 0.0); } float get_aux4 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(4); + return fgGetDouble("/fdm-ada/skijump-dist", 0.0); } float get_aux5 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(5); + return fgGetDouble("/fdm-ada/aux5", 0.0); } float get_aux6 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(6); + return fgGetDouble("/fdm-ada/aux6", 0.0); } float get_aux7 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(7); + return fgGetDouble("/fdm-ada/aux7", 0.0); } float get_aux8 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_daux(8); -} + return fgGetDouble("/fdm-ada/aux8", 0.0);} float get_aux9 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(1); -} + return fgGetDouble("/fdm-ada/aux9", 0.0);} float get_aux10 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(2); + return fgGetDouble("/fdm-ada/aux10", 0.0); } float get_aux11 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(3); + return fgGetDouble("/fdm-ada/aux11", 0.0); } float get_aux12 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(4); + return fgGetDouble("/fdm-ada/aux12", 0.0); } float get_aux13 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(5); + return fgGetDouble("/fdm-ada/aux13", 0.0); } float get_aux14 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(6); + return fgGetDouble("/fdm-ada/aux14", 0.0); } float get_aux15 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(7); + return fgGetDouble("/fdm-ada/aux15", 0.0); } float get_aux16 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(8); + return fgGetDouble("/fdm-ada/aux16", 0.0); } float get_aux17 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(9); + return fgGetDouble("/fdm-ada/aux17", 0.0); } float get_aux18 (void) { - FGADA *fdm = (FGADA *)current_aircraft.fdm_state; - return fdm->get_faux(10); + return fgGetDouble("/fdm-ada/aux18", 0.0); } #endif -bool fgCockpitInit( fgAIRCRAFT *cur_aircraft ) +bool fgCockpitInit() { SG_LOG( SG_COCKPIT, SG_INFO, "Initializing cockpit subsystem" ); @@ -529,7 +375,7 @@ bool fgCockpitInit( fgAIRCRAFT *cur_aircraft ) // HI_Head is now a null pointer so we can generate a new list from the // current aircraft. - fgHUDInit( cur_aircraft ); + fgHUDInit(); return true; }