OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfAcftbTag.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: ACFTB - Aircraft Infomation Extension Format tag class
10 // declaration.
11 //
12 // See document STDI-0002 (version 3), Appendix E, Table E-6 for more info.
13 //
14 //----------------------------------------------------------------------------
15 // $Id
16 
17 #ifndef ossimNitfAcftbTag_HEADER
18 #define ossimNitfAcftbTag_HEADER 1
19 
21 
23 {
24 public:
25 
26  enum
27  {
28  CEL_SIZE = 207,
29  AC_MSN_ID_SIZE = 20,
30  AC_TAIL_NO_SIZE = 10,
31  AC_TO_SIZE = 12,
32  SENSOR_ID_TYPE_SIZE = 4,
33  SENSOR_ID_SIZE = 6,
34  SCENE_SOURCE_SIZE = 1,
35  SCNUM_SIZE = 6,
36  PDATE_SIZE = 8,
37  IMHOSTNO_SIZE = 6,
38  IMREQID_SIZE = 5,
39  MPLAN_SIZE = 3,
40  ENTLOC_SIZE = 25,
41  LOC_ACCY_SIZE = 6,
42  ENTELV_SIZE = 6,
43  ELV_UNIT_SIZE = 1,
44  EXITLOC_SIZE = 25,
45  EXITELV_SIZE = 6,
46  TMAP_SIZE = 7,
47  ROW_SPACING_SIZE = 7,
48  ROW_SPACING_UNITS_SIZE = 1,
49  COL_SPACING_SIZE = 7,
50  COL_SPACING_UINTS_SIZE = 1,
51  FOCAL_LENGTH_SIZE = 6,
52  SENSERIAL_SIZE = 6,
53  ABSWVER_SIZE = 7,
54  CAL_DATE_SIZE = 8,
55  PATCH_TOT_SIZE = 4,
56  MTI_TOT_SIZE = 3
57  };
58 
61 
63  virtual ~ossimNitfAcftbTag();
64 
66  virtual void parseStream(ossim::istream& in);
67 
69  virtual void writeStream(ossim::ostream& out);
70 
72  virtual void clearFields();
73 
74  ossimString getFocalLength()const;
75  ossimString getColumnSpacing()const;
76  ossimString getColumnSpacingUnits()const;
77  ossimString getRowSpacing()const;
78  ossimString getRowSpacingUnits()const;
85  virtual std::ostream& print(std::ostream& out,
86  const std::string& prefix=std::string()) const;
87 
88 protected:
89 
101  char theAcMsnId[AC_MSN_ID_SIZE+1];
102 
112  char theAcTailNo[AC_TAIL_NO_SIZE+1];
113 
123  char theAcTo[AC_TO_SIZE+1];
124 
134  char theSensorIdType[SENSOR_ID_TYPE_SIZE+1];
135 
145  char theSensorId[SENSOR_ID_SIZE+1];
146 
156  char theSceneSource[SCENE_SOURCE_SIZE+1];
157 
167  char theScNum[SCNUM_SIZE+1];
168 
178  char thePDate[PDATE_SIZE+1];
179 
189  char theImHostNo[IMHOSTNO_SIZE+1];
190 
200  char theImReqID[IMREQID_SIZE+1];
201 
211  char theMPlan[MPLAN_SIZE+1];
212 
222  char theEntLoc[ENTLOC_SIZE+1];
223 
233  char theLocAccy[LOC_ACCY_SIZE+1];
234 
244  char theEntelv[ENTELV_SIZE+1];
245 
255  char theElvUnit[ELV_UNIT_SIZE+1];
256 
266  char theExitLoc[EXITLOC_SIZE+1];
267 
277  char theExitElev[EXITELV_SIZE+1];
278 
288  char theTMap[TMAP_SIZE+1];
289 
299  char theRowSpacing[ROW_SPACING_SIZE+1];
300 
310  char theRowSpacingUnits[ROW_SPACING_UNITS_SIZE+1];
311 
321  char theColSpacing[COL_SPACING_SIZE+1];
322 
332  char theColSpacingUnits[COL_SPACING_UINTS_SIZE+1];
333 
343  char theFocalLength[FOCAL_LENGTH_SIZE+1];
344 
354  char theSenserial[SENSERIAL_SIZE+1];
355 
365  char theAbSwVer[ABSWVER_SIZE+1];
366 
376  char theCalDate[CAL_DATE_SIZE+1];
377 
387  char thePatchTot[PATCH_TOT_SIZE+1];
388 
398  char theMtiTot[MTI_TOT_SIZE+1];
399 
400 TYPE_DATA
401 };
402 
403 #endif /* matches #ifndef ossimNitfAcftbTag_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