OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfWriterBase.h
Go to the documentation of this file.
1 //---
2 //
3 // License: MIT
4 //
5 // Author: David Burken
6 //
7 // Description: OSSIM nitf writer base class to hold methods common to
8 // all nitf writers.
9 //
10 //---
11 // $Id$
12 #ifndef ossimNitfWriterBase_HEADER
13 #define ossimNitfWriterBase_HEADER 1
14 
19 
20 class ossimFilename;
25 class ossimProjection;
26 
32 {
33 public:
34 
37 
43  ossimNitfWriterBase(const ossimFilename& filename,
44  ossimImageSource* inputSource);
45 
46  /* @brief virtual destructor */
47  virtual ~ossimNitfWriterBase();
48 
53  virtual void setProperty(ossimRefPtr<ossimProperty> property);
54 
61  const ossimString& name)const;
62 
70  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
71 
72 
89  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
90 
107  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
108 
117  virtual ossimString getExtension() const;
118 
119  virtual void addRegisteredTag(ossimRefPtr<ossimNitfRegisteredTag> registeredTag);
120  virtual void addRegisteredTag(ossimRefPtr<ossimNitfRegisteredTag> registeredTag, bool unique);
121  virtual void addRegisteredTag(ossimRefPtr<ossimNitfRegisteredTag> registeredTag, bool unique, const ossim_uint32& ownerIndex, const ossimString& tagType);
122 
123  virtual void setFileHeaderV2_1(ossimRefPtr<ossimNitfFileHeaderV2_1>, bool preferSource=false);
124  virtual void setImageHeaderV2_1(ossimRefPtr<ossimNitfImageHeaderV2_1>, bool preferSource=false);
125 
126 protected:
127 
134  void writeGeometry(ossimNitfImageHeaderV2_X* hdr,
136 
145  void addBlockaTag(ossimMapProjectionInfo& mapInfo,
147 
158  void addGeolobTag(const ossimMapProjection* mapProj,
160 
168  void addRpcbTag(const ossimIrect& rect,
169  ossimProjection* proj,
171 
177  void setComplexityLevel(std::streamoff,
179 
180  void setComplexityLevel(ossimNitfFileHeaderV2_X* hdr, ossim_uint64 width=0, ossim_uint64 height=0);
181 
186  virtual void initializeDefaultsFromConfigFile(
187  ossimNitfFileHeaderV2_X* fileHdr,
188  ossimNitfImageHeaderV2_X* imgHdr );
189 
192 
198 
204 
205 
206 private:
207 
208 TYPE_DATA
209 };
210 
211 #endif /* #ifndef ossimKakaduNitfVoid Writer_HEADER */
bool theEnableGeolobTagFlag
If true user wants to set GEOLOG tag.
Represents serializable keyword/value map.
virtual ossimString getExtension() const
Returns a 3-letter extension from the image type descriptor (theOutputImageType) that can be used for...
bool theEnableBlockaTagFlag
If true user wants to set BLOCKA tag.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Pure virtual base class for image file writers.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned long long ossim_uint64
unsigned int ossim_uint32
OSSIM nitf writer base class to hold methods common to all nitf writers.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
#define OSSIM_DLL
bool theEnableRpcbTagFlag
If true user wants to set RPC00B tag.