]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGTrimAxis.cpp
Make yasim accept the launchbar and hook properties. They are not tied to anything...
[flightgear.git] / src / FDM / JSBSim / FGTrimAxis.cpp
index 02ee8a0d56100efca1efe8292bff6aea26ce921d..365947f0469cd18c24daa7d1634d4d64546b60a8 100644 (file)
@@ -124,13 +124,13 @@ FGTrimAxis::FGTrimAxis(FGFDMExec* fdex, FGInitialCondition* ic, State st,
     solver_eps=tolerance/100;
     break;
   case tTheta:
-    control_min=fdmex->GetPropagate()->Gettht() - 5*degtorad;
-    control_max=fdmex->GetPropagate()->Gettht() + 5*degtorad;
+    control_min=fdmex->GetPropagate()->GetEuler(eTht) - 5*degtorad;
+    control_max=fdmex->GetPropagate()->GetEuler(eTht) + 5*degtorad;
     state_convert=radtodeg;
     break;
   case tPhi:
-    control_min=fdmex->GetPropagate()->Getphi() - 30*degtorad;
-    control_max=fdmex->GetPropagate()->Getphi() + 30*degtorad;
+    control_min=fdmex->GetPropagate()->GetEuler(ePhi) - 30*degtorad;
+    control_max=fdmex->GetPropagate()->GetEuler(ePhi) + 30*degtorad;
     state_convert=radtodeg;
     control_convert=radtodeg;
     break;
@@ -141,8 +141,8 @@ FGTrimAxis::FGTrimAxis(FGFDMExec* fdex, FGInitialCondition* ic, State st,
     control_convert=radtodeg;
     break;
   case tHeading:
-    control_min=fdmex->GetPropagate()->Getpsi() - 30*degtorad;
-    control_max=fdmex->GetPropagate()->Getpsi() + 30*degtorad;
+    control_min=fdmex->GetPropagate()->GetEuler(ePsi) - 30*degtorad;
+    control_max=fdmex->GetPropagate()->GetEuler(ePsi) + 30*degtorad;
     state_convert=radtodeg;
     break;
   }
@@ -190,10 +190,10 @@ void FGTrimAxis::getControl(void) {
   case tYawTrim:
   case tRudder:    control_value=fdmex->GetFCS() -> GetDrCmd(); break;
   case tAltAGL:    control_value=fdmex->GetPropagate()->GetDistanceAGL();break;
-  case tTheta:     control_value=fdmex->GetPropagate()->Gettht(); break;
-  case tPhi:       control_value=fdmex->GetPropagate()->Getphi(); break;
+  case tTheta:     control_value=fdmex->GetPropagate()->GetEuler(eTht); break;
+  case tPhi:       control_value=fdmex->GetPropagate()->GetEuler(ePhi); break;
   case tGamma:     control_value=fdmex->GetAuxiliary()->GetGamma();break;
-  case tHeading:   control_value=fdmex->GetPropagate()->Getpsi(); break;
+  case tHeading:   control_value=fdmex->GetPropagate()->GetEuler(ePsi); break;
   }
 }
 
@@ -202,7 +202,7 @@ void FGTrimAxis::getControl(void) {
 double FGTrimAxis::computeHmgt(void) {
   double diff;
 
-  diff   = fdmex->GetPropagate()->Getpsi() -
+  diff   = fdmex->GetPropagate()->GetEuler(ePsi) -
              fdmex->GetAuxiliary()->GetGroundTrack();
 
   if( diff < -M_PI ) {
@@ -270,8 +270,8 @@ void FGTrimAxis::SetThetaOnGround(double ff) {
   }
   cout << "SetThetaOnGround ref gear: " << ref << endl;
   if(ref >= 0) {
-    double sp = fdmex->GetPropagate()->GetSinphi();
-    double cp = fdmex->GetPropagate()->GetCosphi();
+    double sp = fdmex->GetPropagate()->GetSinEuler(ePhi);
+    double cp = fdmex->GetPropagate()->GetCosEuler(ePhi);
     double lx = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(1);
     double ly = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(2);
     double lz = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(3);
@@ -344,7 +344,7 @@ bool FGTrimAxis::initTheta(void) {
   }
   //cout << i << endl;
   if (debug_lvl > 0) {
-      cout << "    Initial Theta: " << fdmex->GetPropagate()->Gettht()*radtodeg << endl;
+      cout << "    Initial Theta: " << fdmex->GetPropagate()->GetEuler(eTht)*radtodeg << endl;
       cout << "    Used gear unit " << iAft << " as aft and " << iForward << " as forward" << endl;
   }
   control_min=(theta+5)*degtorad;
@@ -370,8 +370,8 @@ void FGTrimAxis::SetPhiOnGround(double ff) {
     i++;
   }
   if (ref >= 0) {
-    double st = sin(fdmex->GetPropagate()->Gettht());
-    double ct = cos(fdmex->GetPropagate()->Gettht());
+    double st = fdmex->GetPropagate()->GetSinEuler(eTht);
+    double ct = fdmex->GetPropagate()->GetCosEuler(eTht);
     double lx = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(1);
     double ly = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(2);
     double lz = fdmex->GetGroundReactions()->GetGearUnit(ref)->GetBodyLocation(3);
@@ -431,11 +431,16 @@ void FGTrimAxis::setThrottlesPct(void) {
 void FGTrimAxis::AxisReport(void) {
 
   char out[80];
-  sprintf(out,"  %20s: %6.2f %5s: %9.2e Tolerance: %3.0e\n",
+
+  sprintf(out,"  %20s: %6.2f %5s: %9.2e Tolerance: %3.0e",
            GetControlName().c_str(), GetControl()*control_convert,
            GetStateName().c_str(), GetState()+state_target, GetTolerance());
   cout << out;
 
+  if( fabs(GetState()+state_target) < fabs(GetTolerance()) )
+     cout << "  Passed" << endl;
+  else
+     cout << "  Failed" << endl;
 }
 
 /*****************************************************************************/