Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

PhxTerrain.h

Go to the documentation of this file.
00001 #ifndef PHX_TERRAIN_H
00002 #define PHX_TERRAIN_H
00003 
00009 namespace Phx {
00010   
00015   class Terrain {
00016   public:
00017 
00032     class HeightInterface {
00033     public:
00034       virtual position(const EcefVector& position) = 0;
00035       EcefVector position(void) const { return mPosition; }
00036 
00037       double slewRate(void) const { return mSlewRate; }
00038       virtual void slewRate(double rate) = 0;
00039 
00047       virtual double heightAgl(void) const = 0;
00048 
00056       virtual double heightMsl(void) const = 0;
00057 
00058       virtual double resolution(void) const { return mResolution; }
00059       virtual void resolution(double resolution) = 0;
00060 
00061     protected:
00062       void setPosition(const EcefVector& position) { mPosition = position; }
00063       void setSlewRate(double rate) { mRate = rate; }
00064 
00065     private:
00066       EcefVector mPosition;
00067       double     mRate;
00068     };
00069 
00074     virtual Ptr<HeightInterface> newHeightInterface(void) = 0;
00075     
00076     // Get current heights immediately.
00077     // virtual double heightAgl(const EcefVector& position) = 0;
00078     // virtual double heightMsl(const EcefVector& position) = 0;
00079     // virtual uint8_t bandValue(const String& band, const EcefVector& position) = 0;
00080   };
00081 
00082   
00083 }; // namespace Phx
00084 
00085 #endif /* PHX_TERRAIN_H */

Generated on Mon Jul 10 19:45:29 2006 for Phoenix OSFS by  doxygen 1.4.2