OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfAimidbTag.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: AIMIDB - Additional Image ID Extension Format
10 // tag class declaration.
11 //
12 // See document STDI-0002 (version 3), Appendix E, Table E-3 for more info.
13 //
14 //----------------------------------------------------------------------------
15 // $Id$
16 
17 #ifndef ossimNitfAimidbTag_HEADER
18 #define ossimNitfAimidbTag_HEADER 1
19 
21 
23 {
24 public:
25 
26  enum
27  {
28  CEL_SIZE = 89,
29  ACQUISITION_DATE_SIZE = 14,
30  MISSION_NO_SIZE = 4,
31  MISSION_IDENTIFICATION_SIZE = 10,
32  FLIGHT_NO_SIZE = 2,
33  OP_NUM_SIZE = 3,
34  CURRENT_SEGMENT_SIZE = 2,
35  REPRO_NUM_SIZE = 2,
36  REPLAY_SIZE = 3,
37  RESERVED_1_SIZE = 1,
38  START_TILE_COLUMN_SIZE = 3,
39  START_TILE_ROW_SIZE = 5,
40  END_SEGMENT_SIZE = 2,
41  END_TILE_COLUMN_SIZE = 3,
42  END_TILE_ROW_SIZE = 5,
43  COUNTRY_SIZE = 2,
44  RESERVED_2_SIZE = 4,
45  LOCATION_SIZE = 11,
46  RESERVED_3_SIZE = 13
47  };
48 
51 
53  virtual ~ossimNitfAimidbTag();
54 
56  virtual void parseStream(ossim::istream& in);
57 
59  virtual void writeStream(ossim::ostream& out);
60 
62  virtual void clearFields();
63 
70  virtual std::ostream& print(std::ostream& out,
71  const std::string& prefix=std::string()) const;
72 
73 protected:
74 
86  char theAcquisitionDate[ACQUISITION_DATE_SIZE+1];
87 
97  char theMissionNumber[MISSION_NO_SIZE+1];
98 
108  char theMissionIdentification[MISSION_IDENTIFICATION_SIZE+1];
109 
119  char theFlightNo[FLIGHT_NO_SIZE+1];
120 
130  char theOpNum[OP_NUM_SIZE+1];
131 
141  char theCurrentSegment[CURRENT_SEGMENT_SIZE+1];
142 
152  char theReproNum[REPRO_NUM_SIZE+1];
153 
163  char theReplay[REPLAY_SIZE+1];
164 
174  char theReserved1[RESERVED_1_SIZE+1];
175 
185  char theStartTileColumn[START_TILE_COLUMN_SIZE+1];
186 
196  char theStartTileRow[START_TILE_ROW_SIZE+1];
197 
207  char theEndSegment[END_SEGMENT_SIZE+1];
208 
218  char theTileColumn[END_TILE_COLUMN_SIZE+1];
219 
229  char theTileRow[END_TILE_ROW_SIZE+1];
230 
240  char theCountry[COUNTRY_SIZE+1];
241 
251  char theReserved2[RESERVED_2_SIZE+1];
252 
262  char theLocation[LOCATION_SIZE+1];
263 
273  char theReserved3[RESERVED_3_SIZE+1];
274 
275 TYPE_DATA
276 };
277 
278 #endif /* matches #ifndef ossimNitfAimidbTag_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