MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
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 
31 {
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:
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
class to hold data passed between image stages
abstract class for implementing a geo image reader
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
representation of a scene
Definition: lti_scene.h:64
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
Represents a file or directory path.
Definition: lt_fileSpec.h:33
LTILayout
constants representing data layout
Definition: lti_types.h:152
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
Abstract definition of a stream.
LTIEndian
constants representing endianness (byte order)
Definition: lti_types.h:164
basic properties of a pixel
Definition: lti_pixel.h:36
class for reading RAW files
#define LTI_REFERENCE_COUNTED_BOILERPLATE(classname)

LizardTech