OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimImageFileWriter.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Frank Warmerdam (warmerdam@pobox.com)
6 //
7 // Description:
8 //
9 // Contains class declaration for ossimImageWriter
10 //*******************************************************************
11 // $Id: ossimImageFileWriter.h 21963 2012-12-04 16:28:12Z dburken $
12 
13 #ifndef ossimImageFileWriter_HEADER
14 #define ossimImageFileWriter_HEADER
15 #include <fstream>
24 
35  : public ossimImageWriter,
36  public ossimProcessInterface,
38 {
39 public:
40 
45  ossimImageSource* inputSource=0,
46  ossimObject* owner=0);
47  virtual ~ossimImageFileWriter();
48 
49 
50  virtual ossimObject* getObject();
51 
52  virtual const ossimObject* getObject()const;
53 
72  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const=0;
73 
82  virtual ossimString getExtension() const;
83 
91  virtual bool getOutputHasInternalOverviews( void ) const;
92 
100  virtual bool hasImageType(const ossimString& imageType) const;
101 
106  virtual void setTileSize(const ossimIpt& tileSize);
107 
112  virtual bool writeEnviHeaderFile() ;
113 
118  virtual bool writeErsHeaderFile() ;
119 
124  virtual bool writeExternalGeometryFile() ;
125 
130  virtual bool writeFgdcFile() ;
131 
135  virtual bool writeHistogramFile() ;
136 
141  virtual bool writeJpegWorldFile() ;
142 
162  virtual bool writeOverviewFile(ossim_uint16 tiff_compress_type = 1,
163  ossim_int32 jpeg_compress_quality = 75,
164  bool includeR0 = false );
165 
170  virtual bool writeReadmeFile() ;
171 
176  virtual bool writeTiffWorldFile() ;
177 
194  virtual bool writeWorldFile() ;
195 
213  virtual bool writeMetaDataFiles() ;
214 
215  virtual void setAreaOfInterest(const ossimIrect& inputRect);
216 
224  virtual void changeSequencer(ossimImageSourceSequencer* sequencer);
225 
226  virtual ossimImageSourceSequencer* getSequencer();
227 
235  virtual void initialize();
236 
244  virtual bool execute();
245 
254  virtual bool writeStream();
255 
266  virtual bool setOutputStream(ossimRefPtr<ossimOStream> stream);
267 
269  virtual bool setOutputStream(std::ostream& str);
270 
280  virtual ossimRefPtr<ossimOStream> getOutputStream() const;
281 
282  virtual void setPercentComplete(double percentComplete);
283 
284  virtual void setOutputImageType(ossim_int32 type);
285  virtual void setOutputImageType(const ossimString& type);
286  virtual ossim_int32 getOutputImageType() const;
287  virtual ossimString getOutputImageTypeString() const;
288 
289  virtual void setOutputName(const ossimString& outputName);
290 
291  virtual void setFilename(const ossimFilename& file);
292 
293  virtual const ossimFilename& getFilename()const;
294 
295  virtual bool saveState(ossimKeywordlist& kwl,
296  const char* prefix=0)const;
297 
298  virtual bool loadState(const ossimKeywordlist& kwl,
299  const char* prefix=0);
300 
301 
302  virtual bool canConnectMyInputTo(ossim_int32 inputIndex,
303  const ossimConnectableObject* object)const;
304 
305  virtual void disconnectInputEvent(ossimConnectionEvent& event);
306  virtual void connectInputEvent(ossimConnectionEvent& event);
307  virtual void propertyEvent(ossimPropertyEvent& event);
308 
313  virtual bool getWriteImageFlag() const;
314  virtual bool getWriteHistogramFlag() const;
315  virtual bool getWriteOverviewFlag() const;
316  virtual bool getScaleToEightBitFlag() const;
317 
318  virtual bool getWriteEnviHeaderFlag() const;
319  virtual bool getWriteErsHeaderFlag() const;
320  virtual bool getWriteExternalGeometryFlag() const;
321  virtual bool getWriteFgdcFlag() const;
322  virtual bool getWriteJpegWorldFileFlag() const;
323  virtual bool getWriteReadmeFlag() const;
324  virtual bool getWriteTiffWorldFileFlag() const;
325  virtual bool getWriteWorldFileFlag() const;
326 
327  virtual void setWriteImageFlag(bool flag);
328  virtual void setWriteOverviewFlag(bool flag);
329  virtual void setWriteHistogramFlag(bool flag);
330  virtual void setScaleToEightBitFlag(bool flag);
331 
332  virtual void setWriteEnviHeaderFlag(bool flag);
333  virtual void setWriteErsHeaderFlag(bool flag);
334  virtual void setWriteExternalGeometryFlag(bool flag);
335  virtual void setWriteFgdcFlag(bool flag);
336  virtual void setWriteJpegWorldFile(bool flag);
337  virtual void setWriteReadme(bool flag);
338  virtual void setWriteTiffWorldFile(bool flag);
339  virtual void setWriteWorldFile(bool flag);
340 
341  virtual ossim_uint16 getOverviewCompressType() const;
342  virtual ossim_int32 getOverviewJpegCompressQuality() const;
343 
344  virtual void setOverviewCompressType(ossim_uint16 type);
345  virtual void setOverviewJpegCompressQuality(ossim_int32 quality);
346 
347 
348  virtual void setProperty(ossimRefPtr<ossimProperty> property);
349  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
350  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
351 
369  virtual bool addListener(ossimListener* listener);
370 
381  virtual bool removeListener(ossimListener* listener);
382 
400  virtual void setPixelType(ossimPixelType type);
401 
422  virtual void setPixelType(const ossimString& type);
423 
428  virtual ossimPixelType getPixelType() const;
429 
434  virtual void getPixelTypeString(ossimString& type) const;
435 
436 protected:
437 
445  bool writeWorldFile(const ossimFilename& file);
446 
451  virtual bool writeFile() = 0;
452 
464 
479 
492 
495 
496 TYPE_DATA
497 };
498 
499 #endif
virtual bool addListener(ossimListener *listener)
#define OSSIMDLLEXPORT
virtual void setProperty(ossimRefPtr< ossimProperty > property)
ossimUnitType
Represents serializable keyword/value map.
ossimRefPtr< ossimViewController > theViewController
ossimUnitType theLinearUnits
If not a geographic projection this allows the user to set the linear units of the output tag to be: ...
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void setPercentComplete(double percentComplete)
Pure virtual base class for image file writers.
unsigned short ossim_uint16
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void setOutputName(const ossimString &outputName)
bool theWriteEnviHeaderFlag
External meta data writer flags.
virtual void propertyEvent(ossimPropertyEvent &)
ossimRefPtr< ossimImageSourceSequencer > theInputConnection
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void initialize()
virtual void setAreaOfInterest(const ossimIrect &inputAreaOfInterest)
virtual ossimObject * getObject()=0
ossimPixelType thePixelType
OSSIM_PIXEL_IS_POINT = 0, OSSIM_PIXEL_IS_AREA = 1.
ossim_int32 theOverviewJpegCompressQuality
ossimPixelType
virtual bool execute()=0
virtual void disconnectInputEvent(ossimConnectionEvent &)
bool writeFile()
ossim_uint16 theOverviewCompressType
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex, const ossimConnectableObject *object) const =0
required to be overriden by derived classes
virtual void connectInputEvent(ossimConnectionEvent &)
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
ossimListener * theProgressListener
int ossim_int32
virtual bool removeListener(ossimListener *listener)