]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/Launchbar.cpp
latest updates from JSBSim
[flightgear.git] / src / FDM / YASim / Launchbar.cpp
index 2e978ebfd79fe650b0de63d8c3f0e1be8377b8ea..756e9a0345f02364712c5e720a278f3f8cd4e831 100644 (file)
@@ -2,13 +2,12 @@
 #include "BodyEnvironment.hpp"
 #include "Ground.hpp"
 #include "RigidBody.hpp"
-
 #include "Launchbar.hpp"
 
 namespace yasim {
 
-  static const float YASIM_PI2 = 3.14159265358979323846/2;
-  static const float YASIM_PI = 3.14159265358979323846;
+  static const float YASIM_PI2 = 3.14159265358979323846f/2;
+  static const float YASIM_PI = 3.14159265358979323846f;
   static const float RAD2DEG = 180/YASIM_PI;
 
 Launchbar::Launchbar()
@@ -32,6 +31,7 @@ Launchbar::Launchbar()
     _pos_on_cat = 0.0;
     _state = Unmounted;
     _strop = false;
+    _acceleration = 0.25;
 }
 
 void Launchbar::setLaunchbarMount(float* position)
@@ -76,6 +76,11 @@ void Launchbar::setLaunchCmd(bool cmd)
     _launch_cmd = cmd;
 }
 
+void Launchbar::setAcceleration(float acceleration)
+{
+    _acceleration = acceleration;
+}
+
 void Launchbar::setGlobalGround(double *global_ground)
 {
     int i;
@@ -473,7 +478,9 @@ void Launchbar::calcForce(Ground *g_cb, RigidBody* body, State* s, float* lv, fl
 
     if (_state == Launch) {
         // Now apply a constant tension from the catapult over the launchbar.
-      Math::mul3(25.0, llbdir, _launchbar_force);
+        // We modify the max accleration 100 m/s^2 by the normalised input
+        //SG_LOG(SG_FLIGHT, SG_ALERT, "acceleration " << 100 * _acceleration );
+        Math::mul3(100 * _acceleration, llbdir, _launchbar_force);
 
       if (1.0 < dist) {
         _state = Completed;