]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/positioned.hxx
Reduce severity of a failure to create a marker beacon due to an unknown runway from...
[flightgear.git] / src / Navaids / positioned.hxx
index f6f61229a78750118aea77e719e12f5ceefacdcc..5f8d90e6ff8220505e96cb55f88b638b3da216d3 100644 (file)
 #ifndef FG_POSITIONED_HXX
 #define FG_POSITIONED_HXX
 
+#include <string>
 #include <vector>
 
 #include <simgear/structure/SGSharedPtr.hxx>
 #include <simgear/math/SGMath.hxx>
 
 class FGPositioned;
+class SGPropertyNode;
 
 typedef SGSharedPtr<FGPositioned> FGPositionedRef;
 
@@ -56,9 +58,14 @@ public:
     DME,
     TACAN,
     OBSTACLE,
-    FREQ_GND,
-    FREQ_TWR,
+    FREQ_GROUND,
+    FREQ_TOWER,
     FREQ_ATIS,
+    FREQ_AWOS,
+    FREQ_APP_DEP,
+    FREQ_ENROUTE,
+    FREQ_CLEARANCE,
+    FREQ_UNICOM,
     LAST_TYPE
   } Type;
 
@@ -135,13 +142,13 @@ public:
   class TypeFilter : public Filter
   {
   public:
-    TypeFilter(Type aTy) : mType(aTy) { ; }
-    virtual bool pass(FGPositioned* aPos) const
-    { return (mType == aPos->type()); }
+    TypeFilter(Type aTy);
+    virtual bool pass(FGPositioned* aPos) const;
+    void addType(Type aTy);
   private:
-    const Type mType;
+      std::vector<Type> types;
   };
-  
+    
   static List findWithinRange(const SGGeod& aPos, double aRangeNm, Filter* aFilter = NULL);
         
   static FGPositionedRef findClosestWithIdent(const std::string& aIdent, const SGGeod& aPos, Filter* aFilter = NULL);