// search for the airport nearest the specified position and
// passing the filter
FGAirport* FGAirportList::search(double lon_deg, double lat_deg,
- FGAirportSearchFilter& search)
+ FGAirportSearchFilter& filter)
{
double min_dist = 360.0;
airport_list_iterator it = airports_array.begin();
airport_list_iterator end = airports_array.end();
airport_list_iterator closest = end;
for (; it != end; ++it) {
- if (!search.acceptable(*it))
+ if (!filter.pass(*it))
continue;
// crude manhatten distance based on lat/lon difference
class FGAirportSearchFilter {
public:
virtual ~FGAirportSearchFilter() {}
- virtual bool acceptable(FGAirport*) { return true; }
+ // all airports pass the filter by default
+ virtual bool pass(FGAirport*) { return true; }
};
SG_USING_STD(sort);
class metar_filter : public FGAirportSearchFilter {
- virtual bool acceptable(FGAirport *a) { return a->getMetar(); }
+ virtual bool pass(FGAirport *a) { return a->getMetar(); }
} metar_only;
\f
class airport_filter : public FGAirportSearchFilter {
- virtual bool acceptable(FGAirport *a) { return a->isAirport(); }
+ virtual bool pass(FGAirport *a) { return a->isAirport(); }
} airport;
// Returns airport data for given airport id ("KSFO"), or for the airport