예제 #1
0
void 
SampledTaskPoint::clear_sample_all_but_last(const AIRCRAFT_STATE& ref_last) 
{
  if (has_sampled()) {
    m_sampled_points.clear();
    SearchPoint sp(ref_last.Location, m_task_projection, true);
    m_sampled_points.push_back(sp);
  }
}
예제 #2
0
파일: AATPoint.cpp 프로젝트: Mrdini/XCSoar
const GeoPoint&
AATPoint::get_location_remaining() const
{
  if (getActiveState() == BEFORE_ACTIVE) {
    if (has_sampled()) {
      return get_location_max();
    } else {
      return get_location_min();
    }
  } else {
    return m_target_location;
  }
}
예제 #3
0
const SearchPointVector&
SampledTaskPoint::get_search_points() const
{
    if (search_boundary_points()) {
        return m_boundary_points;
    } else {
        if (!has_sampled()) {
            if (search_nominal_if_unsampled()) {
                // this adds a point in case the waypoint was skipped
                // this is a crude way of handling the situation --- may be best
                // to de-rate the score in some way
                return m_nominal_point;
            } else {
                return m_boundary_points;
            }
        } else {
            return m_sampled_points;
        }
    }
}