MrSID Decode SDK for Raster Reference Manual
9.1.0.4045
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_imageStage.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 LTI_IMAGESTAGE_H
14
#define LTI_IMAGESTAGE_H
15
16
// lt_lib_mrsid_core
17
#include "
lti_image.h
"
18
19
LT_BEGIN_NAMESPACE
(LizardTech)
20
21
28
class
LTIImageStage
: public
LTIImage
29
{
30
LTI_REFERENCE_COUNTED_BOILERPLATE_BASE
(
LTIImageStage
);
31
public
:
46
virtual
void
setProgressDelegate(
LTIProgressDelegate
* delegate) = 0;
47
61
virtual
LTIProgressDelegate
* getProgressDelegate()
const
= 0;
62
77
virtual
void
setInterruptDelegate(
LTIInterruptDelegate
* delegate) = 0;
78
92
virtual
LTIInterruptDelegate
* getInterruptDelegate()
const
= 0;
93
111
LT_STATUS
read(
const
LTIScene
& scene,
112
LTISceneBuffer
& buffer);
113
126
virtual
LT_STATUS
readBegin(
const
LTIPixel
&pixelProps,
127
const
LTIScene
&fullScene);
128
148
virtual
LT_STATUS
readStrip(
LTISceneBuffer
&buffer,
149
const
LTIScene
&stripScene);
150
161
virtual
LT_STATUS
readEnd();
162
174
virtual
lt_uint32
getStripHeight()
const
= 0;
175
188
virtual
LT_STATUS
setStripHeight(
lt_uint32
stripHeight) = 0;
189
201
virtual
lt_int64 getEncodingCost(
const
LTIScene
& scene)
const
= 0;
202
214
virtual
bool
getReaderScene(
const
LTIScene
&decodeScene,
215
LTIScene
&readerScene)
const
= 0;
216
225
lt_uint32
getNumStrips()
const
;
226
237
LTIScene
getStripScene(
lt_uint32
stripNumber)
const
;
238
247
virtual
LT_STATUS
overrideBackgroundPixel(
const
LTIPixel
*backgroundPixel) = 0;
248
258
virtual
LT_STATUS
overrideNoDataPixel(
const
LTIPixel
*nodataPixel) = 0;
259
268
virtual
LT_STATUS
overrideGeoCoord(
const
LTIGeoCoord
&geoCoord) = 0;
269
273
virtual
LT_STATUS
overrideDynamicRange(
const
LTIPixel
& drmin,
274
const
LTIPixel
& drmax) = 0;
275
279
virtual
LT_STATUS
overridePixelBPS(
lt_uint8
) = 0;
280
284
virtual
LT_STATUS
overridePixelLookupTable(
const
LTIPixelLookupTable
* pixelLookupTable) = 0;
285
289
virtual
LT_STATUS
overrideMetadata(
const
LTIMetadataDatabase
&metadata) = 0;
290
291
// for LizardTech internal use only
292
virtual
LTIMaskSource *getMask()
const
= 0;
293
virtual
bool
getPipelineInfo(
LTIPipelineInfo
info)
const
= 0;
294
protected
:
306
LT_STATUS
fillBackground(
const
LTIScene
& scene,
307
LTISceneBuffer
& buffer);
308
319
LT_STATUS
fillBackground(
const
LTIScene
&scene,
320
LTISceneBuffer
&buffer,
321
const
LTIPixel
&color);
322
323
bool
isBandSelected(
const
LTIPixel
&pixelProps)
const
;
338
virtual
LT_STATUS
decodeBegin(
const
LTIPixel
&pixelProps,
339
const
LTIScene
&fullScene) = 0;
340
355
virtual
LT_STATUS
decodeStrip(
LTISceneBuffer
&stripBuffer,
356
const
LTIScene
&stripScene) = 0;
357
370
virtual
LT_STATUS
decodeEnd(
void
) = 0;
371
380
const
LTIScene
&getFullScene()
const
;
381
382
private
:
386
LT_STATUS
validateReadRequest(
const
LTIPixel
&pixelProps,
387
const
LTIScene
&scene)
const
;
388
LT_STATUS
validateReadRequest(
const
LTISceneBuffer
&buffer,
389
const
LTIScene
&scene)
const
;
390
391
LT_STATUS
checkDelegates(
const
LTIScene
*,
bool
);
392
393
struct
StripMarcher;
394
StripMarcher* m_stripMarcher;
395
};
396
397
LT_END_NAMESPACE
(LizardTech)
398
399
#endif // LTI_IMAGESTAGE_H
LizardTech