OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfHistoaTag.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: HISTOA tag class declaration.
8 //
9 //----------------------------------------------------------------------------
10 // $Id: ossimNitfHistoaTag.h 22013 2012-12-19 17:37:20Z dburken $
11 
12 #ifndef ossimNitfHistoaTag_HEADER
13 #define ossimNitfHistoaTag_HEADER 1
14 
16 #include <vector>
17 
36 {
37 public:
38  enum
39  {
40  PDATE_SIZE = 14,
41  PSITE_SIZE = 10,
42  PAS_SIZE = 10,
43  NIPCOM_SIZE = 1,
44  IPCOM_SIZE = 80,
45  IBPP_SIZE = 2,
46  IPVTYPE_SIZE = 3,
47  INBWC_SIZE = 10,
48  DISP_FLAG_SIZE = 1,
49  ROT_FLAG_SIZE = 1,
50  ROT_ANGLE_SIZE = 8,
51  ASYM_FLAG_SIZE = 1,
52  ZOOMROW_SIZE = 7,
53  ZOOMCOL_SIZE = 7,
54  PROJ_FLAG_SIZE = 1,
55  SHARP_FLAG_SIZE= 1,
56  SHARPFAM_SIZE = 2,
57  SHARPMEM_SIZE = 2,
58  MAG_FLAG_SIZE = 1,
59  MAG_LEVEL_SIZE = 7,
60  DRA_FLAG_SIZE = 1,
61  DRA_MULT_SIZE = 7,
62  DRA_SUB_SIZE = 5,
63  TTC_FLAG_SIZE = 1,
64  TTCFAM_SIZE = 2,
65  TTCMEM_SIZE = 2,
66  DEVLUT_FLAG_SIZE = 1,
67  OBPP_SIZE = 2,
68  OPVTYPE_SIZE = 3,
69  OUTBWC_SIZE = 10
70  };
72  ossim_uint32 getSizeInBytes()const;
73  void parseStream(std::istream& in);
74  void writeStream(std::ostream& out);
75 
77  const std::string& prefix=std::string()) const;
78  void clearFields();
79 
80 private:
81 
96  char m_pdate[PDATE_SIZE+1];
97 
105  char m_psite[PSITE_SIZE+1];
106 
114  char m_pas[PAS_SIZE+1];
115 
122  char m_nIpcom[NIPCOM_SIZE+1];
123 
136  std::vector<std::string> m_comment;
137 
148  char m_ibpp[IBPP_SIZE+1];
149 
164  char m_ipvType[IPVTYPE_SIZE+1];
165 
237  char m_inbwc[INBWC_SIZE+1];
238 
253  char m_dispFlag[DISP_FLAG_SIZE + 1];
254 
263  char m_rotFlag[ROT_FLAG_SIZE + 1];
264 
273  char m_rotAngle[ROT_ANGLE_SIZE + 1];
274 
287  char m_asymFlag[ASYM_FLAG_SIZE + 1];
288 
297  char m_zoomRow[ZOOMROW_SIZE + 1];
298 
307  char m_zoomCol[ZOOMCOL_SIZE + 1];
308 
319  char m_projFlag[PROJ_FLAG_SIZE + 1];
320 
330  char m_sharpFlag[SHARP_FLAG_SIZE+1];
331 
344  char m_sharpFam[SHARPFAM_SIZE+1];
345 
356  char m_sharpMem[SHARPMEM_SIZE+1];
357 
366  char m_magFlag[MAG_FLAG_SIZE+1];
367 
379  char m_magLevel[MAG_LEVEL_SIZE +1];
380 
396  char m_draFlag[DRA_FLAG_SIZE+1];
397 
404  char m_draMult[DRA_MULT_SIZE+1];
405 
412  char m_draSub[DRA_SUB_SIZE+1];
413 
423  char m_ttcFlag[TTC_FLAG_SIZE+1];
424 
436  char m_ttcFam[TTCFAM_SIZE+1];
437 
447  char m_ttcMem[TTCMEM_SIZE+1];
448 
459  char m_devLutFlag[DEVLUT_FLAG_SIZE+1];
460 
472  char m_obpp[OBPP_SIZE+1];
473 
488  char m_opvType[OPVTYPE_SIZE+1];
489 
512  char m_outBwc[OUTBWC_SIZE+1];
513 
514 }; // Matches: class OSSIM_DLL ossimNitfHistoaProcessingEvent
515 
517 {
518 public:
519  enum
520  {
521  SYSTYPE_SIZE = 20,
522  PC_SIZE = 12,
523  PE_SIZE = 4,
524  REMAP_FLAG_SIZE = 1,
525  LUTID_SIZE = 2,
526  NEVENTS_SIZE = 2
527  };
528 
530 
536  virtual void parseStream(std::istream& in);
537  virtual void writeStream(std::ostream& out);
538 
539  virtual ossim_uint32 getSizeInBytes()const;
540 
541 // virtual void setProperty(ossimRefPtr<ossimProperty> property);
542 // virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
543 // virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
544 
551  virtual std::ostream& print(std::ostream& out,
552  const std::string& prefix=std::string()) const;
553  virtual void clearFields();
554 protected:
574  char m_systype[SYSTYPE_SIZE+1];
575 
644  char m_pc[PC_SIZE+1];
645 
665  char m_pe[PE_SIZE+1];
666 
677  char m_remapFlag[REMAP_FLAG_SIZE+1];
678 
692  char m_lutid[LUTID_SIZE+1];
693 
707  char m_nEvents[NEVENTS_SIZE+1];
708 
709  std::vector<ossimNitfHistoaProcessingEvent> m_eventList;
710 
711 }; // Matches: class OSSIM_DLL ossimNitfHistoaTag
712 
713 #endif /* #ifndef ossimNitfHistoaTag_HEADER */
virtual void writeStream(ossim::ostream &out)=0
std::vector< ossimNitfHistoaProcessingEvent > m_eventList
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.
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
std::vector< std::string > m_comment
Field IPCOM.
unsigned int ossim_uint32
All comments in this document were taken from the online resource found at:
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
virtual ossim_uint32 getSizeInBytes() const
Returns the length in bytes of the tag from the CEL or REL field.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23