void GlidePolar::SetMC(const fixed _mc) { mc = _mc; if (positive(mc)) inv_mc = fixed(1)/mc; else inv_mc = fixed(0); if (IsValid()) UpdateBestLD(); }
void GlidePolar::SetMC(const double _mc) { mc = _mc; if (mc > 0) inv_mc = 1. / mc; else inv_mc = 0; if (IsValid()) UpdateBestLD(); }
void GlidePolar::UpdateSMin() { #if 0 // this method to be used if polar is not parabolic GlidePolarMinSink gpminsink(*this, Vmax); Vmin = gpminsink.find_min(Vmin); #else assert(polar.IsValid()); Vmin = std::min(Vmax, -polar.b / Double(polar.a)); Smin = SinkRate(Vmin); #endif UpdateBestLD(); }