]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/positioned.hxx
commradio: improvements for atis speech
[flightgear.git] / src / Navaids / positioned.hxx
index 8b4fb6a3f8c4b4c86e9816d9ed50677eb86efbb4..012edb0b18d0ae7cda9c3e556d09942eab726bd2 100644 (file)
@@ -111,7 +111,7 @@ public:
   virtual const std::string& name() const
   { return mIdent; }
 
-  const SGGeod& geod() const
+  virtual const SGGeod& geod() const
   { return mPosition; }
   
   PositionedID guid() const
@@ -120,19 +120,19 @@ public:
   /**
    *  The cartesian position associated with this object
    */
-  const SGVec3d& cart() const;
+  virtual const SGVec3d& cart() const;
 
   double latitude() const
-  { return mPosition.getLatitudeDeg(); }
+  { return geod().getLatitudeDeg(); }
   
   double longitude() const
-  { return mPosition.getLongitudeDeg(); }
+  { return geod().getLongitudeDeg(); }
   
   double elevation() const
-  { return mPosition.getElevationFt(); }
+  { return geod().getElevationFt(); }
   
   double elevationM() const
-  { return mPosition.getElevationM(); }
+  { return geod().getElevationM(); }
 
   /**
    * Predicate class to support custom filtering of FGPositioned queries
@@ -181,13 +181,13 @@ public:
     Type mMinType, mMaxType;
   };
   
-  static FGPositionedList findWithinRange(const SGGeod& aPos, double aRangeNm, Filter* aFilter = NULL);
+  static FGPositionedList findWithinRange(const SGGeod& aPos, double aRangeNm, Filter* aFilter);
   
   static FGPositionedList findWithinRangePartial(const SGGeod& aPos, double aRangeNm, Filter* aFilter, bool& aPartial);
         
   static FGPositionedRef findClosestWithIdent(const std::string& aIdent, const SGGeod& aPos, Filter* aFilter = NULL);
 
-  static FGPositionedRef findFirstWithIdent(const std::string& aIdent, Filter* aFilter = NULL);
+  static FGPositionedRef findFirstWithIdent(const std::string& aIdent, Filter* aFilter);
 
   /**
    * Find all items with the specified ident
@@ -276,17 +276,19 @@ protected:
   FGPositioned(PositionedID aGuid, Type ty, const std::string& aIdent, const SGGeod& aPos);
 
   void modifyPosition(const SGGeod& newPos);
+  void invalidatePosition();
 
   static FGPositionedRef loadByIdImpl(PositionedID id);
 
   const PositionedID mGuid;
-  const SGGeod mPosition;
-  const SGVec3d mCart;
   const Type mType;
   const std::string mIdent;
   
 private:
   SG_DISABLE_COPY(FGPositioned);
+
+  const SGGeod mPosition;
+  const SGVec3d mCart;
 };
 
 #endif // of FG_POSITIONED_HXX