OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ossimDtedHdr Class Reference

#include <ossimDtedHdr.h>

Inheritance diagram for ossimDtedHdr:
ossimErrorStatusInterface

Public Types

enum  {
  HDR_LENGTH = 80, HDR_ONE_LABEL_1 = 4, HDR_FILENAME = 5, HDR_UNIVAC = 22,
  HDR_REEL = 28, HDR_FILE_NUM = 32, HDR_GENERATION_NUM = 36, HDR_VERSION_NUM = 40,
  HDR_CREATION_DATE = 42, HDR_EXPIRATION_DATE = 48, HDR_ACCESS = 54, HDR_BLOCK_COUNT = 55,
  HDR_QUALIFIER = 61, HDR_BLANKS = 74, FIELD1_SIZE = 3, FIELD2_SIZE = 1,
  FIELD3_SIZE = 17, FIELD4_SIZE = 6, FIELD5_SIZE = 4, FIELD6_SIZE = 4,
  FIELD7_SIZE = 4, FIELD8_SIZE = 2, FIELD9_SIZE = 6, FIELD10_SIZE = 6,
  FIELD11_SIZE = 1, FIELD12_SIZE = 6, FIELD13_SIZE = 13, FIELD14_SIZE = 7
}
 

Public Member Functions

 ossimDtedHdr ()
 
 ossimDtedHdr (std::shared_ptr< ossim::istream > &str, ossim_int64 offset=0)
 
ossimString recognitionSentinel () const
 
ossimString fileName () const
 
ossimString version () const
 
ossimString creationDate () const
 
ossim_int32 startOffset () const
 
ossim_int32 stopOffset () const
 
std::ostream & print (std::ostream &out, const std::string &prefix) const
 print method that outputs a key/value type format adding prefix to keys. More...
 
void parse (std::istream &in)
 
ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 Gets a property for name. More...
 
void getPropertyNames (std::vector< ossimString > &propertyNames) const
 Adds this class's properties to list. More...
 
- Public Member Functions inherited from ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 
virtual std::ostream & print (std::ostream &out) const
 Outputs theErrorStatus as an ossimErrorCode and an ossimString. More...
 

Private Member Functions

 ossimDtedHdr (const ossimDtedHdr &source)
 
const ossimDtedHdroperator= (const ossimDtedHdr &rhs)
 

Private Attributes

char theRecSen [FIELD1_SIZE+1]
 
char theField2 [FIELD2_SIZE+1]
 
char theFilename [FIELD3_SIZE+1]
 
char theField4 [FIELD4_SIZE+1]
 
char theField5 [FIELD5_SIZE+1]
 
char theField6 [FIELD6_SIZE+1]
 
char theVersion [FIELD7_SIZE+1]
 
char theCreationDate [FIELD8_SIZE+1]
 
char theField9 [FIELD9_SIZE+1]
 
char theField10 [FIELD10_SIZE+1]
 
char theField11 [FIELD11_SIZE+1]
 
char theField12 [FIELD12_SIZE+1]
 
char theField13 [FIELD13_SIZE+1]
 
char theField14 [FIELD14_SIZE+1]
 
ossim_int32 theStartOffset
 
ossim_int32 theStopOffset
 

Friends

OSSIM_DLL std::ostream & operator<< (std::ostream &os, const ossimDtedHdr &hdr)
 

Additional Inherited Members

- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Detailed Description

Definition at line 27 of file ossimDtedHdr.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
HDR_LENGTH 
HDR_ONE_LABEL_1 
HDR_FILENAME 
HDR_UNIVAC 
HDR_REEL 
HDR_FILE_NUM 
HDR_GENERATION_NUM 
HDR_VERSION_NUM 
HDR_CREATION_DATE 
HDR_EXPIRATION_DATE 
HDR_ACCESS 
HDR_BLOCK_COUNT 
HDR_QUALIFIER 
HDR_BLANKS 
FIELD1_SIZE 
FIELD2_SIZE 
FIELD3_SIZE 
FIELD4_SIZE 
FIELD5_SIZE 
FIELD6_SIZE 
FIELD7_SIZE 
FIELD8_SIZE 
FIELD9_SIZE 
FIELD10_SIZE 
FIELD11_SIZE 
FIELD12_SIZE 
FIELD13_SIZE 
FIELD14_SIZE 

