本文整理汇总了C++中GlideResult::IsDefined方法的典型用法代码示例。如果您正苦于以下问题:C++ GlideResult::IsDefined方法的具体用法?C++ GlideResult::IsDefined怎么用?C++ GlideResult::IsDefined使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GlideResult
的用法示例。
在下文中一共展示了GlideResult::IsDefined方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gp_stf
double
GlidePolar::SpeedToFly(const AircraftState &state,
const GlideResult &solution, const bool block_stf) const
{
assert(IsValid());
double V_stf;
const auto g_scaling = block_stf
? 1.
: sqrt(fabs(state.g_load));
if (!block_stf && (state.netto_vario > mc + Smin)) {
// stop to climb
V_stf = Vmin;
} else {
const auto head_wind = !positive(GetMC()) && solution.IsDefined()
? solution.head_wind
: 0.;
const auto stf_sink_rate = block_stf
? 0.
: -state.netto_vario;
GlidePolarSpeedToFly gp_stf(*this, stf_sink_rate, head_wind, Vmin, Vmax);
V_stf = gp_stf.solve(Vmax);
}
return std::max(Vmin, V_stf * g_scaling);
}
示例2:
static void
Copy(DistanceStat &stat, const GlideResult &solution)
{
if (solution.IsDefined())
stat.set_distance(solution.vector.distance);
else
stat.Reset();
}
示例3: g_scaling
fixed
GlidePolar::SpeedToFly(const AircraftState &state,
const GlideResult &solution, const bool block_stf) const
{
assert(IsValid());
fixed V_stf;
const fixed g_scaling (block_stf ? fixed(1) : sqrt(fabs(state.g_load)));
if (!block_stf && (state.netto_vario > mc + Smin)) {
// stop to climb
V_stf = Vmin;
} else {
const fixed head_wind(!positive(GetMC()) && solution.IsDefined()
? solution.head_wind
: fixed(0));
const fixed stf_sink_rate (block_stf ? fixed(0) : -state.netto_vario);
GlidePolarSpeedToFly gp_stf(*this, stf_sink_rate, head_wind, Vmin, Vmax);
V_stf = gp_stf.solve(Vmax);
}
return std::max(Vmin, V_stf * g_scaling);
}