FlightGear next
|
#include <runways.hxx>
Inherits FGRunwayBase.
Public Member Functions | |
FGRunway (PositionedID aGuid, PositionedID aAirport, const std::string &rwy_no, const SGGeod &aGeod, const double heading, const double length, const double width, const double displ_thresh, const double stopway, const int surface_code) | |
double | score (double aLengthWt, double aWidthWt, double aSurfaceWt, double aIlsWt) const |
score this runway according to the specified weights. | |
SGGeod | begin () const |
Get the runway beginning point - this is syntatic sugar, equivalent to calling pointOnCenterline(0.0);. | |
SGGeod | threshold () const |
Get the (possibly displaced) threshold point. | |
SGGeod | pointOnCenterlineDisplaced (double aOffset) const |
Retrieve a position on the extended centerline. | |
SGGeod | end () const |
Get the 'far' end - this is equivalent to calling pointOnCenterline(lengthFt());. | |
double | displacedThresholdM () const |
double | stopwayM () const |
FGNavRecord * | ILS () const |
FGNavRecord * | glideslope () const |
retrieve the associated glideslope transmitter, if one is defined. | |
void | setILS (PositionedID nav) |
FGRunway * | reciprocalRunway () const |
void | setReciprocalRunway (PositionedID other) |
flightgear::SIDList | getSIDs () const |
Get SIDs (DPs) associated with this runway. | |
flightgear::STARList | getSTARs () const |
Get STARs associared with this runway. | |
flightgear::ApproachList | getApproaches (flightgear::ProcedureType type=flightgear::PROCEDURE_INVALID) const |
void | updateThreshold (const SGGeod &newThreshold, double newHeading, double newDisplacedThreshold, double newStopway) |
![]() | |
FGRunwayBase (PositionedID aGuid, Type aTy, const std::string &aIdent, const SGGeod &aGeod, const double heading, const double length, const double width, const int surface_code, const PositionedID airportId) | |
SGGeod | pointOnCenterline (double aOffset) const |
Retrieve a position on the extended centerline. | |
SGGeod | pointOffCenterline (double aOffset, double lateralOffset) const |
double | lengthFt () const |
double | lengthM () const |
double | widthFt () const |
double | widthM () const |
double | headingDeg () const |
Runway heading in degrees. | |
bool | isHardSurface () const |
Predicate to test if this runway has a hard surface. | |
int | surface () const |
Retrieve runway surface code, as define in Robin Peel's data. | |
const char * | surfaceName () |
FGAirportRef | airport () const |
![]() | |
virtual | ~FGPositioned () |
Type | type () const |
const char * | typeString () const |
const std::string & | ident () const |
virtual const std::string & | name () const |
Return the name of this positioned. | |
virtual const SGGeod & | geod () const |
PositionedID | guid () const |
virtual const SGVec3d & | cart () const |
The cartesian position associated with this object. | |
double | latitude () const |
double | longitude () const |
double | elevation () const |
double | elevationM () const |
Static Public Member Functions | |
static bool | isType (FGPositioned::Type ty) |
static std::string | reverseIdent (const std::string &aRunayIdent) |
given a runway identifier (06, 18L, 31R) compute the identifier for the reciprocal heading runway (24, 36R, 13L) string. | |
![]() | |
static const char * | surfaceName (int surface_code) |
Retrieve runway surface name, as define in Robin Peel's data. | |
![]() | |
static bool | isAirportType (FGPositioned *pos) |
static bool | isRunwayType (FGPositioned *pos) |
static bool | isNavaidType (FGPositioned *pos) |
static FGPositionedList | findWithinRange (const SGGeod &aPos, double aRangeNm, Filter *aFilter) |
static FGPositionedList | findWithinRangePartial (const SGGeod &aPos, double aRangeNm, Filter *aFilter, bool &aPartial) |
static FGPositionedRef | findClosestWithIdent (const std::string &aIdent, const SGGeod &aPos, Filter *aFilter=NULL) |
static FGPositionedRef | findFirstWithIdent (const std::string &aIdent, Filter *aFilter) |
static FGPositionedList | findAllWithIdent (const std::string &aIdent, Filter *aFilter=NULL, bool aExact=true) |
Find all items with the specified ident. | |
static FGPositionedList | findAllWithName (const std::string &aName, Filter *aFilter=NULL, bool aExact=true) |
As above, but searches names instead of idents. | |
static void | sortByRange (FGPositionedList &, const SGGeod &aPos) |
Sort an FGPositionedList by distance from a position. | |
static FGPositionedRef | findClosest (const SGGeod &aPos, double aCutoffNm, Filter *aFilter=NULL) |
Find the closest item to a position, which pass the specified filter A cutoff range in NM must be specified, to constrain the search acceptably. | |
static FGPositionedList | findClosestN (const SGGeod &aPos, unsigned int aN, double aCutoffNm, Filter *aFilter=NULL) |
Find the closest N items to a position, which pass the specified filter A cutoff range in NM must be specified, to constrain the search acceptably. | |
static FGPositionedList | findClosestNPartial (const SGGeod &aPos, unsigned int aN, double aCutoffNm, Filter *aFilter, bool &aPartial) |
Same as above, but with a time-bound in msec too. | |
template<class T> | |
static SGSharedPtr< T > | loadById (PositionedID id) |
template<class T> | |
static SGSharedPtr< T > | loadById (const PositionedIDVec &id_vec, size_t index) |
template<class T> | |
static std::vector< SGSharedPtr< T > > | loadAllById (const PositionedIDVec &id_vec) |
static Type | typeFromName (const std::string &aName) |
Map a candidate type string to a real type. | |
static const char * | nameForType (Type aTy) |
Map a type to a human-readable string. | |
static FGPositionedRef | createWaypoint (FGPositioned::Type aType, const std::string &aIdent, const SGGeod &aPos, bool isTemporary=false, const std::string &aName={}) |
static bool | deleteWaypoint (FGPositionedRef aWpt) |
Definition at line 14 of file runways.hxx.
FGRunway::FGRunway | ( | PositionedID | aGuid, |
PositionedID | aAirport, | ||
const std::string & | rwy_no, | ||
const SGGeod & | aGeod, | ||
const double | heading, | ||
const double | length, | ||
const double | width, | ||
const double | displ_thresh, | ||
const double | stopway, | ||
const int | surface_code ) |
Definition at line 25 of file runways.cxx.
SGGeod FGRunway::begin | ( | ) | const |
Get the runway beginning point - this is syntatic sugar, equivalent to calling pointOnCenterline(0.0);.
Definition at line 89 of file runways.cxx.
|
inline |
Definition at line 69 of file runways.hxx.
SGGeod FGRunway::end | ( | ) | const |
Get the 'far' end - this is equivalent to calling pointOnCenterline(lengthFt());.
Definition at line 94 of file runways.cxx.
flightgear::ApproachList FGRunway::getApproaches | ( | flightgear::ProcedureType | type = flightgear::PROCEDURE_INVALID | ) | const |
Definition at line 169 of file runways.cxx.
flightgear::SIDList FGRunway::getSIDs | ( | ) | const |
Get SIDs (DPs) associated with this runway.
Definition at line 140 of file runways.cxx.
flightgear::STARList FGRunway::getSTARs | ( | ) | const |
Get STARs associared with this runway.
Definition at line 154 of file runways.cxx.
FGNavRecord * FGRunway::glideslope | ( | ) | const |
retrieve the associated glideslope transmitter, if one is defined.
Definition at line 129 of file runways.cxx.
FGNavRecord * FGRunway::ILS | ( | ) | const |
Definition at line 120 of file runways.cxx.
|
inlinestatic |
Definition at line 21 of file runways.hxx.
SGGeod FGRunway::pointOnCenterlineDisplaced | ( | double | aOffset | ) | const |
Retrieve a position on the extended centerline.
Positive values are in the direction of the runway heading, negative values are in the opposited direction. 0.0 corresponds to the possibly threshold
Definition at line 104 of file runways.cxx.
FGRunway * FGRunway::reciprocalRunway | ( | ) | const |
Definition at line 115 of file runways.cxx.
|
static |
given a runway identifier (06, 18L, 31R) compute the identifier for the reciprocal heading runway (24, 36R, 13L) string.
Definition at line 41 of file runways.cxx.
double FGRunway::score | ( | double | aLengthWt, |
double | aWidthWt, | ||
double | aSurfaceWt, | ||
double | aIlsWt ) const |
score this runway according to the specified weights.
Used by FGAirport::findBestRunwayForHeading
Definition at line 76 of file runways.cxx.
|
inline |
Definition at line 83 of file runways.hxx.
void FGRunway::setReciprocalRunway | ( | PositionedID | other | ) |
Definition at line 109 of file runways.cxx.
|
inline |
Definition at line 72 of file runways.hxx.
SGGeod FGRunway::threshold | ( | ) | const |
Get the (possibly displaced) threshold point.
Definition at line 99 of file runways.cxx.
void FGRunway::updateThreshold | ( | const SGGeod & | newThreshold, |
double | newHeading, | ||
double | newDisplacedThreshold, | ||
double | newStopway ) |
Definition at line 183 of file runways.cxx.