MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
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 
79  void setEndian(LTIEndian value);
80 
81 private:
82  static LT_STATUS getLibtiffError(void);
83 
84  struct tiff *m_tiff;
85  LTIEndian m_endian;
86 
87  bool m_writeResolution;
88  bool m_writeGeoTIFF;
89  bool m_allowBigTIFF;
90  bool m_forceBigTIFF;
91 
92  long m_currentRow;
93  lt_int32 m_compression;
94  LTReusableBuffer* m_stripBuffer;
95 };
96 
97 
99 
100 #if defined(LT_COMPILER_MS)
101  #pragma warning(pop)
102 #endif
103 
104 #endif // TIFFIMAGEWRITER_H
LT_STATUS writeStrip(LTISceneBuffer &stripBuffer, const LTIScene &stripScene)
encode one strip of the scene
void setForceWritingBigTIFF(bool forceBigTIFF)
Write a BigTIFF.
void setEndian(LTIEndian value)
TIFFImageWriter(bool writeGeoTIFF=false)
constructor
LT_STATUS writeEnd()
complete an encode (write) operation
void setAllowWritingBigTIFF(bool allowBigTIFF)
Write a BigTIFF if the the scene may produce a file greater than 4GB.
representation of a scene
Definition: lti_scene.h:64
class for writing geographic images to files or streams
virtual ~TIFFImageWriter()
LT_STATUS writeBegin(const LTIScene &scene)
begin an encode (write) operation
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
writes an image stage to a TIFF file
LTIEndian
constants representing endianness (byte order)
Definition: lti_types.h:164
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
LT_STATUS initialize(LTIImageStage *image)
class to hold data passed between image stages
void setWriteResolution(bool enable)
Output resolution information.
abstract class for decoding from an image
signed int lt_int32
signed 32-bit integer
Definition: lt_types.h:52
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85

LizardTech