]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGGroundReactions.cpp
Fix stall widths for the "auxilliary" (reverse flow) stalls so they
[flightgear.git] / src / FDM / JSBSim / FGGroundReactions.cpp
index abd19c88d508bc724acf33cb546b7855fe0b9cef..a075a1c2c267c1d9c633ce3dc44551c70385d556 100644 (file)
@@ -110,9 +110,15 @@ bool FGGroundReactions::Load(FGConfigFile* AC_cfg)
   AC_cfg->GetNextConfigLine();
 
   while ((token = AC_cfg->GetValue()) != string("/UNDERCARRIAGE")) {
-    int num = lGear.size();
-    lGear.push_back(FGLGear(AC_cfg, FDMExec, num));
-    FCS->AddGear();
+    string type;
+    *AC_cfg >> type;
+    if (type == "AC_GEAR") {
+      int num = lGear.size();
+      lGear.push_back(FGLGear(AC_cfg, FDMExec, num));
+      FCS->AddGear();
+    } else {
+      cerr << "Unknown undercarriage type \"" << type << "\"" << endl;
+    }
   }
 
   return true;
@@ -120,30 +126,30 @@ bool FGGroundReactions::Load(FGConfigFile* AC_cfg)
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-string FGGroundReactions::GetGroundReactionStrings(void)
+string FGGroundReactions::GetGroundReactionStrings(string delimeter)
 {
   std::ostringstream buf;
 
   for (unsigned int i=0;i<lGear.size();i++) {
     string name = lGear[i].GetName();
-    buf << name << "_WOW, "
-        << name << "_stroke, "
-        << name << "_strokeVel, "
-        << name << "_CompressForce, "
-        << name << "_WhlSideForce, "
-        << name << "_WhlVelVecX, "
-        << name << "_WhlVelVecY, "
-        << name << "_WhlRollForce, "
-        << name << "_BodyXForce, "
-        << name << "_BodyYForce, "
-        << name << "_WhlSlipDegrees, ";
+    buf << name << "_WOW" << delimeter
+        << name << "_stroke" << delimeter
+        << name << "_strokeVel" << delimeter
+        << name << "_CompressForce" << delimeter
+        << name << "_WhlSideForce" << delimeter
+        << name << "_WhlVelVecX" << delimeter
+        << name << "_WhlVelVecY" << delimeter
+        << name << "_WhlRollForce" << delimeter
+        << name << "_BodyXForce" << delimeter
+        << name << "_BodyYForce" << delimeter
+        << name << "_WhlSlipDegrees" << delimeter;
   }
 
-  buf << "TotalGearForce_X, "
-      << "TotalGearForce_Y, "
-      << "TotalGearForce_Z, "
-      << "TotalGearMoment_L, "
-      << "TotalGearMoment_M, "
+  buf << "TotalGearForce_X" << delimeter
+      << "TotalGearForce_Y" << delimeter
+      << "TotalGearForce_Z" << delimeter
+      << "TotalGearMoment_L" << delimeter
+      << "TotalGearMoment_M" << delimeter
       << "TotalGearMoment_N";
 
   return buf.str();
@@ -151,30 +157,30 @@ string FGGroundReactions::GetGroundReactionStrings(void)
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-string FGGroundReactions::GetGroundReactionValues(void)
+string FGGroundReactions::GetGroundReactionValues(string delimeter)
 {
   std::ostringstream buf;
 
   for (unsigned int i=0;i<lGear.size();i++) {
     FGLGear& gear = lGear[i];
     buf << (gear.GetWOW() ? "1, " : "0, ")
-        << setprecision(5) << gear.GetCompLen() << ", "
-        << setprecision(6) << gear.GetCompVel() << ", "
-        << setprecision(10) << gear.GetCompForce() << ", "
-        << setprecision(6) << gear.GetWheelVel(eX) << ", "
-        << gear.GetWheelVel(eY) << ", "
-        << gear.GetWheelSideForce() << ", "
-        << gear.GetWheelRollForce() << ", "
-        << gear.GetBodyXForce() << ", "
-        << gear.GetBodyYForce() << ", "
-        << gear.GetWheelSlipAngle() << ", ";
+        << setprecision(5) << gear.GetCompLen() << delimeter
+        << setprecision(6) << gear.GetCompVel() << delimeter
+        << setprecision(10) << gear.GetCompForce() << delimeter
+        << setprecision(6) << gear.GetWheelVel(eX) << delimeter
+        << gear.GetWheelVel(eY) << delimeter
+        << gear.GetWheelSideForce() << delimeter
+        << gear.GetWheelRollForce() << delimeter
+        << gear.GetBodyXForce() << delimeter
+        << gear.GetBodyYForce() << delimeter
+        << gear.GetWheelSlipAngle() << delimeter;
   }
 
-  buf << vForces(eX) << ", "
-      << vForces(eY) << ", "
-      << vForces(eZ) << ", "
-      << vMoments(eX) << ", "
-      << vMoments(eY) << ", "
+  buf << vForces(eX) << delimeter
+      << vForces(eY) << delimeter
+      << vForces(eZ) << delimeter
+      << vMoments(eX) << delimeter
+      << vMoments(eY) << delimeter
       << vMoments(eZ);
 
   return buf.str();