Move the calculations of Mach to the base class.
This commit is contained in:
parent
0304651a9b
commit
1d081cdd93
4 changed files with 18 additions and 3 deletions
|
@ -36,7 +36,6 @@ FGAIBallistic::FGAIBallistic(FGAIManager* mgr) {
|
|||
gravity = 32;
|
||||
// buoyancy = 64;
|
||||
no_roll = false;
|
||||
Mach = 0.4;
|
||||
}
|
||||
|
||||
FGAIBallistic::~FGAIBallistic() {
|
||||
|
|
|
@ -67,7 +67,6 @@ private:
|
|||
bool wind; // if true, local wind will be applied to object
|
||||
double Cd; // drag coefficient
|
||||
double mass; // slugs
|
||||
double Mach;
|
||||
|
||||
void Run(double dt);
|
||||
};
|
||||
|
|
|
@ -98,9 +98,23 @@ void FGAIBase::update(double dt) {
|
|||
}
|
||||
|
||||
rho = p / (1718 * (T + 459.7));
|
||||
|
||||
// calculate the speed of sound at altitude
|
||||
// a = sqrt ( g * R * (T + 459.7))
|
||||
// where:
|
||||
// a = speed of sound [ft/s]
|
||||
// g = specific heat ratio, which is usually equal to 1.4
|
||||
// R = specific gas constant, which equals 1716 ft-lb/slug/°R
|
||||
|
||||
a = sqrt ( 1.4 * 1716 * (T + 459.7));
|
||||
|
||||
// calculate Mach number
|
||||
|
||||
Mach = speed/a;
|
||||
|
||||
// cout << "Speed(ft/s) "<< speed <<" Altitude(ft) "<< altitude << " Mach " << Mach;
|
||||
}
|
||||
|
||||
|
||||
void FGAIBase::Transform() {
|
||||
if (!invisible) {
|
||||
aip.setPosition(pos.lon(), pos.lat(), pos.elev() * SG_METER_TO_FEET);
|
||||
|
|
|
@ -182,6 +182,9 @@ public:
|
|||
double rho;
|
||||
double T; // temperature, degs farenheit
|
||||
double p; // pressure lbs/sq ft
|
||||
double a; // speed of sound at altitude (ft/s)
|
||||
double Mach; // Mach number
|
||||
|
||||
static const double e;
|
||||
static const double lbs_to_slugs;
|
||||
|
||||
|
|
Loading…
Reference in a new issue