From 58aa15ece98b4f822bbc500e4a31a346cb29582d Mon Sep 17 00:00:00 2001 From: curt Date: Mon, 3 Dec 2001 22:17:03 +0000 Subject: [PATCH] JSBSim sync. --- src/FDM/JSBSim/FGForce.h | 4 ++++ src/FDM/JSBSim/FGPropeller.cpp | 4 ++-- src/FDM/JSBSim/FGPropulsion.cpp | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/FDM/JSBSim/FGForce.h b/src/FDM/JSBSim/FGForce.h index e2f0e1e73..61a97f453 100644 --- a/src/FDM/JSBSim/FGForce.h +++ b/src/FDM/JSBSim/FGForce.h @@ -260,6 +260,10 @@ public: inline void SetLocationY(double y) {vXYZn(2) = y;} inline void SetLocationZ(double z) {vXYZn(3) = z;} inline void SetLocation(FGColumnVector3 vv) { vXYZn = vv; } + + inline double GetLocationX( void ) { return vXYZn(1);} + inline double GetLocationY( void ) { return vXYZn(2);} + inline double GetLocationZ( void ) { return vXYZn(3);} FGColumnVector3& GetLocation(void) { return vXYZn; } //these angles are relative to body axes, not earth!!!!! diff --git a/src/FDM/JSBSim/FGPropeller.cpp b/src/FDM/JSBSim/FGPropeller.cpp index e77de0123..e2080e388 100644 --- a/src/FDM/JSBSim/FGPropeller.cpp +++ b/src/FDM/JSBSim/FGPropeller.cpp @@ -158,8 +158,8 @@ double FGPropeller::Calculate(double PowerAvailable) if (P_Factor > 0.0001) { alpha = fdmex->GetTranslation()->Getalpha(); beta = fdmex->GetTranslation()->Getbeta(); - SetLocationY(P_Factor*alpha*fabs(Sense)/Sense); - SetLocationZ(P_Factor*beta*fabs(Sense)/Sense); + SetLocationY( GetLocationY() + P_Factor*alpha*fabs(Sense)/Sense); + SetLocationZ( GetLocationZ() + P_Factor*beta*fabs(Sense)/Sense); } else if (P_Factor < 0.000) { cerr << "P-Factor value in config file must be greater than zero" << endl; } diff --git a/src/FDM/JSBSim/FGPropulsion.cpp b/src/FDM/JSBSim/FGPropulsion.cpp index 0dcaf9010..33c6594f2 100644 --- a/src/FDM/JSBSim/FGPropulsion.cpp +++ b/src/FDM/JSBSim/FGPropulsion.cpp @@ -125,6 +125,7 @@ bool FGPropulsion::GetSteadyState(void) Engines[i]->SetTrimMode(true); Thrusters[i]->SetdeltaT(dt*rate); steady=false; + steady_count=0; while (!steady && j < 6000) { PowerAvailable = Engines[i]->Calculate(Thrusters[i]->GetPowerRequired()); lastThrust = currentThrust; -- 2.39.5