MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
TIFFImageWriter.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef TIFFIMAGEWRITER_H
14 #define TIFFIMAGEWRITER_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_geoFileImageWriter.h"
18 
19 struct tiff;
20 
21 
23 
24 #if defined(LT_COMPILER_MS)
25  #pragma warning(push,4)
26 #endif
27 
28 class LTReusableBuffer;
29 
36 {
37  LT_DISALLOW_COPY_CONSTRUCTOR(TIFFImageWriter);
38 public:
46  TIFFImageWriter(bool writeGeoTIFF = false);
47 
48  virtual ~TIFFImageWriter();
50 
59  void setWriteResolution(bool enable);
60 
66  void setAllowWritingBigTIFF(bool allowBigTIFF);
72  void setForceWritingBigTIFF(bool forceBigTIFF);
73 
74  LT_STATUS writeBegin(const LTIScene& scene);
75  LT_STATUS writeStrip(LTISceneBuffer& stripBuffer, const LTIScene& stripScene);
77 
78 private:
79  static LT_STATUS getLibtiffError(void);
80 
81  struct tiff *m_tiff;
82  bool m_writeResolution;
83  bool m_writeGeoTIFF;
84  bool m_allowBigTIFF;
85  bool m_forceBigTIFF;
86 
87  long m_currentRow;
88  lt_int32 m_compression;
89  LTReusableBuffer* m_stripBuffer;
90 };
91 
92 
94 
95 #if defined(LT_COMPILER_MS)
96  #pragma warning(pop)
97 #endif
98 
99 #endif // TIFFIMAGEWRITER_H
virtual ~TIFFImageWriter()
LT_STATUS writeEnd()
complete an encode (write) operation
representation of a scene
Definition: lti_scene.h:64
LT_STATUS writeBegin(const LTIScene &scene)
begin an encode (write) operation
class for writing geographic images to files or streams
TIFFImageWriter(bool writeGeoTIFF=false)
constructor
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
signed int lt_int32
signed 32-bit integer
Definition: lt_types.h:52
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
writes an image stage to a TIFF file
class to hold data passed between image stages
LT_STATUS initialize(LTIImageStage *image)
void setWriteResolution(bool enable)
Output resolution information.
LT_STATUS writeStrip(LTISceneBuffer &stripBuffer, const LTIScene &stripScene)
encode one strip of the scene
abstract class for decoding from an image
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
void setAllowWritingBigTIFF(bool allowBigTIFF)
Write a BigTIFF if the the scene may produce a file greater than 4GB.
void setForceWritingBigTIFF(bool forceBigTIFF)
Write a BigTIFF.

LizardTech