OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimElevSource.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // FILE: ossimElevSource.h
3 //
4 // License: See top level LICENSE.txt file.
5 //
6 // AUTHOR: Oscar Kramer
7 //
8 // DESCRIPTION:
9 // Contains declaration of class ossimElevSource. This is the base class for
10 // all objects providing height information given horizontal ground position.
11 //
12 //*****************************************************************************
13 // $Id: ossimElevSource.h 23117 2015-01-29 22:33:13Z okramer $
14 
15 #ifndef ossimElevSource_HEADER
16 #define ossimElevSource_HEADER
17 
19 #include <ossim/base/ossimSource.h>
20 #include <ossim/base/ossimGrect.h>
22 #include <ossim/base/ossimGeoid.h>
24 class ossimEcefRay;
25 class ossimKeywordlist;
26 
27 /******************************************************************************
28  * CLASS: ossimElevSource
29  *
30  *****************************************************************************/
32 {
33 public:
34 
38  virtual double getHeightAboveMSL(const ossimGpt&) = 0;
39  virtual double getHeightAboveEllipsoid(const ossimGpt&);
40 
41  // Forces all concrete subtypes to implement:
42  virtual ossimObject* dup() const = 0;
43 
62  bool intersectRay(const ossimEcefRay& ray, ossimGpt& gpt, double defaultElevValue = 0.0);
63 
67  virtual double getMinHeightAboveMSL() const;
68  virtual double getMaxHeightAboveMSL() const;
69 
73  double getNullHeightValue() const;
74  double getSeaLevelValue() const;
75 
80  virtual bool pointHasCoverage(const ossimGpt&) const = 0;
81 
86  virtual double getMeanSpacingMeters() const = 0;
87 
88 
89  virtual bool getAccuracyInfo(ossimElevationAccuracyInfo& info, const ossimGpt& gpt) const =0;
90 
91 
92 
98  //virtual double getAccuracyLE90(const ossimGpt& gpt) const = 0;
99  //virtual double getAccuracyCE90(const ossimGpt& gpt) const = 0;
100 
101 
107  virtual const ossimGrect& getBoundingGndRect() const;
108 
109  virtual bool canConnectMyInputTo(ossim_int32 inputIndex,
110  const ossimConnectableObject* object)const;
111 
115  virtual void initialize();
116 
125 // virtual bool open();
126 
133 // virtual void close();
134 
140  virtual bool getComputeStatisticsFlag() const;
141 
152  virtual void setComputeStatisticsFlag(bool flag);
153 
154  virtual std::ostream& print(std::ostream& out) const;
155 
156 protected:
157  virtual ~ossimElevSource();
161  ossimElevSource();
162  ossimElevSource(const ossimElevSource& src);
163 
172 
173  //> Controls statistics gathering. Defaulted to true.
175 
176 
177 private:
178 
179 TYPE_DATA
180 };
181 
182 #endif
Represents serializable keyword/value map.
double theMinHeightAboveMSL
Data members:
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
ossimGrect theGroundRect
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void initialize()
#define OSSIM_DLL
virtual ossimObject * dup() const
Definition: ossimObject.cpp:29
double theMaxHeightAboveMSL
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex, const ossimConnectableObject *object) const =0
required to be overriden by derived classes
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32