]> git.mxchange.org Git - flightgear.git/commitdiff
Add "spring" and "damp" tunables to gear objects.
authorandy <andy>
Sat, 9 Nov 2002 21:08:10 +0000 (21:08 +0000)
committerandy <andy>
Sat, 9 Nov 2002 21:08:10 +0000 (21:08 +0000)
src/FDM/YASim/Airplane.cpp
src/FDM/YASim/FGFDM.cpp

index f2be3e0dc2612cf738e114eaa1e0e58671c35319..f6ab1c610214e485f7d9cc98dab8cf653df47e1f 100644 (file)
@@ -637,10 +637,11 @@ void Airplane::solveGear()
         // Energy in a spring: e = 0.5 * k * len^2
         float k = 2 * e / (len*len);
 
-        gr->gear->setSpring(k);
+        gr->gear->setSpring(k * gr->gear->getSpring());
 
         // Critically damped (too damped, too!)
-        gr->gear->setDamping(2*Math::sqrt(k*_approachWeight*gr->wgt));
+        gr->gear->setDamping(2*Math::sqrt(k*_approachWeight*gr->wgt)
+                             * gr->gear->getDamping());
 
         // These are pretty generic
         gr->gear->setStaticFriction(0.8f);
index c0aa05684916ae7a93730f76d6d462e6952ef3c7..c2f612a17dd292f804d3d4fb33dc6bf136d4b3a5 100644 (file)
@@ -175,6 +175,8 @@ void FGFDM::startElement(const char* name, const XMLAttributes &atts)
         g->setBrake(attrf(a, "skid", 0));
        g->setStaticFriction(attrf(a, "sfric", 0.8));
        g->setDynamicFriction(attrf(a, "dfric", 0.7));
+        g->setSpring(attrf(a, "spring", 1));
+        g->setDamping(attrf(a, "damp", 1));
        _airplane.addGear(g);
     } else if(eq(name, "fuselage")) {
        float b[3];