]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/Airplane.hpp
Use bool where the source and destination variable is bool.
[flightgear.git] / src / FDM / YASim / Airplane.hpp
index 763e8d5ead84e82a81694713a191cc09b6ef2736..762ff33fdc98c4e8eafb1cc29e65e25301f2d7d3 100644 (file)
@@ -10,6 +10,8 @@
 namespace yasim {
 
 class Gear;
+class Hook;
+class Launchbar;
 class Thruster;
 
 class Airplane {
@@ -18,7 +20,7 @@ public:
     ~Airplane();
 
     void iterate(float dt);
-    void consumeFuel(float dt);
+    void calcFuelWeights();
 
     ControlMap* getControlMap();
     Model* getModel();
@@ -42,6 +44,8 @@ public:
                      float taper=1, float mid=0.5);
     int addTank(float* pos, float cap, float fuelDensity);
     void addGear(Gear* g);
+    void addHook(Hook* h);
+    void addLaunchbar(Launchbar* l);
     void addThruster(Thruster* t, float mass, float* cg);
     void addBallast(float* pos, float mass);
 
@@ -59,10 +63,17 @@ public:
 
     int numGear();
     Gear* getGear(int g);
+    Hook* getHook();
+    Launchbar* getLaunchbar();
 
+    int numThrusters() { return _thrusters.size(); }
+    Thruster* getThruster(int n) {
+        return ((ThrustRec*)_thrusters.get(n))->thruster; }
+    
     int numTanks();
     void setFuelFraction(float frac); // 0-1, total amount of fuel
     float getFuel(int tank); // in kg!
+    float setFuel(int tank, float fuel); // in kg!
     float getFuelDensity(int tank); // kg/m^3
     float getTankCapacity(int tank);
 
@@ -89,6 +100,7 @@ private:
     struct Control { int control; float val; };
     struct WeightRec { int handle; Surface* surf; };
     struct SolveWeight { bool approach; int idx; float wgt; };
+    struct ContactRec { Gear* gear; float p[3]; };
 
     void runCruise();
     void runApproach();