OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfPiaimcTag.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: David Burken
8 //
9 // Description: PIAIMC tag class declaration.
10 //
11 // "Profile for Imagery Access Image Support Extensions"
12 //
13 // See document STDI-0002 Table 6-1 for more info.
14 //
15 // http://164.214.2.51/ntb/baseline/docs/stdi0002/final.pdf
16 //
17 //----------------------------------------------------------------------------
18 // $Id: ossimNitfPiaimcTag.h 22013 2012-12-19 17:37:20Z dburken $
19 #ifndef ossimNitfPiaimcTag_HEADER
20 #define ossimNitfPiaimcTag_HEADER
21 
24 
25 class ossimString;
26 
28 {
29 public:
30  enum
31  {
32  CLOUDCVR_SIZE = 3,
33  SRP_SIZE = 1,
34  SENSMODE_SIZE = 12,
35  SENSNAME_SIZE = 18,
36  SOURCE_SIZE = 255,
37  COMGEN_SIZE = 2,
38  SUBQUAL_SIZE = 1,
39  PIAMSNNUM_SIZE = 7,
40  CAMSPECS_SIZE = 32,
41  PROJID_SIZE = 2,
42  GENERATION_SIZE = 1,
43  ESD_SIZE = 1,
44  OTHERCOND_SIZE = 2,
45  MEANGSD_SIZE = 7,
46  IDATUM_SIZE = 3,
47  IELLIP_SIZE = 3,
48  PREPROC_SIZE = 2,
49  IPROJ_SIZE = 2,
50  SATTRACK_SIZE = 8
51  // -------
52  // 362
53  };
54 
57 
63  virtual void parseStream(std::istream& in);
64 
70  virtual void writeStream(std::ostream& out);
71 
75  virtual void clearFields();
76 
83  virtual std::ostream& print(std::ostream& out,
84  const std::string& prefix) const;
88  ossimString getCloudcvrString() const;
89 
93  ossimString getSrpString() const;
94 
98  ossimString getSensmodeString() const;
99 
103  ossimString getSensnameString() const;
104 
108  ossimString getSourceString() const;
109 
113  ossimString getComgenString() const;
114 
118  ossimString getSubqualString() const;
119 
123  ossimString getPiamsnnumString() const;
124 
128  ossimString getString() const;
129 
133  ossimString getCamspecsString() const;
134 
138  ossimString getProjidString() const;
139 
143  ossimString getGenerationString() const;
144 
148  ossimString getEsdString() const;
149 
153  ossimString getOthercondString() const;
154 
158  ossimString getMeadGsdString() const;
159 
165  ossim_float64 getMeanGsdInMeters() const;
166 
170  ossimString getIdatumString() const;
171 
175  ossimString getIellipString() const;
176 
180  ossimString getPreprocString() const;
181 
185  ossimString getIprojString() const;
186 
190  ossimString getSattrackString() const;
191 
192  virtual void setProperty(ossimRefPtr<ossimProperty> property);
193  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
194  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
195 
196 protected:
197 
208  char theCloudcvr[CLOUDCVR_SIZE+1];
209 
219  char theSrp[SRP_SIZE+1];
220 
230  char thesSensmode[SENSMODE_SIZE+1];
231 
241  char theSensname[SENSNAME_SIZE+1];
242 
252  char theSource[SOURCE_SIZE+1];
253 
263  char theComgen[COMGEN_SIZE+1];
264 
274  char theSubqual[SUBQUAL_SIZE+1];
275 
285  char thePiamsnnum[PIAMSNNUM_SIZE+1];
286 
297  char theCamspecs[CAMSPECS_SIZE+1];
298 
308  char theProjid[PROJID_SIZE+1];
309 
320  char theGeneration[GENERATION_SIZE+1];
321 
332  char theEsd[ESD_SIZE+1];
333 
343  char theOthercond[OTHERCOND_SIZE+1];
344 
355  char theMeanGsd[MEANGSD_SIZE+1];
356 
368  char theIdatum[IDATUM_SIZE+1];
369 
379  char theIellip[IELLIP_SIZE+1];
380 
391  char thePreproc[PREPROC_SIZE+1];
392 
403  char theIproj[IPROJ_SIZE+1];
404 
422  char theSattrack[SATTRACK_SIZE+1];
423 
424 TYPE_DATA
425 };
426 
427 #endif /* End of "#ifndef ossimNitfPiaimcTag_HEADER" */
virtual void writeStream(ossim::ostream &out)=0
virtual void parseStream(ossim::istream &in)=0
This will allow the user defined data to parse the stream.
virtual std::ostream & print(std::ostream &out, const std::string &prefix=std::string()) const
Pure virtual print method that outputs a key/value type format adding prefix to keys.
double ossim_float64
virtual void setProperty(ossimRefPtr< ossimProperty > property)
#define TYPE_DATA
Definition: ossimRtti.h:339
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const