]> git.mxchange.org Git - flightgear.git/blobdiff - src/Autopilot/newauto.hxx
Fixes for default chase view values.
[flightgear.git] / src / Autopilot / newauto.hxx
index 9346821779fa158ec812e2a91e38a85e2a486c37..252280adeec9cf35d7c467d2fcb76cf38393901c 100644 (file)
 #define _NEWAUTO_HXX
 
 
+#include <simgear/misc/props.hxx>
 #include <simgear/route/waypoint.hxx>
 
+#include <Main/fg_props.hxx>
 
 // Structures
 class FGAutopilot {
@@ -69,9 +71,18 @@ private:
     double TargetHeading;      // the true heading the AP should steer to.
     double TargetAltitude;     // altitude to hold
     double TargetAGL;          // the terrain separation
-    double TargetClimbRate;    // target climb rate
+    SGPropertyNode *min_climb;           // minimum climb speed
+    SGPropertyNode *best_climb;          // best climb speed
+    SGPropertyNode *elevator_adj_factor; // factor to optimize altitude hold adjustments
+    SGPropertyNode *integral_contrib;    // amount of contribution of the integral
+                                // component of the pid
+    SGPropertyNode *zero_pitch_throttle; // amount of throttle at which the aircraft does not pitch up
+    SGPropertyNode *zero_pitch_trim_full_throttle; // amount of trim required to level at full throttle
+    SGPropertyNode *TargetClimbRate;   // target climb rate
+    SGPropertyNode *TargetDescentRate; // target decent rate
+    SGPropertyNode *current_throttle; // current throttle (engine 0)
     double TargetSpeed;                // speed to shoot for
-    double alt_error_accum;    // altitude error accumulator
+    double alt_error_accum;     // altitude error accumulator
     double climb_error_accum;  // climb error accumulator (for GS)
     double speed_error_accum;  // speed error accumulator
 
@@ -109,6 +120,14 @@ private:
     char TargetHeadingStr[64];
     char TargetAltitudeStr[64];
 
+    SGPropertyNode *latitude_node;
+    SGPropertyNode *longitude_node;
+    SGPropertyNode *altitude_node;
+    SGPropertyNode *altitude_agl_node;
+    SGPropertyNode *vertical_speed_node;
+    SGPropertyNode *heading_node;
+    SGPropertyNode *roll_node;
+
 public:
 
     // constructor
@@ -166,8 +185,14 @@ public:
     inline void set_TargetDistance( double val ) { TargetDistance = val; }
     inline double get_TargetAltitude() const { return TargetAltitude; }
     inline void set_TargetAltitude( double val ) { TargetAltitude = val; }
-    inline double get_TargetClimbRate() const { return TargetClimbRate; }
-    inline void set_TargetClimbRate( double val ) { TargetClimbRate = val; }
+    inline double get_TargetAGL() const { return TargetAGL; }
+    inline void set_TargetAGL( double val ) { TargetAGL = val; }
+    inline double get_TargetClimbRate() const {
+        return TargetClimbRate->getFloatValue();
+    }
+    inline void set_TargetClimbRate( double val ) {
+        fgSetFloat( "/autopilot/config/target-climb-rate-fpm",  val);
+    }
 
     inline char *get_TargetLatitudeStr() { return TargetLatitudeStr; }
     inline char *get_TargetLongitudeStr() { return TargetLongitudeStr; }
@@ -201,5 +226,7 @@ public:
 
 extern FGAutopilot *current_autopilot;
 
+#define DEFAULT_AP_HEADING_LOCK FGAutopilot::FG_DG_HEADING_LOCK
+// #define DEFAULT_AP_HEADING_LOCK FGAutopilot::FG_TRUE_HEADING_LOCK
 
 #endif // _NEWAUTO_HXX