X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2Fmodels%2FFGAircraft.cpp;h=0ed6ac74f33975f09d0dcdca72953d51d0e7ab09;hb=68f54290481701429a04cd33c06be2674fc2b3a4;hp=83a1bf1779b9f8feff5e401f7bb35115bf2f800e;hpb=82364aa4da90f9efd0047ababb42fc402f382015;p=flightgear.git diff --git a/src/FDM/JSBSim/models/FGAircraft.cpp b/src/FDM/JSBSim/models/FGAircraft.cpp index 83a1bf177..0ed6ac74f 100644 --- a/src/FDM/JSBSim/models/FGAircraft.cpp +++ b/src/FDM/JSBSim/models/FGAircraft.cpp @@ -68,7 +68,7 @@ DEFINITIONS GLOBAL DATA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -static const char *IdSrc = "$Id$"; +static const char *IdSrc = "$Id: FGAircraft.cpp,v 1.28 2010/09/07 00:40:03 jberndt Exp $"; static const char *IdHdr = ID_AIRCRAFT; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -114,6 +114,8 @@ bool FGAircraft::Run(void) if (FGModel::Run()) return true; if (FDMExec->Holding()) return false; + RunPreFunctions(); + vForces.InitMatrix(); if (!HoldDown) { vForces += Aerodynamics->GetForces(); @@ -121,6 +123,9 @@ bool FGAircraft::Run(void) vForces += GroundReactions->GetForces(); vForces += ExternalReactions->GetForces(); vForces += BuoyantForces->GetForces(); + } else { + const FGMatrix33& mTl2b = Propagate->GetTl2b(); + vForces = mTl2b * FGColumnVector3(0,0,-MassBalance->GetWeight()); } vMoments.InitMatrix(); @@ -134,10 +139,12 @@ bool FGAircraft::Run(void) vBodyAccel = vForces/MassBalance->GetMass(); - vNcg = vBodyAccel/Inertial->gravity(); + vNcg = vBodyAccel/Inertial->SLgravity(); vNwcg = Aerodynamics->GetTb2w() * vNcg; - vNwcg(3) = -1*vNwcg(3) + 1; + vNwcg(3) = 1.0 - vNwcg(3); + + RunPostFunctions(); return false; } @@ -199,6 +206,8 @@ bool FGAircraft::Load(Element* el) } } + PostLoad(el, PropertyManager); + Debug(2); return true;