OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMrSidWriter.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Description: OSSIM MrSID writer class declaration.
8 //
9 //----------------------------------------------------------------------------
10 // $Id: ossimMrSidWriter.h 1256 2010-08-09 17:11:17Z ming.su $
11 
12 #ifndef ossimMrSidWriter_HEADER
13 #define ossimMrSidWriter_HEADER 1
14 
15 #ifdef OSSIM_ENABLE_MRSID_WRITE
16 
17 #include <iosfwd>
18 #include <vector>
19 
21 #include <ossim/base/ossimRefPtr.h>
22 #include <ossim/base/ossimString.h>
23 
24 //LizardTech Includes
25 #include <lti_rawImageReader.h>
26 #include <MG2ImageWriter.h>
27 #include <MG3ImageWriter.h>
28 
29 LT_USE_NAMESPACE(LizardTech);
30 
31 class ossimKeywordlist;
32 class ossimMapProjection;
33 
34 class MrSIDDummyImageReader : public LTIImageReader
35 {
36 public:
37 
38  MrSIDDummyImageReader(ossimRefPtr<ossimImageSourceSequencer> theInputConnection);
39  ~MrSIDDummyImageReader();
40  LT_STATUS initialize();
41  lt_int64 getPhysicalFileSize(void) const { return 0; };
42 
43 private:
45  LTIDataType sampleType;
46  LTIPixel* ltiPixel;
47 
48  virtual LT_STATUS decodeStrip( LTISceneBuffer& stripBuffer,
49  const LTIScene& stripScene );
50  virtual LT_STATUS decodeBegin( const LTIScene& scene )
51  { return LT_STS_Success; };
52  virtual LT_STATUS decodeEnd() { return LT_STS_Success; };
53  ossimString getWkt(ossimMapProjection* map_proj);
54 };
55 
56 class ossimMrSidWriter : public ossimImageFileWriter
57 {
58 public:
59 
61  ossimMrSidWriter();
62 
63  /* @brief virtual destructor */
64  virtual ~ossimMrSidWriter();
65 
67  virtual ossimString getShortName() const;
68 
70  virtual ossimString getLongName() const;
71 
73  virtual ossimString getClassName() const;
74 
84  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const;
85 
86  virtual bool isOpen()const;
87 
88  virtual bool open();
89 
90  virtual void close();
91 
95  virtual bool saveState(ossimKeywordlist& kwl,
96  const char* prefix=0)const;
97 
102  virtual bool loadState(const ossimKeywordlist& kwl,
103  const char* prefix=0);
104 
111  virtual void setProperty(ossimRefPtr<ossimProperty> property);
112 
118  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
119 
125  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
126 
135  virtual ossimString getExtension() const;
136 
137  bool hasImageType(const ossimString& imageType) const;
138 
144  virtual bool writeStream();
145 
146  void writeMetaDatabase(LTIMetadataDatabase& metadataDatabase);
147 
148 protected:
153  virtual bool writeFile();
154 
155  ossim_int32 m_fileSize;
156  bool m_makeWorldFile;
157 
158  TYPE_DATA
159 };
160 
161 #endif /* #ifdef OSSIM_ENABLE_MRSID_WRITE */
162 
163 #endif /* #ifndef ossimMrSidWriter_HEADER */
virtual void close()=0
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...
virtual bool writeFile()=0
Write out the file.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimString getClassName() const
Definition: ossimObject.cpp:64
Pure virtual base class for image file writers.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const =0
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual bool writeStream()
Method to write the image to a stream.
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
virtual bool isOpen() const =0
LT_USE_NAMESPACE(LizardTech)
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual bool open()=0
int ossim_int32