OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimElevCellHandler.cpp
Go to the documentation of this file.
1 //*****************************************************************************
2 // FILE: ossimElevCellHandler.cc
3 //
4 // License: See top level LICENSE.txt file.
5 //
6 // DESCRIPTION:
7 // Contains implementation of class ossimElevCellHandler. This is the base
8 // class for all DEM file readers including DTED. Each file shall have its
9 // corresponding ossimElevCellHandler. When more than one file is accessed,
10 // an ossimElevCombiner is used which owns multiple instances of this class.
11 //
12 // SOFTWARE HISTORY:
13 //>
14 // 19Apr2001 Oscar Kramer
15 // Initial coding.
16 //<
17 //*****************************************************************************
18 // $Id: ossimElevCellHandler.cpp 23117 2015-01-29 22:33:13Z okramer $
19 
22 #include <ossim/base/ossimGpt.h>
23 
24 RTTI_DEF1(ossimElevCellHandler, "ossimElevCellHandler" , ossimElevSource)
25 
26 //***
27 // Define Trace flags for use within this file:
28 //***
29 #include <ossim/base/ossimTrace.h>
30 static ossimTrace traceExec ("ossimElevCellHandler:exec");
31 static ossimTrace traceDebug ("ossimElevCellHandler:debug");
32 
33 static const ossimKeyword DEM_FILENAME_KW ("dem_filename",
34  "Name of DEM file to load.");
35 static const ossimIpt ZERO_SIZE_IPT (0, 0);
36 
38  : ossimElevSource(),
39  theFilename(),
40  theMeanSpacing(0.0),
41  theAbsLE90(0.0),
42  theAbsCE90(0.0)
43 {
44 }
45 
47  : ossimElevSource(src),
48  theFilename (src.theFilename),
49  theMeanSpacing (src.theMeanSpacing),
50  theAbsLE90 (src.theAbsLE90),
51  theAbsCE90 (src.theAbsCE90)
52 {
53 }
54 
56  : ossimElevSource(),
57  theFilename(filename),
58  theMeanSpacing(0.0),
59  theAbsLE90(0.0),
60  theAbsCE90(0.0)
61 {}
62 
64 {}
65 
67 {
68  return theFilename;
69 }
70 
72 {
73  return theMeanSpacing;
74 }
75 
77  const ossimGpt& /* gpt*/ ) const
78 {
79  info.m_confidenceLevel = .9;
80  info.m_absoluteLE = theAbsLE90;
81  info.m_absoluteCE = theAbsCE90;
82 
83  return info.hasValidAbsoluteError();
84 }
85 
87  ossim_int32 /* inputIndex */,
88  const ossimConnectableObject* /* object */) const
89 {
90  return false;
91 }
92 
94 {
95  out << "\nossimElevCellHandler @ "<< (ossim_uint64) this
96  << "\n theFilename = "<< theFilename
97  << "\n theMeanSpacing = "<< theMeanSpacing
98  << "\n theAbsLE90 = "<< theAbsLE90
99  << "\n theAbsCE90 = "<< theAbsCE90;
100  //<< ossimElevSource::print(out);
101  return out;
102 }
103 
bool canConnectMyInputTo(ossim_int32 inputIndex, const ossimConnectableObject *object) const
METHODS: accuracyLE90(), accuracyCE90() Returns the vertical and horizontal accuracy (90% confidence)...
virtual double getMeanSpacingMeters() const
METHOD: meanSpacingMeters() Implements pure virtual for.
virtual const ossimFilename & getFilename() const
virtual bool getAccuracyInfo(ossimElevationAccuracyInfo &info, const ossimGpt &gpt) const
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
unsigned long long ossim_uint64
ossimFilename theFilename
Virtual method for reading.
#define RTTI_DEF1(cls, name, b1)
Definition: ossimRtti.h:485
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32