void InfoBoxContentHomeDistance::Update(InfoBoxWindow &infobox) { const CommonStats &common_stats = XCSoarInterface::Calculated().common_stats; // Set Value SetValueFromDistance(infobox, common_stats.vector_home.Distance); if (XCSoarInterface::Basic().track_available) { Angle bd = common_stats.vector_home.Bearing - XCSoarInterface::Basic().track; SetCommentBearingDifference(infobox, bd); } else infobox.SetCommentInvalid(); }
void InfoBoxContentHomeDistance::Update(InfoBoxData &data) { const NMEAInfo &basic = CommonInterface::Basic(); const CommonStats &common_stats = XCSoarInterface::Calculated().common_stats; if (!common_stats.vector_home.IsValid()) { data.SetInvalid(); return; } // Set Value SetValueFromDistance(data, common_stats.vector_home.distance); if (basic.track_available) { Angle bd = common_stats.vector_home.bearing - basic.track; SetCommentBearingDifference(data, bd); } else data.SetCommentInvalid(); }
void InfoBoxContentNextDistance::Update(InfoBoxData &data) { // use proper non-terminal next task stats const NMEAInfo &basic = CommonInterface::Basic(); const TaskStats &task_stats = XCSoarInterface::Calculated().task_stats; const GeoVector &vector_remaining = task_stats.current_leg.vector_remaining; if (!task_stats.task_valid || !vector_remaining.IsValid()) { data.SetInvalid(); return; } // Set Value SetValueFromDistance(data, vector_remaining.distance); if (basic.track_available) { Angle bd = vector_remaining.bearing - basic.track; SetCommentBearingDifference(data, bd); } else data.SetCommentInvalid(); }
void InfoBoxContentNextDistance::Update(InfoBoxWindow &infobox) { // use proper non-terminal next task stats const TaskStats &task_stats = XCSoarInterface::Calculated().task_stats; const GlideResult &solution_remaining = XCSoarInterface::Calculated().task_stats.current_leg.solution_remaining; if (!task_stats.task_valid || !solution_remaining.defined()) { infobox.SetInvalid(); return; } // Set Value SetValueFromDistance(infobox, solution_remaining.Vector.Distance); if (XCSoarInterface::Basic().track_available) { Angle bd = solution_remaining.Vector.Bearing - XCSoarInterface::Basic().track; SetCommentBearingDifference(infobox, bd); } else infobox.SetCommentInvalid(); }