void OrderedTask::UpdateSummary(TaskSummary& ordered_summary) const { ordered_summary.clear(); ordered_summary.active = active_task_point; for (auto begin = task_points.cbegin(), end = task_points.cend(), i = begin; i != end; ++i) { const OrderedTaskPoint &tp = **i; TaskSummaryPoint tsp; tsp.d_planned = tp.GetVectorPlanned().distance; if (i == begin) { tsp.achieved = tp.HasExited(); } else { tsp.achieved = tp.HasSampled(); } ordered_summary.append(tsp); } if (stats.total.remaining.IsDefined() && stats.total.planned.IsDefined()) ordered_summary.update(stats.total.remaining.GetDistance(), stats.total.planned.GetDistance()); }
void OrderedTask::UpdateSummary(TaskSummary& ordered_summary) const { ordered_summary.clear(); ordered_summary.active = active_task_point; bool first = true; for (const auto *tpp : task_points) { const OrderedTaskPoint &tp = *tpp; TaskSummaryPoint tsp; tsp.d_planned = tp.GetVectorPlanned().distance; if (first) { first = false; tsp.achieved = tp.HasExited(); } else { tsp.achieved = tp.HasSampled(); } ordered_summary.append(tsp); } if (stats.total.remaining.IsDefined() && stats.total.planned.IsDefined()) ordered_summary.update(stats.total.remaining.GetDistance(), stats.total.planned.GetDistance()); }