From: curt Date: Fri, 13 Jul 2001 16:41:23 +0000 (+0000) Subject: Synced with latest JSBSim. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=26d12e4b69696b07dff7533115554361543c0023;p=flightgear.git Synced with latest JSBSim. --- diff --git a/src/FDM/JSBSim/FGModel.h b/src/FDM/JSBSim/FGModel.h index ebf2a5108..e81a5a932 100644 --- a/src/FDM/JSBSim/FGModel.h +++ b/src/FDM/JSBSim/FGModel.h @@ -109,7 +109,7 @@ public: /** Loads this model. @param Config a pointer to the config file instance @return true if model is successfully loaded*/ - virtual bool Load(FGConfigFile* Config) {} + virtual bool Load(FGConfigFile* Config) {return true;} FGModel* NextModel; string Name; diff --git a/src/FDM/JSBSim/FGNozzle.cpp b/src/FDM/JSBSim/FGNozzle.cpp index f4cf93393..f4346b531 100644 --- a/src/FDM/JSBSim/FGNozzle.cpp +++ b/src/FDM/JSBSim/FGNozzle.cpp @@ -35,6 +35,13 @@ HISTORY INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +#ifdef FGFS +# include +# include STL_ALGORITHM +#else +# include +#endif + #include "FGNozzle.h" static const char *IdSrc = "$Id$"; @@ -90,7 +97,7 @@ FGNozzle::~FGNozzle() float FGNozzle::Calculate(float CfPc) { float pAtm = fdmex->GetAtmosphere()->GetPressure(); - Thrust = (CfPc * AreaT + (PE - pAtm)*Area2) * nzlEff; + Thrust = max((float)0.0, (CfPc * AreaT + (PE - pAtm)*Area2) * nzlEff); vFn(1) = Thrust; return Thrust; diff --git a/src/FDM/JSBSim/FGTrim.cpp b/src/FDM/JSBSim/FGTrim.cpp index d9542e1e5..72087c48c 100644 --- a/src/FDM/JSBSim/FGTrim.cpp +++ b/src/FDM/JSBSim/FGTrim.cpp @@ -137,7 +137,7 @@ void FGTrim::TrimStats() { cout << " Sub-iterations:" << endl; for(current_axis=0; current_axisGetRunCount(); - sprintf(out," %5s: %3.0f average: %5.2f successful: %3.0f stability: %5.2f\n", + snprintf(out,80," %5s: %3.0f average: %5.2f successful: %3.0f stability: %5.2f\n", TrimAxes[current_axis]->GetStateName().c_str(), sub_iterations[current_axis], sub_iterations[current_axis]/float(total_its), @@ -164,65 +164,64 @@ void FGTrim::ReportState(void) { char out[80], flap[10], gear[10]; cout << endl << " JSBSim State" << endl; - sprintf(out," Weight: %7.0f lbs. CG: %5.1f, %5.1f, %5.1f inches\n", + snprintf(out,80," Weight: %7.0f lbs. CG: %5.1f, %5.1f, %5.1f inches\n", fdmex->GetMassBalance()->GetWeight(), fdmex->GetMassBalance()->GetXYZcg(1), fdmex->GetMassBalance()->GetXYZcg(2), fdmex->GetMassBalance()->GetXYZcg(3)); cout << out; if( fdmex->GetFCS()->GetDfPos() <= 0.01) - sprintf(flap,"Up"); + snprintf(flap,10,"Up"); else - sprintf(flap,"%2.0f",fdmex->GetFCS()->GetDfPos()); + snprintf(flap,10,"%2.0f",fdmex->GetFCS()->GetDfPos()); if(fdmex->GetAircraft()->GetGearUp() == true) - sprintf(gear,"Up"); + snprintf(gear,10,"Up"); else - sprintf(gear,"Down"); - sprintf(out, " Flaps: %3s Gear: %4s\n",flap,gear); + snprintf(gear,10,"Down"); + snprintf(out,80, " Flaps: %3s Gear: %4s\n",flap,gear); cout << out; - sprintf(out, " Speed: %4.0f KCAS Mach: %5.2f\n", + snprintf(out,80, " Speed: %4.0f KCAS Mach: %5.2f\n", fdmex->GetAuxiliary()->GetVcalibratedKTS(), - fdmex->GetState()->GetParameter(FG_MACH), - fdmex->GetPosition()->Geth() ); + fdmex->GetState()->GetParameter(FG_MACH) ); cout << out; - sprintf(out, " Altitude: %7.0f ft. AGL Altitude: %7.0f ft.\n", + snprintf(out,80, " Altitude: %7.0f ft. AGL Altitude: %7.0f ft.\n", fdmex->GetPosition()->Geth(), fdmex->GetPosition()->GetDistanceAGL() ); cout << out; - sprintf(out, " Angle of Attack: %6.2f deg Pitch Angle: %6.2f deg\n", + snprintf(out,80, " Angle of Attack: %6.2f deg Pitch Angle: %6.2f deg\n", fdmex->GetState()->GetParameter(FG_ALPHA)*RADTODEG, fdmex->GetRotation()->Gettht()*RADTODEG ); cout << out; - sprintf(out, " Flight Path Angle: %6.2f deg Climb Rate: %5.0f ft/min\n", + snprintf(out,80, " Flight Path Angle: %6.2f deg Climb Rate: %5.0f ft/min\n", fdmex->GetPosition()->GetGamma()*RADTODEG, fdmex->GetPosition()->Gethdot()*60 ); cout << out; - sprintf(out, " Normal Load Factor: %4.2f g's Pitch Rate: %5.2f deg/s\n", + snprintf(out,80, " Normal Load Factor: %4.2f g's Pitch Rate: %5.2f deg/s\n", fdmex->GetAerodynamics()->GetNlf(), fdmex->GetState()->GetParameter(FG_PITCHRATE)*RADTODEG ); cout << out; - sprintf(out, " Heading: %3.0f deg true Sideslip: %5.2f deg\n", + snprintf(out,80, " Heading: %3.0f deg true Sideslip: %5.2f deg\n", fdmex->GetRotation()->Getpsi()*RADTODEG, fdmex->GetState()->GetParameter(FG_BETA)*RADTODEG ); cout << out; - sprintf(out, " Bank Angle: %5.2f deg\n", + snprintf(out,80, " Bank Angle: %5.2f deg\n", fdmex->GetRotation()->Getphi()*RADTODEG ); cout << out; - sprintf(out, " Elevator: %5.2f deg Left Aileron: %5.2f deg Rudder: %5.2f deg\n", + snprintf(out,80, " Elevator: %5.2f deg Left Aileron: %5.2f deg Rudder: %5.2f deg\n", fdmex->GetState()->GetParameter(FG_ELEVATOR_POS)*RADTODEG, fdmex->GetState()->GetParameter(FG_AILERON_POS)*RADTODEG, fdmex->GetState()->GetParameter(FG_RUDDER_POS)*RADTODEG ); cout << out; - sprintf(out, " Throttle: %5.2f%c\n", + snprintf(out,80, " Throttle: %5.2f%c\n", fdmex->GetFCS()->GetThrottlePos(0),'%' ); cout << out; - sprintf(out, " Wind Components: %5.2f kts head wind, %5.2f kts cross wind\n", + snprintf(out,80, " Wind Components: %5.2f kts head wind, %5.2f kts cross wind\n", fdmex->GetAuxiliary()->GetHeadWind()*jsbFPSTOKTS, fdmex->GetAuxiliary()->GetCrossWind()*jsbFPSTOKTS ); cout << out; - sprintf(out, " Ground Speed: %4.0f knots , Ground Track: %3.0f deg true\n", + snprintf(out,80, " Ground Speed: %4.0f knots , Ground Track: %3.0f deg true\n", fdmex->GetPosition()->GetVground()*jsbFPSTOKTS, fdmex->GetPosition()->GetGroundTrack()*RADTODEG ); cout << out;