X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Frunwaybase.hxx;h=c365f69e52fa425bdc39132d6b98cff1fa87df89;hb=a43786f8ddbf48938d5e59ca1032123b8c25f994;hp=aa34df7a747915b689ca534d0d6c2fa0343a4933;hpb=8ad7f4eb70d307bfb6f7b14a1a63ab2331d27183;p=flightgear.git diff --git a/src/Airports/runwaybase.hxx b/src/Airports/runwaybase.hxx index aa34df7a7..c365f69e5 100644 --- a/src/Airports/runwaybase.hxx +++ b/src/Airports/runwaybase.hxx @@ -28,7 +28,7 @@ #include -#include "Navaids/positioned.hxx" +#include #include @@ -39,12 +39,11 @@ class FGRunwayBase : public FGPositioned { public: - FGRunwayBase(Type aTy, const std::string& aIdent, + 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, - bool index); + const int surface_code); /** * Retrieve a position on the extended centerline. Positive values @@ -52,18 +51,19 @@ public: * opposited direction. 0.0 corresponds to the (non-displaced) threshold */ SGGeod pointOnCenterline(double aOffset) const; + SGGeod pointOffCenterline(double aOffset, double lateralOffset) const; double lengthFt() const - { return _length; } + { return _length * SG_METER_TO_FEET; } double lengthM() const - { return _length * SG_FEET_TO_METER; } + { return _length; } double widthFt() const - { return _width; } + { return _width * SG_METER_TO_FEET; } double widthM() const - { return _width * SG_FEET_TO_METER; } + { return _width; } /** * Runway heading in degrees. @@ -82,8 +82,15 @@ public: */ int surface() const { return _surface_code; } + + /** + * Retrieve runway surface name, as define in Robin Peel's data + */ + static const char * surfaceName( int surface_code ); + const char * surfaceName() { return surfaceName( _surface_code ); } protected: + double _heading; double _length; double _width; @@ -98,7 +105,8 @@ protected: class FGTaxiway : public FGRunwayBase { public: - FGTaxiway(const std::string& aIdent, + FGTaxiway(PositionedID aGuid, + const std::string& aIdent, const SGGeod& aGeod, const double heading, const double length, const double width,