bool AirspaceWarningManager::update_inside(const AIRCRAFT_STATE& state) { bool found = false; AirspacePredicateAircraftInside condition(state); Airspaces::AirspaceVector results = m_airspaces.find_inside(state, condition); for (Airspaces::AirspaceVector::iterator it = results.begin(); it != results.end(); ++it) { const AbstractAirspace& airspace = *it->get_airspace(); if (!config.class_enabled(airspace.get_type())) continue; AirspaceWarning& warning = get_warning(airspace); if (warning.state_accepted(AirspaceWarning::WARNING_INSIDE)) { GeoPoint c = airspace.closest_point(state.Location); GeoVector vector_exit(state.Location, c); AirspaceInterceptSolution solution; airspace.intercept(state, vector_exit, m_perf_glide, solution); warning.update_solution(AirspaceWarning::WARNING_INSIDE, solution); found = true; } } return found; }
void AirspaceWarningManager::acknowledge_day(const AbstractAirspace& airspace, const bool set) { get_warning(airspace).acknowledge_day(set); }
LIBDE265_API de265_error de265_get_warning(de265_decoder_context* de265ctx) { decoder_context* ctx = (decoder_context*)de265ctx; return get_warning(ctx); }