]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/NavDataCache.hxx
Fix turn entry path position computation.
[flightgear.git] / src / Navaids / NavDataCache.hxx
index 31616769301fd2d79f4e0e45a95bcb0ff17d3bf0..e5d9e7c06f3a01fc1d5ffedd78e2396f6e91abba 100644 (file)
@@ -64,7 +64,13 @@ public:
    ** global input files is changed.
    */
   bool isRebuildRequired();
-  
+
+    /**
+     * check if cached scenery paths have changed, and if so, drop scenery-
+     * dependant data such as ground-nets.
+     */
+  bool dropGroundnetsIfRequired();
+
   /**
    * run the cache rebuild - returns true if rebuild is complete,
    * otherwise keep going.
@@ -102,15 +108,9 @@ public:
   void setRunwayReciprocal(PositionedID runway, PositionedID recip);
   void setRunwayILS(PositionedID runway, PositionedID ils);
   
-  void updateRunwayThreshold(PositionedID runwayID, const SGGeod &aThreshold,
-                    double aHeading, double aDisplacedThreshold,
-                    double aStopway);
-  
   PositionedID insertNavaid(FGPositioned::Type ty, const std::string& ident,
                             const std::string& name, const SGGeod& pos, int freq, int range, double multiuse,
                             PositionedID apt, PositionedID runway);
-  void updateILS(PositionedID ils, const SGGeod& newPos, double aHdg);
-
 
   // Assign colocated DME to a navaid
   void setNavaidColocated(PositionedID navaid, PositionedID colocatedDME);
@@ -122,10 +122,18 @@ public:
   
   PositionedID createPOI(FGPositioned::Type ty, const std::string& ident, const SGGeod& aPos);
   
-  void removePOI(FGPositioned::Type ty, const std::string& aIdent);
+  bool removePOI(FGPositioned::Type ty, const std::string& aIdent);
     
   void dropGroundnetFor(PositionedID aAirport);
   
+  /**
+   * Remove all ground-nets globally from the cache.
+   * This includes parking and taxi-nodes and edges between them. It's useful
+   * when scenery paths change, since the ground-nets depend on the scenery.
+   * Using this we can avoid havind to rebuild the entire cache.
+   */
+  void dropAllGroundnets();
+  
   PositionedID insertParking(const std::string& name, const SGGeod& aPos,
                              PositionedID aAirport,
                              double aHeading, int aRadius, const std::string& aAircraftType,
@@ -267,6 +275,8 @@ public:
         NavDataCache* _instance;
         bool _committed;
     };
+    
+    bool isReadOnly() const;
 private:
   NavDataCache();