]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/Balloon.cxx
Added flap_deflection so that remote fdm can pass back actual flap deflection
[flightgear.git] / src / FDM / Balloon.cxx
index 86e0f7156c3621874d0298eb55154b5f1ca3d739..1bd64a8716c22dc810b6b0f7ece714528705d2a3 100644 (file)
@@ -75,9 +75,11 @@ FGBalloonSim::~FGBalloonSim() {
 // Initialize the BalloonSim flight model, dt is the time increment for
 // each subsequent iteration through the EOM
 void FGBalloonSim::init() {
-                               // explicitly call the superclass's
-                               // init method first.
-    FGInterface::init();
+               
+    //do init common to all the FDM's          
+    common_init();
+    
+    //now do init specific to the Balloon
 
     sgVec3 temp;
 
@@ -111,9 +113,14 @@ void FGBalloonSim::init() {
 
 
 // Run an iteration of the EOM (equations of motion)
-bool FGBalloonSim::update( int multiloop ) {
+void FGBalloonSim::update( double dt ) {
     double save_alt = 0.0;
 
+    if (is_suspended())
+      return;
+
+    int multiloop = _calc_multiloop(dt);
+
     // lets try to avoid really screwing up the BalloonSim model
     if ( get_Altitude() < -9000 ) {
        save_alt = get_Altitude();
@@ -160,8 +167,6 @@ bool FGBalloonSim::update( int multiloop ) {
     if ( save_alt < -9000.0 ) {
        set_Altitude( save_alt );
     }
-
-    return true;
 }
 
 
@@ -190,7 +195,7 @@ bool FGBalloonSim::copy_from_BalloonSim() {
     //temp[1]: longitude
     //temp[2]: altitude (meters)
 
-    _updatePosition( temp[0], temp[1], temp[2] * SG_METER_TO_FEET  );
+    _updateGeocentricPosition( temp[0], temp[1], temp[2] * SG_METER_TO_FEET );
     
     current_balloon.getHPR( temp );
     set_Euler_Angles( temp[0], temp[1], temp[2] );