Definition at line 33 of file ossimDtedHdr.h.

34  {
35  HDR_LENGTH = 80,
36  HDR_ONE_LABEL_1 = 4,
37  HDR_FILENAME = 5,
38  HDR_UNIVAC = 22,
39  HDR_REEL = 28,
40  HDR_FILE_NUM = 32,
41  HDR_GENERATION_NUM = 36,
42  HDR_VERSION_NUM = 40,
43  HDR_CREATION_DATE = 42,
45  HDR_ACCESS = 54,
46  HDR_BLOCK_COUNT = 55,
47  HDR_QUALIFIER = 61,
48  HDR_BLANKS = 74,
49  FIELD1_SIZE = 3,
50  FIELD2_SIZE = 1,
51  FIELD3_SIZE = 17,
52  FIELD4_SIZE = 6,
53  FIELD5_SIZE = 4,
54  FIELD6_SIZE = 4,
55  FIELD7_SIZE = 4,
56  FIELD8_SIZE = 2,
57  FIELD9_SIZE = 6,
58  FIELD10_SIZE = 6,
59  FIELD11_SIZE = 1,
60  FIELD12_SIZE = 6,
61  FIELD13_SIZE = 13,
62  FIELD14_SIZE = 7
63  };

Constructor & Destructor Documentation

◆ ossimDtedHdr() [1/3]

ossimDtedHdr::ossimDtedHdr ( )

Definition at line 24 of file ossimDtedHdr.cpp.

25 :
26  theStartOffset(0),
27  theStopOffset(0)
28 {
29 
30 }
ossim_int32 theStartOffset
Definition: ossimDtedHdr.h:125
ossim_int32 theStopOffset
Definition: ossimDtedHdr.h:126

◆ ossimDtedHdr() [2/3]

ossimDtedHdr::ossimDtedHdr ( std::shared_ptr< ossim::istream > &  str,
ossim_int64  offset = 0 
)

Definition at line 32 of file ossimDtedHdr.cpp.

References ossimErrorCodes::OSSIM_ERROR, parse(), and ossimErrorStatusInterface::theErrorStatus.

33 :
34  theStartOffset(0),
35  theStopOffset(0)
36 {
37  if(str)
38  {
39  str->seekg(offset);
40  // Continue parsing all the record fields.
41  parse(*str);
42 
43  }
44  else
45  {
47  }
48 }
static const ossimErrorCode OSSIM_ERROR
void parse(std::istream &in)
ossim_int32 theStartOffset
Definition: ossimDtedHdr.h:125
ossim_int32 theStopOffset
Definition: ossimDtedHdr.h:126

◆ ossimDtedHdr() [3/3]

ossimDtedHdr::ossimDtedHdr ( const ossimDtedHdr source)
private

Definition at line 201 of file ossimDtedHdr.cpp.

202 {}

Member Function Documentation

◆ creationDate()

ossimString ossimDtedHdr::creationDate ( ) const

Definition at line 186 of file ossimDtedHdr.cpp.

References theCreationDate.

187 {
188  return theCreationDate;
189 }
char theCreationDate[FIELD8_SIZE+1]
Definition: ossimDtedHdr.h:117

◆ fileName()

ossimString ossimDtedHdr::fileName ( ) const

Definition at line 178 of file ossimDtedHdr.cpp.

References theFilename.

179 {
180  return theFilename;
181 }
char theFilename[FIELD3_SIZE+1]
Definition: ossimDtedHdr.h:112

◆ getProperty()

ossimRefPtr< ossimProperty > ossimDtedHdr::getProperty ( const ossimString name) const

Gets a property for name.

Parameters
nameProperty name to get.
Returns
ossimRefPtr<ossimProperty> Note that this can be empty if property for name was not found.

Definition at line 125 of file ossimDtedHdr.cpp.

Referenced by ossimDtedInfo::getProperty().

127 {
128  ossimRefPtr<ossimProperty> result = 0;
129  return result;
130 }

◆ getPropertyNames()

