namespace JSBSim {
-static const char *IdSrc = "$Id: FGInertial.cpp,v 1.18 2010/03/28 05:57:00 jberndt Exp $";
+static const char *IdSrc = "$Id: FGInertial.cpp,v 1.21 2011/05/20 03:18:36 jberndt Exp $";
static const char *IdHdr = ID_INERTIAL;
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bool FGInertial::InitModel(void)
{
- if (!FGModel::InitModel()) return false;
-
earthPosAngle = 0.0;
return true;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-bool FGInertial::Run(void)
+bool FGInertial::Run(bool Holding)
{
// Fast return if we have nothing to do ...
- if (FGModel::Run()) return true;
- if (FDMExec->Holding()) return false;
+ if (FGModel::Run(Holding)) return true;
+ if (Holding) return false;
RunPreFunctions();
// Gravitation accel
- double r = Propagate->GetRadius();
+ double r = FDMExec->GetPropagate()->GetRadius();
gAccel = GetGAccel(r);
earthPosAngle += FDMExec->GetDeltaT()*RotationRate;
// Gravitation accel
double r = position.Magnitude();
- double lat = Propagate->GetLatitude();
+ double lat = FDMExec->GetPropagate()->GetLatitude();
double sinLat = sin(lat);
- double preCommon = 1.5*J2*(a/r)*(a/r);
+ double adivr = a/r;
+ double preCommon = 1.5*J2*adivr*adivr;
double xy = 1.0 - 5.0*(sinLat*sinLat);
double z = 3.0 - 5.0*(sinLat*sinLat);
double GMOverr2 = GM/(r*r);