]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGThruster.cpp
Make yasim accept the launchbar and hook properties. They are not tied to anything...
[flightgear.git] / src / FDM / JSBSim / FGThruster.cpp
index a03df18f433d76ec8fe9bfcc1d901333a329226d..4d4a4edcb9331a7af68ac51d59ef09a57e5c09a6 100644 (file)
@@ -54,18 +54,34 @@ FGThruster::FGThruster(FGFDMExec *FDMExec) : FGForce(FDMExec)
   Type = ttDirect;
   SetTransformType(FGForce::tCustom);
 
+  EngineNum = 0;
+  PropertyManager = FDMExec->GetPropertyManager();
+
   Debug(0);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 FGThruster::FGThruster(FGFDMExec *FDMExec,
-                       FGConfigFile *Eng_cfg ): FGForce(FDMExec)
+                       FGConfigFile *Eng_cfg, int num ): FGForce(FDMExec)
 {
   Type = ttDirect;
   SetTransformType(FGForce::tCustom);
   Name = Eng_cfg->GetValue();
   GearRatio = 1.0;
+
+  EngineNum = num;
+  ThrustCoeff = 0.0;
+  ReverserAngle = 0.0;
+  PropertyManager = FDMExec->GetPropertyManager();
+
+  char property_name[80];
+  snprintf(property_name, 80, "propulsion/c-thrust[%u]", EngineNum);
+  PropertyManager->Tie( property_name, &ThrustCoeff );
+  snprintf(property_name, 80, "propulsion/engine[%u]/reverser-angle", EngineNum);
+  PropertyManager->Tie( property_name, &ReverserAngle );
+
+
   Debug(0);
 }
 
@@ -73,12 +89,18 @@ FGThruster::FGThruster(FGFDMExec *FDMExec,
 
 FGThruster::~FGThruster()
 {
+  char property_name[80];
+  snprintf(property_name, 80, "propulsion/c-thrust[%u]", EngineNum);
+  PropertyManager->Untie( property_name );
+  snprintf(property_name, 80, "propulsion/engine[%u]/reverser-angle", EngineNum);
+  PropertyManager->Untie( property_name );
+
   Debug(1);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-string FGThruster::GetThrusterLabels(int id)
+string FGThruster::GetThrusterLabels(int id, string delimeter)
 {
   std::ostringstream buf;
 
@@ -89,7 +111,7 @@ string FGThruster::GetThrusterLabels(int id)
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-string FGThruster::GetThrusterValues(int id)
+string FGThruster::GetThrusterValues(int id, string delimeter)
 {
   std::ostringstream buf;