void ossimDtedHdr::getPropertyNames ( std::vector< ossimString > &  propertyNames) const

Adds this class's properties to list.

Parameters
propertyNameslist to append to.

Definition at line 132 of file ossimDtedHdr.cpp.

Referenced by ossimDtedInfo::getProperty().

134 {
135  propertyNames.push_back(ossimString("dted_hdr_record"));
136 }

◆ operator=()

const ossimDtedHdr & ossimDtedHdr::operator= ( const ossimDtedHdr rhs)
private

Definition at line 204 of file ossimDtedHdr.cpp.

205 {
206  return rhs;
207 }

◆ parse()

void ossimDtedHdr::parse ( std::istream &  in)

Definition at line 53 of file ossimDtedHdr.cpp.

References ossimErrorStatusInterface::clearErrorStatus(), FIELD10_SIZE, FIELD11_SIZE, FIELD12_SIZE, FIELD13_SIZE, FIELD14_SIZE, FIELD1_SIZE, FIELD2_SIZE, FIELD3_SIZE, FIELD4_SIZE, FIELD5_SIZE, FIELD6_SIZE, FIELD7_SIZE, FIELD8_SIZE, FIELD9_SIZE, HDR_LENGTH, ossimErrorCodes::OSSIM_ERROR, theCreationDate, ossimErrorStatusInterface::theErrorStatus, theField10, theField11, theField12, theField13, theField14, theField2, theField4, theField5, theField6, theField9, theFilename, theRecSen, theStartOffset, theStopOffset, and theVersion.

Referenced by ossimDtedInfo::open(), and ossimDtedHdr().

54 {
56  theStartOffset = in.tellg();
58  // Parse theRecSen
59  in.read(theRecSen, FIELD1_SIZE);
60  theRecSen[FIELD1_SIZE] = '\0';
61 
62  if(!(strncmp(theRecSen, "HDR", 3) == 0))
63  {
65  in.seekg(theStartOffset);
66  return;
67  }
68 
69  // Parse Field 2
70  in.read(theField2, FIELD2_SIZE);
71  theField2[FIELD2_SIZE] = '\0';
72 
73  // Parse theFilename
74  in.read(theFilename, FIELD3_SIZE);
75  theFilename[FIELD3_SIZE] = '\0';
76 
77  // Parse Field 4
78  in.read(theField4, FIELD4_SIZE);
79  theField4[FIELD4_SIZE] = '\0';
80 
81  // Parse Field 5
82  in.read(theField5, FIELD5_SIZE);
83  theField5[FIELD5_SIZE] = '\0';
84 
85  // Parse Field 6
86  in.read(theField6, FIELD6_SIZE);
87  theField6[FIELD6_SIZE] = '\0';
88 
89  // Parse Field 7
90  in.read(theVersion, FIELD7_SIZE);
91  theVersion[FIELD7_SIZE] = '\0';
92 
93  // Parse theCreationDate
94  in.read(theCreationDate, FIELD8_SIZE);
96 
97  // Parse Field 9
98  in.read(theField9, FIELD9_SIZE);
99  theField9[FIELD9_SIZE] = '\0';
100 
101  // Parse Field 10
102  in.read(theField10, FIELD10_SIZE);
103  theField10[FIELD10_SIZE] = '\0';
104 
105  // Parse Field 11
106  in.read(theField11, FIELD11_SIZE);
107  theField11[FIELD11_SIZE] = '\0';
108 
109  // Parse Field 12
110  in.read(theField12, FIELD12_SIZE);
111  theField12[FIELD12_SIZE] = '\0';
112 
113  // Parse Field 13
114  in.read(theField13, FIELD13_SIZE);
115  theField13[FIELD13_SIZE] = '\0';
116 
117  // Parse Field 14
118  in.read(theField14, FIELD14_SIZE);
119  theField14[FIELD14_SIZE] = '\0';
120 
121  // Set the stop offset.
123 }
char theField6[FIELD6_SIZE+1]
Definition: ossimDtedHdr.h:115
char theCreationDate[FIELD8_SIZE+1]
Definition: ossimDtedHdr.h:117
char theField13[FIELD13_SIZE+1]
Definition: ossimDtedHdr.h:122
char theField10[FIELD10_SIZE+1]
Definition: ossimDtedHdr.h:119
char theField11[FIELD11_SIZE+1]
Definition: ossimDtedHdr.h:120
char theField9[FIELD9_SIZE+1]
Definition: ossimDtedHdr.h:118
char theRecSen[FIELD1_SIZE+1]
Definition: ossimDtedHdr.h:110
static const ossimErrorCode OSSIM_ERROR
char theField4[FIELD4_SIZE+1]
Definition: ossimDtedHdr.h:113
char theField12[FIELD12_SIZE+1]
Definition: ossimDtedHdr.h:121
char theField5[FIELD5_SIZE+1]
Definition: ossimDtedHdr.h:114
char theField14[FIELD14_SIZE+1]
Definition: ossimDtedHdr.h:123
char theVersion[FIELD7_SIZE+1]
Definition: ossimDtedHdr.h:116
char theFilename[FIELD3_SIZE+1]
Definition: ossimDtedHdr.h:112
ossim_int32 theStartOffset
Definition: ossimDtedHdr.h:125
char theField2[FIELD2_SIZE+1]
Definition: ossimDtedHdr.h:111
ossim_int32 theStopOffset
Definition: ossimDtedHdr.h:126

