void Airspaces::VisitIntersecting(const GeoPoint &loc, const GeoPoint &end, AirspaceIntersectionVisitor &visitor) const { for (const auto &i : QueryIntersecting(loc, end)) if (visitor.SetIntersections(i.Intersects(loc, end, task_projection))) visitor.Visit(i.GetAirspace()); }
void operator()(Airspace as) { if (as.Intersects(ray) && visitor->SetIntersections(as.Intersects(start, end, *projection))) visitor->Visit(as); }