OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGeoidEgm96.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // See LICENSE.txt file in the top level directory for more details.
4 //
5 // Author: David Burken
6 //
7 // Description:
8 //
9 // Contains class definition for ossimGeoidEgm96 which is
10 // "Earth Gravity Model 1996".
11 //
12 //*******************************************************************
13 // $Id: ossimGeoidEgm96.h 22900 2014-09-30 09:56:11Z dburken $
14 
15 #ifndef ossimGeoidEgm96_HEADER
16 #define ossimGeoidEgm96_HEADER
17 
18 #include <ossim/base/ossimGeoid.h>
19 #include <vector>
20 
21 #define GEOID_NO_ERROR 0x0000
22 #define GEOID_FILE_OPEN_ERROR 0x0001
23 #define GEOID_INITIALIZE_ERROR 0x0002
24 #define GEOID_NOT_INITIALIZED_ERROR 0x0004
25 #define GEOID_LAT_ERROR 0x0008
26 #define GEOID_LON_ERROR 0x0010
27 
28 class ossimGpt;
29 
31 {
32 
33 public:
35  ossimGeoidEgm96(const ossimFilename& grid_file,
37 
38  virtual ~ossimGeoidEgm96();
39 
40  virtual bool open(const ossimFilename& grid_file,
42 
43  virtual ossimString getShortName()const;
44 
49  virtual double offsetFromEllipsoid(const ossimGpt& gpt);
50 
51  double geoidToEllipsoidHeight(double lat,
52  double lon,
53  double geoidHeight);
54 
55  double ellipsoidToGeoidHeight(double lat,
56  double lon,
57  double ellipsoidHeight);
58 protected:
59 
60  std::vector<float> theGeoidHeightBuffer;
61  mutable float* theGeoidHeightBufferPtr;
62  TYPE_DATA
63 };
64 
65 #endif
#define OSSIMDLLEXPORT
virtual bool open(const ossimFilename &dir, ossimByteOrder byteOrder=OSSIM_BIG_ENDIAN)=0
OSSIM_DLL ossimByteOrder byteOrder()
Definition: ossimCommon.cpp:54
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual double offsetFromEllipsoid(const ossimGpt &gpt)=0
#define TYPE_DATA
Definition: ossimRtti.h:339
std::vector< float > theGeoidHeightBuffer
ossimByteOrder
float * theGeoidHeightBufferPtr