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->set_intersections(as.intersects(*loc, *vec))) visitor->Visit(as); }
void operator()(Airspace as) { if (as.intersects(*ray) && visitor->set_intersections(as.Intersects(start, end))) visitor->Visit(as); }
void operator()(Airspace as) { if (as.Intersects(ray) && visitor->SetIntersections(as.Intersects(start, end, *projection))) visitor->Visit(as); }