]> git.mxchange.org Git - flightgear.git/blobdiff - src/Airports/runwaybase.hxx
apt.dat parser: clearer log and exception messages
[flightgear.git] / src / Airports / runwaybase.hxx
index ca0a9fb6a4adeedcf61341a75b706f07566d3910..c365f69e52fa425bdc39132d6b98cff1fa87df89 100644 (file)
 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
@@ -55,16 +54,16 @@ public:
   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.
@@ -83,6 +82,12 @@ 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:
     
@@ -100,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,