]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGFDMExec.cpp
Mathias Fröhlich:
[flightgear.git] / src / FDM / JSBSim / FGFDMExec.cpp
index fb7d967677c23835d88596597667c2f44ddcb540..83f8fb288743311d4a6997e5389564dce82acbc5 100644 (file)
@@ -58,6 +58,7 @@ INCLUDES
 #include "FGState.h"
 #include "FGAtmosphere.h"
 #include "FGFCS.h"
+#include "FGGroundCallback.h"
 #include "FGPropulsion.h"
 #include "FGMassBalance.h"
 #include "FGGroundReactions.h"
@@ -120,6 +121,7 @@ FGFDMExec::FGFDMExec(FGPropertyManager* root)
   Inertial        = 0;
   GroundReactions = 0;
   Aircraft        = 0;
+  GroundCallback  = 0;
   Propagate       = 0;
   Auxiliary       = 0;
   Output          = 0;
@@ -190,6 +192,7 @@ bool FGFDMExec::Allocate(void)
   Inertial        = new FGInertial(this);
   GroundReactions = new FGGroundReactions(this);
   Aircraft        = new FGAircraft(this);
+  GroundCallback  = new FGGroundCallback();
   Propagate       = new FGPropagate(this);
   Auxiliary       = new FGAuxiliary(this);
   Output          = new FGOutput(this);
@@ -280,6 +283,8 @@ bool FGFDMExec::DeAllocate(void)
   delete IC;
   delete Trim;
 
+  delete GroundCallback;
+
   FirstModel  = 0L;
   Error       = 0;
 
@@ -369,6 +374,14 @@ bool FGFDMExec::RunIC(void)
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+void FGFDMExec::SetGroundCallback(FGGroundCallback* p) {
+  if (GroundCallback)
+    delete GroundCallback;
+  GroundCallback = p;
+}
+
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 vector <string> FGFDMExec::EnumerateFDMs(void)
 {
   vector <string> FDMList;
@@ -502,7 +515,7 @@ bool FGFDMExec::ReadPrologue(FGConfigFile* AC_cfg)
     return false;
   }
 
-  if (Release == "ALPHA") {
+  if (Release == "ALPHA" && debug_lvl > 0) {
 #ifndef _MSC_VER
     system("banner ALPHA");
 #endif
@@ -513,7 +526,7 @@ bool FGFDMExec::ReadPrologue(FGConfigFile* AC_cfg)
          << " will not fly as expected." << endl << endl
          << fgred << highint << "Use this model for development purposes ONLY!!!"
          << normint << reset << endl << endl;
-  } else if (Release == "BETA") {
+  } else if (Release == "BETA" && debug_lvl > 0) {
 #ifndef _MSC_VER
     system("banner BETA");
 #endif