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;
|
gravity = 32;
|
||||||
// buoyancy = 64;
|
// buoyancy = 64;
|
||||||
no_roll = false;
|
no_roll = false;
|
||||||
Mach = 0.4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FGAIBallistic::~FGAIBallistic() {
|
FGAIBallistic::~FGAIBallistic() {
|
||||||
|
|
|
@ -67,7 +67,6 @@ private:
|
||||||
bool wind; // if true, local wind will be applied to object
|
bool wind; // if true, local wind will be applied to object
|
||||||
double Cd; // drag coefficient
|
double Cd; // drag coefficient
|
||||||
double mass; // slugs
|
double mass; // slugs
|
||||||
double Mach;
|
|
||||||
|
|
||||||
void Run(double dt);
|
void Run(double dt);
|
||||||
};
|
};
|
||||||
|
|
|
@ -98,9 +98,23 @@ void FGAIBase::update(double dt) {
|
||||||
}
|
}
|
||||||
|
|
||||||
rho = p / (1718 * (T + 459.7));
|
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() {
|
void FGAIBase::Transform() {
|
||||||
if (!invisible) {
|
if (!invisible) {
|
||||||
aip.setPosition(pos.lon(), pos.lat(), pos.elev() * SG_METER_TO_FEET);
|
aip.setPosition(pos.lon(), pos.lat(), pos.elev() * SG_METER_TO_FEET);
|
||||||
|
|
|
@ -182,6 +182,9 @@ public:
|
||||||
double rho;
|
double rho;
|
||||||
double T; // temperature, degs farenheit
|
double T; // temperature, degs farenheit
|
||||||
double p; // pressure lbs/sq ft
|
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 e;
|
||||||
static const double lbs_to_slugs;
|
static const double lbs_to_slugs;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue