OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfMstgtaTag.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: MSTGTA Mission Target Information Extension Format
10 // tag class declaration.
11 //
12 // See document STDI-0002 Table 8-16 for more info.
13 //
14 //----------------------------------------------------------------------------
15 // $Id
16 
17 #ifndef ossimNitfMstgtaTag_HEADER
18 #define ossimNitfMstgtaTag_HEADER 1
19 
21 
23 {
24 public:
25 
26  enum
27  {
28  TGT_NUM_SIZE = 5,
29  TGT_ID_SIZE = 12,
30  TGT_BE_SIZE = 15,
31  TGT_PRI_SIZE = 3,
32  TGT_REQ_SIZE = 12,
33  TGT_LTIOV_SIZE = 12,
34  TGT_TYPE_SIZE = 1,
35  TGT_COLL_SIZE = 1,
36  TGT_CAT_SIZE = 5,
37  TGT_UTC_SIZE = 7,
38  TGT_ELEV_SIZE = 6,
39  TGT_ELEV_UNIT_SIZE = 1,
40  TGT_LOC_SIZE = 21
41  };
42 
45 
47  virtual ~ossimNitfMstgtaTag();
48 
50  virtual void parseStream(std::istream& in);
51 
53  virtual void writeStream(std::ostream& out);
54 
56  virtual void clearFields();
57 
64  virtual std::ostream& print(std::ostream& out,
65  const std::string& prefix=std::string()) const;
66 
67 protected:
68 
80  char theTgtNum[TGT_NUM_SIZE+1];
81 
91  char theTgtId[TGT_ID_SIZE+1];
92 
102  char theTgtBe[TGT_BE_SIZE+1];
103 
113  char theTgtPri[TGT_PRI_SIZE+1];
114 
124  char theTgtReq[TGT_REQ_SIZE+1];
125 
135  char theTgtLtiov[TGT_LTIOV_SIZE+1];
136 
146  char theTgtType[TGT_TYPE_SIZE+1];
147 
157  char theTgtColl[TGT_COLL_SIZE+1];
158 
168  char theTgtCat[TGT_CAT_SIZE+1];
169 
179  char theTgtUtc[TGT_UTC_SIZE+1];
180 
190  char theTgtElev[TGT_ELEV_SIZE+1];
191 
201  char theTgtElevUnit[TGT_ELEV_UNIT_SIZE+1];
202 
212  char theTgtLoc[TGT_LOC_SIZE+1];
213 
214 TYPE_DATA
215 };
216 
217 #endif /* matches #ifndef ossimNitfMstgtaTag_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.
#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
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23