OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimDtedAcc.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 Accuracy Description
10 // (ACC) of a DTED Level 1 file.
11 //
12 //********************************************************************
13 // $Id: ossimDtedAcc.h 16104 2009-12-17 18:09:59Z gpotts $
14 
15 #ifndef ossimDtedAcc_H
16 #define ossimDtedAcc_H
17 #include <iosfwd>
18 
22 #include <ossim/base/ossimRefPtr.h>
23 #include <ossim/base/ossimIosFwd.h>
24 #include <memory>
25 
26 class ossimProperty;
27 
29 {
30 public:
31  ossimDtedAcc();
32  ossimDtedAcc(std::shared_ptr<ossim::istream>& str, ossim_int64 offset=0);
33  enum
34  {
35  ACC_LENGTH = 2700,
36  ACC_ABSOLUTE_CE = 4,
37  ACC_ABSOLUTE_LE = 8,
38  ACC_RELATIVE_CE = 12,
39  ACC_RELATIVE_LE = 16,
40  ACC_RESERVED_1 = 20,
41  ACC_RESERVED_2 = 24,
42  ACC_RESERVED_3 = 25,
43  ACC_MULTIPLE_FLAG = 56,
44  ACC_RESERVED = 58,
45  FIELD1_SIZE = 3,
46  FIELD2_SIZE = 4,
47  FIELD3_SIZE = 4,
48  FIELD4_SIZE = 4,
49  FIELD5_SIZE = 4,
50  FIELD6_SIZE = 4,
51  FIELD7_SIZE = 1,
52  FIELD8_SIZE = 31,
53  FIELD9_SIZE = 2,
54  FIELD10_SIZE = 4,
55  FIELD11_SIZE = 4,
56  FIELD12_SIZE = 4,
57  FIELD13_SIZE = 4,
58  FIELD14_SIZE = 2,
59  FIELD15_SIZE = 9,
60  FIELD16_SIZE = 10,
61  FIELD17_SIZE = 18,
62  FIELD18_SIZE = 69
63  };
64 
65  // The Recoginition Sentinel signifies if the ACC record exists.
66 
67  ossim_int32 absCE() const;
68  ossim_int32 absLE() const;
69  ossim_int32 relCE() const;
70  ossim_int32 relLE() const;
71 
72  ossim_int32 startOffset() const;
73  ossim_int32 stopOffset() const;
74 
76  const ossimDtedAcc& acc);
77 
88  const std::string& prefix) const;
89 
90  void parse(std::istream& in);
91 
92  void clearFields();
93 
100  ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
101 
106  void getPropertyNames(std::vector<ossimString>& propertyNames)const;
107 
108 private:
109  // Do not allow...
110  ossimDtedAcc(const ossimDtedAcc& source);
111  const ossimDtedAcc& operator=(const ossimDtedAcc& rhs);
112 
113 
114  char theRecSen[FIELD1_SIZE+1];
115  char theAbsoluteCE[FIELD2_SIZE+1];
116  char theAbsoluteLE[FIELD3_SIZE+1];
117  char theRelativeCE[FIELD4_SIZE+1];
118  char theRelativeLE[FIELD5_SIZE+1];
119  char theField6[FIELD6_SIZE+1];
120  char theField7[FIELD7_SIZE+1];
121  char theField8[FIELD8_SIZE+1];
122  char theField9[FIELD9_SIZE+1];
123  char theField10[FIELD10_SIZE+1];
124  char theField11[FIELD11_SIZE+1];
125  char theField12[FIELD12_SIZE+1];
126  char theField13[FIELD13_SIZE+1];
127  char theField14[FIELD14_SIZE+1];
128  char theField15[FIELD15_SIZE+1];
129  char theField16[FIELD16_SIZE+1];
130  char theField17[FIELD17_SIZE+1];
131 
134 };
135 
136 #endif
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
ossim_int32 theStopOffset
Definition: ossimDtedAcc.h:133
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
ossim_int32 theStartOffset
Definition: ossimDtedAcc.h:132
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32