]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/bfi.hxx
Changes to support new simgear waypoint module.
[flightgear.git] / src / Main / bfi.hxx
index ef514f0c2d5a22d9ec8ee12b82d21ef0d27c86dd..8f26d88556cb3589ada3646d62a1c63c9056c666 100644 (file)
@@ -23,6 +23,8 @@
 #include <time.h>
 #include <string>
 
+#include <simgear/compiler.h>
+
 FG_USING_NAMESPACE(std);
 
 
@@ -44,16 +46,24 @@ class FGBFI
 {
 public:
 
+                               // Initialize before first use.
+  static void init ();
+
                                // Reinit if necessary.
   static void update ();
 
                                // Simulation
   static int getFlightModel ();
+  static const string getAircraft ();
+  static const string getAircraftDir ();
   static time_t getTimeGMT ();
+  static const string &getGMTString ();
   static bool getHUDVisible ();
   static bool getPanelVisible ();
 
   static void setFlightModel (int flightModel);
+  static void setAircraft (const string &aircraft);
+  static void setAircraftDir (const string &aircraftDir);
   static void setTimeGMT (time_t time);
   static void setHUDVisible (bool hudVisible);
   static void setPanelVisible (bool panelVisible);
@@ -63,6 +73,7 @@ public:
   static double getLatitude ();
   static double getLongitude ();
   static double getAltitude ();
+  static double getAGL ();
 
   static void setLatitude (double latitude);
   static void setLongitude (double longitude);
@@ -70,7 +81,8 @@ public:
 
 
                                // Attitude
-  static double getHeading ();
+  static double getHeading ();   // true heading
+  static double getHeadingMag (); // exact magnetic heading
   static double getPitch ();
   static double getRoll ();
 
@@ -78,6 +90,10 @@ public:
   static void setPitch (double pitch);
   static void setRoll (double roll);
 
+                               // Engine
+  static double getRPM ();
+  static void setRPM ( double rpm );
+  static double getEGT ();
 
                                // Velocities
   static double getAirspeed ();
@@ -94,20 +110,30 @@ public:
 
                                // Controls
   static double getThrottle ();
+  static double getMixture ();
+  static double getPropAdvance ();
   static double getFlaps ();
   static double getAileron ();
   static double getRudder ();
   static double getElevator ();
   static double getElevatorTrim ();
-  static double getBrake ();
+  static double getBrakes ();
+  static double getLeftBrake ();
+  static double getRightBrake ();
+  static double getCenterBrake ();
 
   static void setThrottle (double throttle);
+  static void setMixture (double mixture);
+  static void setPropAdvance (double pitch);
   static void setFlaps (double flaps);
   static void setAileron (double aileron);
   static void setRudder (double rudder);
   static void setElevator (double elevator);
   static void setElevatorTrim (double trim);
-  static void setBrake (double brake);
+  static void setBrakes (double brake);
+  static void setLeftBrake (double brake);
+  static void setRightBrake (double brake);
+  static void setCenterBrake (double brake);
 
 
                                // Autopilot
@@ -115,29 +141,76 @@ public:
   static double getAPAltitude ();
   static bool getAPHeadingLock ();
   static double getAPHeading ();
+  static double getAPHeadingMag ();
 
   static void setAPAltitudeLock (bool lock);
   static void setAPAltitude (double altitude);
   static void setAPHeadingLock (bool lock);
   static void setAPHeading (double heading);
-
+  static void setAPHeadingMag (double heading);
+
+  static bool getAPNAV1Lock ();
+  static void setAPNAV1Lock (bool lock);
+
+                               // Radio Navigation
+  static double getNAV1Freq ();
+  static double getNAV1AltFreq ();
+  static double getNAV1Radial ();
+  static double getNAV1SelRadial ();
+  static double getNAV1DistDME ();
+  static bool getNAV1TO ();
+  static bool getNAV1FROM ();
+  static bool getNAV1InRange ();
+  static bool getNAV1DMEInRange ();
+
+  static double getNAV2Freq ();
+  static double getNAV2AltFreq ();
+  static double getNAV2Radial ();
+  static double getNAV2SelRadial ();
+  static double getNAV2DistDME ();
+  static bool getNAV2TO ();
+  static bool getNAV2FROM ();
+  static bool getNAV2InRange ();
+  static bool getNAV2DMEInRange ();
+
+  static double getADFFreq ();
+  static double getADFAltFreq ();
+  static double getADFRotation ();
+
+  static void setNAV1Freq (double freq);
+  static void setNAV1AltFreq (double freq);
+  static void setNAV1SelRadial (double radial);
+
+  static void setNAV2Freq (double freq);
+  static void setNAV2AltFreq (double freq);
+  static void setNAV2SelRadial (double radial);
+
+  static void setADFFreq (double freq);
+  static void setADFAltFreq (double freq);
+  static void setADFRotation (double rot);
 
                                // GPS
-  static const string getTargetAirport ();
+  static const string &getTargetAirport ();
   static bool getGPSLock ();
   static double getGPSTargetLatitude ();
   static double getGPSTargetLongitude ();
 
   static void setTargetAirport (const string &targetAirport);
   static void setGPSLock (bool lock);
-  static void setGPSTargetLatitude (double latitude);
-  static void setGPSTargetLongitude (double longitude);
+  // static void setGPSTargetLatitude (double latitude);
+  // static void setGPSTargetLongitude (double longitude);
+  static void setGPSTargetWayPoint (double latitude, double longitude);
 
 
                                // Weather
   static double getVisibility ();
+  static bool getClouds ();
+  static double getCloudsASL ();
 
   static void setVisibility (double visiblity);
+  static void setClouds (bool clouds);
+  static void setCloudsASL (double cloudsASL);
+
 
                                 // Time (this varies with time) huh, huh
   static double getMagVar ();