]> git.mxchange.org Git - flightgear.git/blobdiff - src/Airports/runways.hxx
Another clean-up iteration: FGAirportList::search is gone, replaced by two
[flightgear.git] / src / Airports / runways.hxx
index a198f492c66186130664bd96d2826a6308a3cf95..8e40f9e76936a1c48837b3cd1ba81b8c001ec199 100644 (file)
@@ -39,6 +39,17 @@ class FGRunway : public FGPositioned
 {  
   FGAirport* _airport; ///< owning airport
   bool _reciprocal;
+  double _heading;
+  double _length;
+  double _width;
+  double _displ_thresh;
+  double _stopway;
+  
+  /** surface, as defined by:
+   * http://www.x-plane.org/home/robinp/Apt810.htm#RwySfcCodes
+   */
+  int _surface_code;
+  
 public:
   
   FGRunway(FGAirport* aAirport, const std::string& rwy_no,
@@ -113,6 +124,12 @@ public:
   double widthM() const
   { return _width * SG_FEET_TO_METER; }
   
+  double displacedThresholdM() const
+  { return _displ_thresh * SG_FEET_TO_METER; }
+  
+  double stopwayM() const
+  { return _stopway * SG_FEET_TO_METER; }
+  
   /**
    * Runway heading in degrees.
    */
@@ -129,17 +146,17 @@ public:
   void setAirport(FGAirport* aAirport)
   { _airport = aAirport; }
   
+  /**
+   * Predicate to test if this runway has a hard surface. For the moment, this
+   * means concrete or asphalt
+   */
+  bool isHardSurface() const;
+  
+  /**
+   * Retrieve runway surface code, as define in Robin Peel's data
+   */
   int surface() const 
   { return _surface_code; }
-  
-  double _displ_thresh;
-  double _stopway;
-
-  double _heading;
-  double _length;
-  double _width;
-  
-  int _surface_code;
 };
 
 #endif // _FG_RUNWAYS_HXX