OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimApplanixEOFile.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2005 Garrett Potts
3 //
4 // License: MIT
5 //
6 // Author: Garrett Potts
7 //
8 //*******************************************************************
9 // $Id$
10 
11 #ifndef ossimApplanixEOFile_HEADER
12 #define ossimApplanixEOFile_HEADER 1
13 
16 #include <ossim/base/ossimIosFwd.h>
17 #include <ossim/base/ossimRefPtr.h>
18 #include <ossim/base/ossimString.h>
19 
20 #include <map>
21 #include <vector>
22 
24 {
25 public:
26 
29  :theField(src.theField)
30  {
31  }
33  {
34  setSize(size);
35  }
36 
38  {
39  theField.resize(size);
40  }
41  const ossimString& operator [](ossim_uint32 idx)const
42  {
43  return theField[idx];
44  }
45  ossimString& operator [](ossim_uint32 idx)
46  {
47  return theField[idx];
48  }
49 
50  std::vector<ossimString> theField;
51 };
52 
54 {
55 public:
58 
65  bool parseFile(const ossimFilename& file);
66 
72  bool parseStream(ossim::istream& in);
73 
74 
81  bool isEOFile(const ossimFilename& file)const;
82 
86  bool isEOFile(ossim::istream& in)const;
87 
95  bool parseHeader(const ossimFilename& file,
96  ossimString& header)const;
97 
105  bool parseHeader(ossim::istream& in,
106  ossimString& header)const;
107 
117  ossim_int32 getFieldIdxLike(const ossimString& searchKey)const;
118 
119 
130  ossim_int32 getFieldIdx(const ossimString& searchKey)const;
131 
135  void indexRecordIds();
136 
146  const ossimRefPtr<ossimApplanixEORecord> getRecordGivenId(const ossimString& id)const;
147 
148  ossim_uint32 getNumberOfRecords()const;
149  const ossimRefPtr<ossimApplanixEORecord> getRecord(ossim_uint32 idx)const;
150 
151  bool isHeightAboveMSL()const;
152  bool isEcefModel()const;
153  bool isUtmFrame()const;
154  ossim_int32 getUtmZone()const;
155  ossimString getUtmHemisphere()const;
156 
157  ossimString getSbetField()const;
158  double getBoreSightTx()const;
159  double getBoreSightTy()const;
160  double getBoreSightTz()const;
161  double getLeverArmLx()const;
162  double getLeverArmLy()const;
163  double getLeverArmLz()const;
164  double getKardinalKappa()const;
165  double getShiftValuesX()const;
166  double getShiftValuesY()const;
167  double getShiftValuesZ()const;
168 
169  ossimString getMappingFrameDatum()const;
170  ossimString getMappingFrameProjection()const;
171  double getMappingFrameCentralMeridian()const;
172  double getMappingFrameOriginLatitude()const;
173  double getMappingFrameGridScaleFactor()const;
174  double getMappingFrameFalseEasting()const;
175  double getMappingFrameFalseNorthing()const;
176 
177  ossimString convertToOssimDatumCode(const ossimString& datum)const;
178 
179 protected:
193 
203 
208  std::vector<ossimString> theRecordFormat;
209  std::vector< ossimRefPtr<ossimApplanixEORecord> > theApplanixRecordList;
210  std::map<ossimString, ossimRefPtr<ossimApplanixEORecord>, ossimStringLtstr> theRecordIdMap;
211 };
212 
213 #endif
void setSize(ossim_uint32 size)
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
ossimApplanixEORecord(const ossimApplanixEORecord &src)
ossimString theMappingFrameDatum
ossimApplanixEORecord(ossim_uint32 size=0)
std::vector< ossimString > theField
double ossim_float64
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
yy_size_t size
unsigned int ossim_uint32
For use with std::map as a compare operator: std::map<ossimString, ossimString, ossimStringLtstr> ...
Definition: ossimString.h:971
std::map< ossimString, ossimRefPtr< ossimApplanixEORecord >, ossimStringLtstr > theRecordIdMap
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
ossimString theMappingFrameProjection
std::vector< ossimString > theRecordFormat
std::vector< ossimRefPtr< ossimApplanixEORecord > > theApplanixRecordList
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32