◆ print()

std::ostream & ossimDtedHdr::print ( std::ostream &  out,
const std::string &  prefix 
) const

print method that outputs a key/value type format adding prefix to keys.

Parameters
outString to output to.
prefixThis will be prepended to key. e.g. Where prefix = "nitf." and key is "file_name" key becomes: "nitf.file_name:"
Returns
output stream.

Definition at line 148 of file ossimDtedHdr.cpp.

References theCreationDate, theField10, theField11, theField12, theField13, theField14, theField2, theField4, theField5, theField6, theField9, theFilename, theRecSen, and theVersion.

Referenced by operator<<(), and ossimDtedInfo::print().

150 {
151  std::string pfx = prefix;
152  pfx += "hdr.";
153 
154  out << pfx << "recognition_sentinel: " << theRecSen << "\n"
155  << pfx << "field2: " << theField2 << "\n"
156  << pfx << "filename: " << theFilename << "\n"
157  << pfx << "field4: " << theField4 << "\n"
158  << pfx << "field5: " << theField5 << "\n"
159  << pfx << "field6: " << theField6 << "\n"
160  << pfx << "version: " << theVersion << "\n"
161  << pfx << "creation_date: " << theCreationDate << "\n"
162  << pfx << "field9: " << theField9 << "\n"
163  << pfx << "field10: " << theField10 << "\n"
164  << pfx << "field11: " << theField11 << "\n"
165  << pfx << "field12: " << theField12 << "\n"
166  << pfx << "field13: " << theField13 << "\n"
167  << pfx << "field14: " << theField14 << "\n"
168  << std::endl;
169 
170  return out;
171 }
char theField6[FIELD6_SIZE+1]
Definition: ossimDtedHdr.h:115
char theCreationDate[FIELD8_SIZE+1]
Definition: ossimDtedHdr.h:117
char theField13[FIELD13_SIZE+1]
Definition: ossimDtedHdr.h:122
char theField10[FIELD10_SIZE+1]
Definition: ossimDtedHdr.h:119
char theField11[FIELD11_SIZE+1]
Definition: ossimDtedHdr.h:120
char theField9[FIELD9_SIZE+1]
Definition: ossimDtedHdr.h:118
char theRecSen[FIELD1_SIZE+1]
Definition: ossimDtedHdr.h:110
char theField4[FIELD4_SIZE+1]
Definition: ossimDtedHdr.h:113
char theField12[FIELD12_SIZE+1]
Definition: ossimDtedHdr.h:121
char theField5[FIELD5_SIZE+1]
Definition: ossimDtedHdr.h:114
char theField14[FIELD14_SIZE+1]
Definition: ossimDtedHdr.h:123
char theVersion[FIELD7_SIZE+1]
Definition: ossimDtedHdr.h:116
char theFilename[FIELD3_SIZE+1]
Definition: ossimDtedHdr.h:112
char theField2[FIELD2_SIZE+1]
Definition: ossimDtedHdr.h:111

