MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lti_rawImageReader.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 LTIRAWIMAGEREADER_H
14 #define LTIRAWIMAGEREADER_H
15
16 // lt_lib_mrsid_core
17 #include "lti_geoImageReader.h"
18
19
20 LT_BEGIN_NAMESPACE(LizardTech)
21
22
23
30 class LTIRawImageReader : public LTIGeoImageReader
31 {
32 LTI_REFERENCE_COUNTED_BOILERPLATE(LTIRawImageReader);
33 public:
47 LT_STATUS initialize(LTIOStreamInf* stream,
48 const LTIPixel& pixelProps,
49 lt_uint32 width,
50 lt_uint32 height,
51 bool useWorldFile = true);
52
66 LT_STATUS initialize(const LTFileSpec& fileSpec,
67 const LTIPixel& pixelProps,
68 lt_uint32 width,
69 lt_uint32 height,
70 bool useWorldFile = true);
71
85 LT_STATUS initialize(const char* file,
86 const LTIPixel& pixelProps,
87 lt_uint32 width,
88 lt_uint32 height,
89 bool useWorldFile = true);
90
91
99
114 void setStreamOwnership(bool takeOwnership);
115
130 void setRowBytes(lt_uint32 rowBytes);
131
143 void setLayout(LTILayout layout);
144
159 void setSkipBytes(lt_int64 leadingBytes, lt_int64 trailingBytes = 0);
160
170 void setByteOrder(LTIEndian byteOrder);
171
174 protected:
175 LT_STATUS decodeBegin(const LTIPixel &pixelProps,
176 const LTIScene &fullScene);
177 LT_STATUS decodeStrip(LTISceneBuffer &stripBuffer,
178 const LTIScene &stripScene);
179 LT_STATUS decodeEnd(void);
180
181 const char *getSourceName(void) const;
182
183 protected:
184 LTFileSpec* m_fileSpec;
185
186 private:
187 LTIOStreamInf* m_stream;
188 bool m_ownsStream;
189 lt_int64 m_fileSize;
190 lt_uint32 m_rowBytes;
191 LTILayout m_layout;
192 lt_int64 m_leadingSkipBytes;
193 lt_int64 m_trailingSkipBytes;
194 LTIEndian m_byteOrder;
195
196 };
197
198
199 LT_END_NAMESPACE(LizardTech)
200
201
202 #endif // LTIRAWIMAGEREADER_H

LizardTech