OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfExoptaTag.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 // Description: EXOPTA tag header definition
8 //
9 //----------------------------------------------------------------------------
10 // $Id$
12 
19 {
20 public:
21  enum{
22  ANGLE_TO_NORTH_SIZE = 3,
23  MEAN_GSD_SIZE = 5,
24  EXOPTA_RESERVED1_SIZE = 1,
25  DYNAMIC_RANGE_SIZE = 5,
26  EXOPTA_RESERVED2_SIZE = 7,
27  OBL_ANG_SIZE = 5,
28  ROLL_ANG_SIZE = 6,
29  PRIME_ID_SIZE = 12,
30  PRIME_BE_SIZE = 15,
31  EXOPTA_RESERVED3_SIZE = 5,
32  N_SEC_SIZE = 3,
33  EXOPTA_RESERVED4_SIZE = 2,
34  EXOPTA_RESERVED5_SIZE = 7,
35  N_SEG_SIZE = 3,
36  MAX_LP_SEG_SIZE = 6,
37  EXOPTA_RESERVED6_SIZE = 12,
38  SUN_EL_SIZE = 5,
39  SUN_AZ_SIZE = 5,
40  CEL_SIZE = 107 // total
41  };
42 
44 
45  virtual void parseStream(std::istream& in);
46  virtual void writeStream(std::ostream& out);
47 
48  virtual std::ostream& print(std::ostream& out,
49  const std::string& prefix=std::string()) const;
50  virtual void clearFields();
51 
52 protected:
63  char m_angleToNorth[ANGLE_TO_NORTH_SIZE+1];
64 
80  char m_meanGsd[MEAN_GSD_SIZE+1];
81 
82  char m_reserved1[EXOPTA_RESERVED1_SIZE+1];
83 
89  char m_dynamicRange[DYNAMIC_RANGE_SIZE+1];
90  char m_reserved2[EXOPTA_RESERVED2_SIZE+1];
91 
98  char m_oblAng[OBL_ANG_SIZE+1];
99 
105  char m_rollAng[ROLL_ANG_SIZE+1];
106 
112  char m_primeId[PRIME_ID_SIZE+1];
113 
119  char m_primeBe[PRIME_BE_SIZE+1];
120  char m_reserved3[EXOPTA_RESERVED3_SIZE+1];
121 
128  char m_nSec[N_SEC_SIZE+1];
129  char m_reserved4[EXOPTA_RESERVED4_SIZE+1];
130  char m_reserved5[EXOPTA_RESERVED5_SIZE+1];
131 
139  char m_nSeg[N_SEG_SIZE+1];
140 
148  char m_maxLpSeg[MAX_LP_SEG_SIZE+1];
149 
150  char m_reserved6[EXOPTA_RESERVED6_SIZE+1];
151 
162  char m_sunEl[SUN_EL_SIZE+1];
163 
173  char m_sunAz[SUN_AZ_SIZE+1];
174 };
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.
EXOPTA - Exploitation Usability Optical Information Extension Format.
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