◆ recognitionSentinel()

ossimString ossimDtedHdr::recognitionSentinel ( ) const

Definition at line 173 of file ossimDtedHdr.cpp.

References theRecSen.

174 {
175  return theRecSen;
176 }
char theRecSen[FIELD1_SIZE+1]
Definition: ossimDtedHdr.h:110

◆ startOffset()

ossim_int32 ossimDtedHdr::startOffset ( ) const

Definition at line 191 of file ossimDtedHdr.cpp.

References theStartOffset.

192 {
193  return theStartOffset;
194 }
ossim_int32 theStartOffset
Definition: ossimDtedHdr.h:125

◆ stopOffset()

ossim_int32 ossimDtedHdr::stopOffset ( ) const

Definition at line 196 of file ossimDtedHdr.cpp.

References theStopOffset.

197 {
198  return theStopOffset;
199 }
ossim_int32 theStopOffset
Definition: ossimDtedHdr.h:126

◆ version()

ossimString ossimDtedHdr::version ( ) const

Definition at line 182 of file ossimDtedHdr.cpp.

References theVersion.

183 { return theVersion;
184 }
char theVersion[FIELD7_SIZE+1]
Definition: ossimDtedHdr.h:116

Friends And Related Function Documentation

◆ operator<<

OSSIM_DLL std::ostream& operator<< ( std::ostream &  os,
const ossimDtedHdr hdr 
)
friend

Definition at line 142 of file ossimDtedHdr.cpp.

143 {
144  std::string prefix;
145  return hdr.print(os, prefix);
146 }
std::ostream & print(std::ostream &out, const std::string &prefix) const
print method that outputs a key/value type format adding prefix to keys.

Member Data Documentation

◆ theCreationDate

char ossimDtedHdr::theCreationDate[FIELD8_SIZE+1]
private

Definition at line 117 of file ossimDtedHdr.h.

Referenced by creationDate(), parse(), and print().

◆ theField10

char ossimDtedHdr::theField10[FIELD10_SIZE+1]
private

Definition at line 119 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField11

char ossimDtedHdr::theField11[FIELD11_SIZE+1]
private

Definition at line 120 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField12

char ossimDtedHdr::theField12[FIELD12_SIZE+1]
private

Definition at line 121 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField13

char ossimDtedHdr::theField13[FIELD13_SIZE+1]
private

Definition at line 122 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField14

char ossimDtedHdr::theField14[FIELD14_SIZE+1]
private

Definition at line 123 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField2

char ossimDtedHdr::theField2[FIELD2_SIZE+1]
private

Definition at line 111 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField4

char ossimDtedHdr::theField4[FIELD4_SIZE+1]
private

Definition at line 113 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField5

char ossimDtedHdr::theField5[FIELD5_SIZE+1]
private

Definition at line 114 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField6

char ossimDtedHdr::theField6[FIELD6_SIZE+1]
private

Definition at line 115 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theField9

char ossimDtedHdr::theField9[FIELD9_SIZE+1]
private

Definition at line 118 of file ossimDtedHdr.h.

Referenced by parse(), and print().

◆ theFilename

char ossimDtedHdr::theFilename[FIELD3_SIZE+1]
private

Definition at line 112 of file ossimDtedHdr.h.

Referenced by fileName(), parse(), and print().

◆ theRecSen

char ossimDtedHdr::theRecSen[FIELD1_SIZE+1]
private

Definition at line 110 of file ossimDtedHdr.h.

Referenced by parse(), print(), and recognitionSentinel().

◆ theStartOffset

ossim_int32 ossimDtedHdr::theStartOffset
private

Definition at line 125 of file ossimDtedHdr.h.

Referenced by parse(), and startOffset().

◆ theStopOffset

ossim_int32 ossimDtedHdr::theStopOffset
private

Definition at line 126 of file ossimDtedHdr.h.

Referenced by parse(), and stopOffset().

◆ theVersion

char ossimDtedHdr::theVersion[FIELD7_SIZE+1]
private

Definition at line 116 of file ossimDtedHdr.h.

Referenced by parse(), print(), and version().


The documentation for this class was generated from the following files: