fixed GlidePolar::GetWingLoading() const { if (positive(wing_area)) return GetTotalMass() / wing_area; return fixed(0); }
double GlidePolar::GetWingLoading() const { if (wing_area > 0) return GetTotalMass() / wing_area; return 0; }
void GlidePolar::Update() { assert(positive(bugs)); if (!ideal_polar.IsValid()) { Vmin = Vmax = fixed(0); return; } const fixed loading_factor = sqrt(GetTotalMass() / reference_mass); const fixed inv_bugs = fixed(1)/bugs; polar.a = inv_bugs * ideal_polar.a / loading_factor; polar.b = inv_bugs * ideal_polar.b; polar.c = inv_bugs * ideal_polar.c * loading_factor; assert(polar.IsValid()); UpdateSMax(); UpdateSMin(); }