OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfWriter.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 //*******************************************************************
10 // $Id$
11 
12 #ifndef ossimNitfWriter_HEADER
13 #define ossimNitfWriter_HEADER 1
14 
17 #include <ossim/base/ossimIpt.h>
20 #include <ossim/base/ossimRefPtr.h>
27 #include <iosfwd>
28 #include <memory>
29 
30 class ossimProjection;
31 
33 {
34 public:
35  ossimNitfWriter(const ossimFilename& filename=ossimFilename(""),
36  ossimImageSource* inputSource = (ossimImageSource*)NULL);
37  virtual ~ossimNitfWriter();
38  virtual bool isOpen()const;
39  virtual bool open();
40  virtual void close();
41 
53  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const;
54 
55  virtual void setProperty(ossimRefPtr<ossimProperty> property);
56  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
57 
66  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
67 
68  void addRegisteredTag(ossimRefPtr<ossimNitfRegisteredTag> registeredTag, bool unique = true);
69  void addRegisteredTag(ossimRefPtr<ossimNitfRegisteredTag> registeredTag, bool unique,
70  const ossim_uint32& ownerIndex, const ossimString& tagType);
71 
82  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
83 
94  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
95 
96  virtual bool addTextToNitf(std::string& inputText);
97 
99  virtual void getTileSize(ossimIpt& size) const;
100 
109  virtual void setTileSize(const ossimIpt& tileSize);
110 
120  virtual ossimNitfImageHeaderV2_1 *getImageHeader();
121 
129  virtual ossimNitfFileHeaderV2_1 *getFileHeader();
130 
136  virtual void addDataExtensionSegment(const ossimNitfDataExtensionSegmentV2_1& des, bool allowTreOverflow);
137 protected:
138 
142  virtual bool writeFile();
143 
149  virtual bool writeBlockBandSeparate();
150 
155  virtual bool writeBlockBandSequential();
156 
158  // virtual void addStandardTags();
159 
160  std::shared_ptr<ossim::ofstream> m_str;
163  std::vector<ossimNitfDataExtensionSegmentV2_1> m_dataExtensionSegments;
165  std::string m_textEntry;
167 
168 TYPE_DATA
169 private:
170  void takeOverflowTags(bool useFileHeader, bool userDefinedTags);
171 
172 };
173 
174 #endif /* #ifndef ossimNitfWriter_HEADER */
virtual void setProperty(ossimRefPtr< ossimProperty > property)
Set the properties.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void close()=0
Represents serializable keyword/value map.
std::shared_ptr< ossim::ofstream > m_str
Currently disabled...
virtual bool writeFile()=0
Write out the file.
virtual void setTileSize(const ossimIpt &tileSize)
Sets the output image tiling size if supported by the writer.
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const =0
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
yy_size_t size
std::vector< ossimNitfDataExtensionSegmentV2_1 > m_dataExtensionSegments
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
OSSIM nitf writer base class to hold methods common to all nitf writers.
ossimRefPtr< ossimNitfFileHeaderV2_1 > m_fileHeader
virtual bool isOpen() const =0
std::string m_textEntry
#define OSSIM_DLL
virtual bool open()=0
ossimRefPtr< ossimNitfImageHeaderV2_1 > m_imageHeader
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Initializes the state of the writer from kwl with prefix then calls base class ossimImageFileWriter::...
ossimRefPtr< ossimNitfTextHeaderV2_1 > m_textHeader
virtual void addRegisteredTag(ossimRefPtr< ossimNitfRegisteredTag > registeredTag)
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
Gets a property.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Saves the state of the writer to kwl with prefix then calls base class ossimImageFileWriter::saveStat...