Mach = 0.0;
alpha = beta = 0.0;
adot = bdot = 0.0;
+
+ vUVWdot.InitMatrix();
+ vUVWdot_prev[0].InitMatrix();
+ vUVWdot_prev[1].InitMatrix();
+ vUVWdot_prev[2].InitMatrix();
+
bind();
Debug(0);
}
bool FGTranslation::Run(void)
{
- double Tc = 0.5*State->Getdt()*rate;
-
if (!FGModel::Run()) {
mVel(1,1) = 0.0;
vUVWdot = mVel*Rotation->GetPQR() + Aircraft->GetBodyAccel();
- vUVW += Tc*(vUVWdot + vlastUVWdot);
+ vUVW += State->Integrate(FGState::TRAPZ, State->Getdt()*rate, vUVWdot, vUVWdot_prev);
vAeroUVW = vUVW + State->GetTl2b()*Atmosphere->GetWindNED();
qbarUV = 0.5*Atmosphere->GetDensity()*(vAeroUVW(eU)*vAeroUVW(eU) + vAeroUVW(eV)*vAeroUVW(eV));
Mach = Vt / State->Geta();
- vlastUVWdot = vUVWdot;
-
if (debug_lvl > 1) Debug(1);
return false;