OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfImageHeaderV2_0.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: Garrett Potts
8 //
9 // Description: Nitf support class
10 //
11 //********************************************************************
12 // $Id$
13 
14 #ifndef ossimNitfImageHeaderV2_0_HEADER
15 #define ossimNitfImageHeaderV2_0_HEADER 1
16 
19 #include <ossim/base/ossimIosFwd.h>
20 #include <iterator>
21 
23 {
24 public:
26  virtual ~ossimNitfImageHeaderV2_0();
27 
28  virtual void parseStream(ossim::istream& in);
29  virtual void writeStream(ossim::ostream& out);
30 
35  virtual std::ostream& print(std::ostream& out,
36  const std::string& prefix=std::string()) const;
37 
38  virtual void setProperty(ossimRefPtr<ossimProperty> property);
39  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
40  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
41 
42  virtual bool isCompressed()const;
43  virtual bool isEncrypted()const;
44 
45  virtual ossim_int32 getNumberOfBands()const;
46  virtual ossim_int32 getNumberOfRows()const;
47  virtual ossim_int32 getNumberOfCols()const;
48  virtual ossim_int32 getNumberOfBlocksPerRow()const;
49  virtual ossim_int32 getNumberOfBlocksPerCol()const;
52  virtual ossimString getImageId()const;
53  virtual ossim_int32 getBitsPerPixelPerBand()const;
55  virtual ossimString getIMode()const;
57 
59  virtual ossimString getImageDateAndTime() const;
61  ossim_uint8 separationChar='-')const;
62  virtual ossimString getCategory()const;
63  virtual ossimString getImageSource()const;
64  virtual ossimString getRepresentation()const;
65  virtual ossimString getCoordinateSystem()const;
66 
67  virtual ossimString getPixelValueType()const;
68  virtual bool hasBlockMaskRecords()const;
69  virtual bool hasPadPixelMaskRecords()const;
70  virtual bool hasTransparentCode()const;
71  virtual ossim_uint32 getTransparentCode()const;
73  ossim_uint32 bandNumber)const;
75  ossim_uint32 bandNumber)const;
76 
79 
80  virtual void setNumberOfBands(ossim_uint32 nbands);
81  virtual void setBandInfo(ossim_uint32 idx,
82  const ossimNitfImageBandV2_0& info);
83  virtual void setNumberOfRows(ossim_uint32 rows);
84  virtual void setNumberOfCols(ossim_uint32 cols);
85  virtual bool isValid()const;
86  virtual bool saveState(ossimKeywordlist& kwl, const ossimString& prefix="")const;
87 
88  static const ossimString ISCODE_KW;
89  static const ossimString ISCTLH_KW;
90  static const ossimString ISREL_KW;
91  static const ossimString ISCAUT_KW;
92  static const ossimString CTLN_KW;
93  static const ossimString ISDWNG_KW;
94  static const ossimString ISDEVT_KW;
95 
97 private:
98  //
99 
100  void clearFields();
101 
106  char theCodewords[41];
107 
112  char theControlAndHandling[41];
113 
118  char theReleasingInstructions[41];
119 
124  char theClassificationAuthority[21];
125 
129  char theSecurityControlNumber[21];
130 
144  char theSecurityDowngrade[7];
145 
151  char theDowngradingEvent[41];
152 
165  std::vector<ossimRefPtr<ossimNitfImageBandV2_0> > theImageBands;
166 };
167 
168 #endif
static const ossimString ISDWNG_KW
virtual ossim_int32 getNumberOfBands() const =0
virtual ossim_int32 getNumberOfBlocksPerRow() const =0
#define OSSIMDLLEXPORT
virtual ossim_int32 getNumberOfRows() const =0
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossimString getPixelValueType() const =0
virtual bool saveState(ossimKeywordlist &kwl, const ossimString &prefix="") const
Represents serializable keyword/value map.
virtual ossimString getIMode() const =0
virtual bool isValid() const
isValid will test if the fields are valid and will return true or false.
virtual const ossimRefPtr< ossimNitfImageBand > getBandInformation(ossim_uint32 idx) const =0
virtual void writeStream(ossim::ostream &out)=0
virtual void parseStream(ossim::istream &in)=0
virtual ossimString getImageDateAndTime() const =0
virtual std::ostream & print(std::ostream &out, const std::string &prefix) const =0
pure virtual print method that outputs a key/value type format adding prefix to keys.
virtual ossim_int32 getActualBitsPerPixelPerBand() const =0
virtual bool hasPadPixelMaskRecords() const =0
virtual bool isEncrypted() const =0
ossimString getSecurityClassification() const
static const ossimString ISDEVT_KW
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual ossim_int32 getNumberOfCols() const =0
virtual const ossimRefPtr< ossimNitfCompressionHeader > getCompressionHeader() const =0
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
static const ossimString ISCAUT_KW
static const ossimString ISREL_KW
virtual ossim_uint32 getBlockMaskRecordOffset(ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
std::vector< ossimRefPtr< ossimNitfImageBandV2_0 > > theImageBands
Will contain also the field NBANDS and we will have to recreate the prefix for.
virtual ossim_int32 getNumberOfPixelsPerBlockVert() const =0
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
static const ossimString ISCODE_KW
virtual bool hasTransparentCode() const =0
virtual ossimString getAcquisitionDateMonthDayYear(ossim_uint8 separationChar='-') const =0
static const ossimString CTLN_KW
virtual ossim_int32 getBitsPerPixelPerBand() const =0
virtual ossim_uint32 getTransparentCode() const =0
virtual bool hasBlockMaskRecords() const =0
virtual ossim_int32 getNumberOfBlocksPerCol() const =0
virtual ossim_int32 getNumberOfPixelsPerBlockHoriz() const =0
virtual bool isCompressed() const =0
virtual ossim_uint32 getPadPixelMaskRecordOffset(ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32
static const ossimString ISCTLH_KW