]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/Gear.hpp
Fix stall widths for the "auxilliary" (reverse flow) stalls so they
[flightgear.git] / src / FDM / YASim / Gear.hpp
index f4170ea66874e375f8ba5c80e07ebdd1d81efc7c..6b0301fe1767bd94f5d261ae53d51257156afb34 100644 (file)
@@ -4,6 +4,7 @@
 namespace yasim {
 
 class RigidBody;
+struct State;
 
 // A landing gear has the following parameters:
 //
@@ -38,9 +39,11 @@ public:
     void setRotation(float rotation);
     void setExtension(float extension);
     void setCastering(bool castering);
+    void setGlobalGround(double* global_ground, float* global_vel);
 
     void getPosition(float* out);
     void getCompression(float* out);
+    void getGlobalGround(double* global_ground);
     float getSpring();
     float getDamping();
     float getStaticFriction();
@@ -49,12 +52,14 @@ public:
     float getRotation();
     float getExtension();
     bool getCastering();
+    float getCasterAngle() { return _casterAngle; }
+    float getRollSpeed() { return _rollSpeed; }
 
     // Takes a velocity of the aircraft relative to ground, a rotation
     // vector, and a ground plane (all specified in local coordinates)
     // and make a force and point of application (i.e. ground contact)
     // available via getForce().
-    void calcForce(RigidBody* body, float* v, float* rot, float* ground);
+    void calcForce(RigidBody* body, State* s, float* v, float* rot);
 
     // Computed values: total force, weight-on-wheels (force normal to
     // ground) and compression fraction.
@@ -79,6 +84,10 @@ private:
     float _contact[3];
     float _wow;
     float _frac;
+    double _global_ground[4];
+    float _global_vel[3];
+    float _casterAngle;
+    float _rollSpeed;
 };
 
 }; // namespace yasim