virtual const std::string& name() const
{ return mIdent; }
- const SGGeod& geod() const
+ virtual const SGGeod& geod() const
{ return mPosition; }
PositionedID guid() const
/**
* 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
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
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