class STAR;
class Approach;
class Waypt;
-
+ class CommStation;
typedef SGSharedPtr<Waypt> WayptRef;
typedef std::vector<WayptRef> WayptVec;
+
+ typedef std::vector<CommStation*> CommStationList;
}
bool isSeaport() const;
bool isHeliport() const;
+ static bool isAirportType(FGPositioned* pos);
+
virtual const std::string& name() const
{ return _name; }
class HardSurfaceFilter : public AirportFilter
{
public:
- HardSurfaceFilter(double minLengthFt);
+ HardSurfaceFilter(double minLengthFt = -1);
virtual bool passAirport(FGAirport* aApt) const;
unsigned int numApproaches() const;
flightgear::Approach* getApproachByIndex(unsigned int aIndex) const;
-
+ flightgear::Approach* findApproachWithIdent(const std::string& aIdent) const;
+
/**
* Syntactic wrapper around FGPositioned::findClosest - find the closest
* match for filter, and return it cast to FGAirport. The default filter
*/
static char** searchNamesAndIdents(const std::string& aFilter);
- bool buildApproach(flightgear::Waypt* aEnroute, flightgear::STAR* aSTAR,
- FGRunway* aRwy, flightgear::WayptVec& aRoute);
+ void setCommStations(flightgear::CommStationList& comms);
- /**
- * Given a destiation point, select the best SID and transition waypt from
- * this airport. Returns (NULL,NULL) is no SIDs are defined, otherwise the
- * best SID/transition is that which is closest to the destination point.
- */
- std::pair<flightgear::SID*, flightgear::WayptRef> selectSID(const SGGeod& aDest, FGRunway* aRwy);
-
- /**
- * Select a STAR and enroute transition waypt, given an origin (departure) position.
- * returns (NULL, NULL) is no suitable STAR is exists
- */
- std::pair<flightgear::STAR*, flightgear::WayptRef> selectSTAR(const SGGeod& aOrigin, FGRunway* aRwy);
+ flightgear::CommStationList commStationsOfType(FGPositioned::Type aTy) const;
+ const flightgear::CommStationList& commStations() const
+ { return mCommStations; }
private:
typedef std::vector<FGRunwayPtr>::const_iterator Runway_iterator;
/**
std::vector<flightgear::SID*> mSIDs;
std::vector<flightgear::STAR*> mSTARs;
std::vector<flightgear::Approach*> mApproaches;
+
+ flightgear::CommStationList mCommStations;
};
// find basic airport location info from airport database