OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfFile.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 #ifndef ossimNitfFile_HEADER
14 #define ossimNitfFile_HEADER 1
15 
18 #include <ossim/base/ossimIosFwd.h>
19 #include <ossim/base/ossimIrect.h>
20 #include <ossim/base/ossimRefPtr.h>
21 #include <ossim/base/ossimString.h>
23 
29 
31 {
32 public:
34  const ossimNitfFile &data);
35 
48  const std::string& prefix=std::string(),
49  bool printOverviews=true) const;
50 
64  ossim_uint32 entryIndex,
65  const std::string& prefix=std::string(),
66  bool printOverviews=false) const;
67 
68  ossimNitfFile();
69  virtual ~ossimNitfFile();
70 
75  bool parseFile(const ossimFilename& file);
76 
83  bool parseStream(const ossimFilename& file,
84  ossim::istream& in);
85 
89  const ossimNitfFileHeader* getHeader()const;
90  ossimNitfFileHeader* getHeader();
91  ossimIrect getImageRect()const;
92 
93  ossimNitfImageHeader* getNewImageHeader(ossim_uint32 imageNumber)const;
94  ossimNitfImageHeader* getNewImageHeader(ossim::istream& in,
95  ossim_uint32 imageNumber)const;
96 
97  ossimNitfSymbolHeader* getNewSymbolHeader(ossim_uint32 symbolNumber)const;
98  ossimNitfSymbolHeader* getNewSymbolHeader(ossim::istream& in,
99  ossim_uint32 symbolNumber)const;
100 
101  ossimNitfLabelHeader* getNewLabelHeader(ossim_uint32 labelNumber)const;
102  ossimNitfLabelHeader* getNewLabelHeader(ossim::istream& in,
103  ossim_uint32 labelNumber)const;
104 
105  ossimNitfTextHeader* getNewTextHeader(ossim_uint32 textNumber)const;
106  ossimNitfTextHeader* getNewTextHeader(ossim::istream& in,
107  ossim_uint32 textNumber)const;
108 
109  ossimNitfDataExtensionSegment* getNewDataExtensionSegment(ossim_uint32 dataExtNumber)const;
110  ossimNitfDataExtensionSegment* getNewDataExtensionSegment(ossim::istream& in,
111  ossim_uint32 dataExtNumber)const;
112 
113  ossimString getVersion()const;
114 
116  ossimFilename getFilename() const;
117 
118  virtual bool saveState(ossimKeywordlist& kwl, const ossimString& prefix)const;
119 
120 protected:
121  ossimNitfImageHeader* allocateImageHeader()const;
122 
125 };
126 
127 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
unsigned int ossim_uint32
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
ossimFilename theFilename
ossimRefPtr< ossimNitfFileHeader > theNitfFileHeader
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23