OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimDtedVol.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Ken Melero
8 //
9 // Description: This class gives access to the Volume Header Label
10 // (VOL) of a DTED Level 1 file.
11 //
12 //********************************************************************
13 // $Id: ossimDtedVol.h 16104 2009-12-17 18:09:59Z gpotts $
14 
15 #ifndef ossimDtedVol_H
16 #define ossimDtedVol_H
17 
18 #include <iosfwd>
19 
23 #include <ossim/base/ossimRefPtr.h>
24 #include <ossim/base/ossimIosFwd.h>
25 #include <memory>
26 
27 class ossimProperty;
28 
30 {
31 public:
32  ossimDtedVol();
33  ossimDtedVol(std::shared_ptr<ossim::istream>& str, ossim_int64 offset=0);
34 
35  enum
36  {
37  VOL_LENGTH = 80,
38  VOL_ONE_LABEL_1 = 4,
39  VOL_REEL_NUMBER = 5,
40  VOL_REEL_ACCESS = 11,
41  VOL_SPACE = 12,
42  VOL_ACCOUNT_NUMBER = 38,
43  VOL_BLANKS = 52,
44  VOL_ONE_LABEL_2 = 80,
45  FIELD1_SIZE = 3,
46  FIELD2_SIZE = 1,
47  FIELD3_SIZE = 6,
48  FIELD4_SIZE = 1,
49  FIELD5_SIZE = 26,
50  FIELD6_SIZE = 14,
51  FIELD7_SIZE = 28,
52  FIELD8_SIZE = 1
53  };
54 
55  // The Recognition Sentinel signifies if the VOL record exists.
56  ossimString getRecognitionSentinel() const;
57  ossimString getReelNumber() const;
58  ossimString getAccountNumber() const;
59  ossim_int32 startOffset() const;
60  ossim_int32 stopOffset() const;
61 
63  const ossimDtedVol& vol);
64 
65  void parse(std::istream& in);
66 
73  ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
74 
79  void getPropertyNames(std::vector<ossimString>& propertyNames)const;
80 
91  const std::string& prefix) const;
92 private:
93  // Do not allow...
94  ossimDtedVol(const ossimDtedVol& source);
95  const ossimDtedVol& operator=(const ossimDtedVol& rhs);
96 
97  char theRecSen[FIELD1_SIZE+1];
98  char theField2[FIELD2_SIZE+1];
99  char theReelNumber[FIELD3_SIZE+1];
100  char theField4[FIELD4_SIZE+1];
101  char theField5[FIELD5_SIZE+1];
102  char theAccountNumber[FIELD6_SIZE+1];
103  char theField7[FIELD7_SIZE+1];
104  char theField8[FIELD8_SIZE+1];
105 
108 };
109 
110 #endif
ossim_int32 theStopOffset
Definition: ossimDtedVol.h:107
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
ossim_int32 theStartOffset
Definition: ossimDtedVol.h:106
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
friend OSSIMDLLEXPORT std::ostream & operator<<(std::ostream &out, const ossimErrorStatusInterface &obj)
#define OSSIM_DLL
long long ossim_int64
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32