]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim.hxx
Syncing with latest JSBSim code with retractable landing gear support.
[flightgear.git] / src / FDM / JSBSim.hxx
index 28718a2b31d5ab6e98e0de21d3e042f79a17e976..6d9f66f345bdacf7e44fec89d0f969478e6311f2 100644 (file)
@@ -37,8 +37,6 @@ SENTRY
 INCLUDES
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#include <FDM/JSBSim/FGFDMExec.h>
-
 #undef MAX_ENGINES
 #include <Aircraft/aircraft.hxx>
 
@@ -48,10 +46,32 @@ DEFINITIONS
 
 #define ID_JSBSIMXX "$Header JSBSim.hxx,v 1.4 2000/10/22 14:02:16 jsb Exp $"
 
+#define METERS_TO_FEET 3.2808398950
+#define RADTODEG 57.2957795
+
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
+#include <simgear/misc/props.hxx>
+
+#include <FDM/JSBSim/FGFDMExec.h>
+
+class FGState;
+class FGAtmosphere;
+class FGFCS;
+class FGPropulsion;
+class FGMassBalance;
+class FGAerodynamics;
+class FGInertial;
+class FGAircraft;
+class FGTranslation;
+class FGRotation;
+class FGPosition;
+class FGAuxiliary;
+class FGOutput;
+class FGInitialCondition;
+
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
@@ -188,7 +208,9 @@ public:
     void set_Velocities_Local_Airmass (double wnorth,
                                       double weast,
                                       double wdown );
-    //@}
+    /// @name Position Parameter Update
+    //@{
+
 
     /** Update the position based on inputs, positions, velocities, etc.
         @param multiloop number of times to loop through the FDM
@@ -196,6 +218,7 @@ public:
     bool update( int multiloop );
     bool ToggleDataLogging(bool state);
     bool ToggleDataLogging(void);
+    void do_trim(void);
 
 private:
     FGFDMExec *fdmex;
@@ -213,14 +236,23 @@ private:
     FGPosition*     Position;
     FGAuxiliary*    Auxiliary;
     FGAerodynamics* Aerodynamics;
+    FGGroundReactions *GroundReactions;
 
     int runcount;
     float trim_elev;
     float trim_throttle;
     
-    SGValue *trimmed;
+    SGPropertyNode *startup_trim;
+    SGPropertyNode *trimmed;
+    SGPropertyNode *pitch_trim;
+    SGPropertyNode *throttle_trim;
+    SGPropertyNode *aileron_trim;
+    SGPropertyNode *rudder_trim;
+    SGPropertyNode *stall_warning;
+    
+    void init_gear(void);
+    void update_gear(void);
     
-    void snap_shot(void);
 };