]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/YASim.hxx
Fix for bug 1304 - crash loading XML route
[flightgear.git] / src / FDM / YASim / YASim.hxx
index 02f9440bcd1c41cb2ba4896dd79bb1335488deed..5739032af5534ad2e6f004a4d9a6a8ccebf8946e 100644 (file)
@@ -2,29 +2,62 @@
 #define _YASIM_HXX
 
 #include <FDM/flight.hxx>
+#include <vector>
 
 namespace yasim { class FGFDM; };
 
 class YASim : public FGInterface {
 public:
     YASim(double dt);
+    ~YASim();
 
     // Load externally set stuff into the FDM
     virtual void init();
     virtual void bind();
+    virtual void reinit();
 
     // Run an iteration
-    virtual void update(int iterations);
+    virtual void update(double dt);
 
  private:
+
     void report();
     void copyFromYASim();
     void copyToYASim(bool copyState);
 
-    void printDEBUG();
-
     yasim::FGFDM* _fdm;
     float _dt;
+    double _simTime;
+    enum {
+        NED,
+        UVW,
+        KNOTS,
+        MACH
+    } _speed_set;
+
+    class GearProps
+    {
+    public:
+        GearProps(SGPropertyNode_ptr gear_root);
+
+        SGPropertyNode_ptr has_brake;
+        SGPropertyNode_ptr wow;
+        SGPropertyNode_ptr compression_norm;
+        SGPropertyNode_ptr compression_m;
+        SGPropertyNode_ptr caster_angle_deg;
+        SGPropertyNode_ptr rollspeed_ms;
+        SGPropertyNode_ptr ground_is_solid;
+        SGPropertyNode_ptr ground_friction_factor;
+    };
+
+    SGPropertyNode_ptr _crashed;
+    SGPropertyNode_ptr _pressure_inhg, _temp_degc, _density_slugft3;
+    SGPropertyNode_ptr _gear_agl_m, _gear_agl_ft;
+    SGPropertyNode_ptr _pilot_g, _speed_setprop;
+    SGPropertyNode_ptr _catapult_launch_cmd, _tailhook_position_norm;
+    SGPropertyNode_ptr _launchbar_position_norm, _launchbar_holdback_pos_norm;
+    SGPropertyNode_ptr _launchbar_state, _launchbar_strop;
+    std::vector<GearProps> _gearProps;
 };
 
 #endif // _YASIM_HXX