MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_imageStageOverrides.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_IMAGE_STAGE_OVERRIDES_H
14
#define LTI_IMAGE_STAGE_OVERRIDES_H
15
16
// lt_lib_mrsid_core
17
#include "
lti_types.h
"
18
19
LT_BEGIN_NAMESPACE
(LizardTech)
20
21
22
25
struct
LTIOverrideMetadataData
26
{
27
LTIOverrideMetadataData();
28
~LTIOverrideMetadataData();
29
30
LT_STATUS
createMetadata(
const
LTIMetadataDatabase
*metadata);
31
LTIMetadataDatabase
&getMetadata();
32
33
LTIMetadataDatabase
*
m_metadata
;
34
};
35
36
37
template
<
class
BASE>
38
struct
LTIOverrideMetadata
:
public
BASE,
39
protected
LTIOverrideMetadataData
40
{
41
const
LTIMetadataDatabase
&
getMetadata
()
const
42
{
43
return
*
m_metadata
;
44
}
45
46
LT_STATUS
overrideMetadata
(
const
LTIMetadataDatabase
&metadata)
47
{
48
return
LTIOverrideMetadataData::createMetadata
(&metadata);
49
}
50
};
51
54
55
struct
LTIOverrideDimensionsData
56
{
57
LTIOverrideDimensionsData
();
58
71
LT_STATUS
setDimensions
(
lt_uint32
width,
lt_uint32
height);
72
73
lt_uint32
m_width
;
74
lt_uint32
m_height
;
75
};
76
77
template
<
class
BASE>
78
struct
LTIOverrideDimensions
:
public
BASE,
79
protected
LTIOverrideDimensionsData
80
81
{
82
lt_uint32
getWidth
()
const
83
{
84
return
m_width
;
85
}
86
87
lt_uint32
getHeight
()
const
88
{
89
return
m_height
;
90
}
91
};
92
95
96
struct
LTIOverridePixelPropsData
97
{
98
LTIOverridePixelPropsData
();
99
~LTIOverridePixelPropsData
();
100
114
LT_STATUS
setPixelProps
(
const
LTIPixel
& pixelProps);
115
LT_STATUS
setPixelBPS
(
lt_uint8
bps);
116
135
LT_STATUS
setDynamicRange
(
const
LTIPixel
& drmin,
136
const
LTIPixel
& drmax);
137
152
LT_STATUS
setDefaultDynamicRange
(
void
);
153
154
LTIPixel
*
m_pixelProps
;
155
LTIPixel
*
m_drminPixel
;
156
LTIPixel
*
m_drmaxPixel
;
157
};
158
159
template
<
class
BASE>
160
struct
LTIOverridePixelProps
:
public
BASE,
161
protected
LTIOverridePixelPropsData
162
{
163
const
LTIPixel
&
getPixelProps
()
const
164
{
165
return
*
m_pixelProps
;
166
}
167
168
const
LTIPixel
&
getMinDynamicRange
()
const
169
{
170
return
*
m_drminPixel
;
171
}
172
173
const
LTIPixel
&
getMaxDynamicRange
()
const
174
{
175
return
*
m_drmaxPixel
;
176
}
177
178
LT_STATUS
overridePixelBPS
(
lt_uint8
bps)
179
{
180
return
setPixelBPS
(bps);
181
}
182
183
LT_STATUS
overrideDynamicRange
(
const
LTIPixel
& drmin,
184
const
LTIPixel
& drmax)
185
{
186
return
setDynamicRange
(drmin, drmax);
187
}
188
};
189
192
193
struct
LTIOverrideBackgroundPixelData
194
{
195
LTIOverrideBackgroundPixelData
();
196
~LTIOverrideBackgroundPixelData
();
197
211
LT_STATUS
setBackgroundPixel
(
const
LTIPixel
* backgroundPixel);
212
226
LT_STATUS
setNoDataPixel
(
const
LTIPixel
* nodataPixel);
227
228
LTIPixel
*
m_backgroundPixel
;
229
LTIPixel
*
m_nodataPixel
;
230
};
231
232
233
template
<
class
BASE>
234
struct
LTIOverrideBackgroundPixel
:
public
BASE,
235
protected
LTIOverrideBackgroundPixelData
236
{
237
public
:
238
const
LTIPixel
*
getBackgroundPixel
()
const
239
{
240
return
m_backgroundPixel
;
241
}
242
const
LTIPixel
*
getNoDataPixel
()
const
243
{
244
return
m_nodataPixel
;
245
}
246
247
LT_STATUS
overrideBackgroundPixel
(
const
LTIPixel
*backgroundPixel)
248
{
249
return
setBackgroundPixel
(backgroundPixel);
250
}
251
LT_STATUS
overrideNoDataPixel
(
const
LTIPixel
*nodataPixel)
252
{
253
return
setNoDataPixel
(nodataPixel);
254
}
255
};
256
259
260
struct
LTIOverrideGeoCoordData
261
{
262
LTIOverrideGeoCoordData
();
263
~LTIOverrideGeoCoordData
();
264
277
LT_STATUS
setGeoCoord
(
const
LTIGeoCoord
& geoCoord);
278
295
LT_STATUS
setDefaultGeoCoord
(
const
LTIImage
&image);
296
297
LTIGeoCoord
*
m_geoCoord
;
298
bool
m_geoCoordImplicit
;
299
};
300
301
template
<
class
BASE>
302
struct
LTIOverrideGeoCoord
:
public
BASE,
303
protected
LTIOverrideGeoCoordData
304
{
305
const
LTIGeoCoord
&
getGeoCoord
()
const
306
{
307
return
*
m_geoCoord
;
308
}
309
310
bool
isGeoCoordImplicit
()
const
311
{
312
return
m_geoCoordImplicit
;
313
}
314
315
LT_STATUS
overrideGeoCoord
(
const
LTIGeoCoord
&geoCoord)
316
{
317
return
setGeoCoord
(geoCoord);
318
}
319
};
320
323
324
struct
LTIOverrideMagnificationData
325
{
326
LTIOverrideMagnificationData
();
327
343
LT_STATUS
setMagnification
(
double
minMag,
344
double
maxMag);
345
346
double
m_minMag
;
347
double
m_maxMag
;
348
};
349
350
template
<
class
BASE>
351
struct
LTIOverrideMagnification
:
public
BASE,
352
protected
LTIOverrideMagnificationData
353
{
354
double
getMinMagnification
()
const
355
{
356
return
m_minMag
;
357
}
358
359
double
getMaxMagnification
()
const
360
{
361
return
m_maxMag
;
362
}
363
};
364
367
368
struct
LTIOverrideIsSelectiveData
369
{
370
LTIOverrideIsSelectiveData
();
371
385
void
setIsSelective
(
bool
enable);
386
387
bool
m_isSelective
;
388
};
389
390
template
<
class
BASE>
391
struct
LTIOverrideIsSelective
:
public
BASE,
392
protected
LTIOverrideIsSelectiveData
393
{
394
bool
isSelective
()
const
395
{
396
return
m_isSelective
;
397
}
398
};
399
402
403
struct
LTIOverrideStripHeightData
404
{
405
LTIOverrideStripHeightData
();
406
407
lt_uint32
m_stripHeight
;
408
};
409
410
template
<
class
BASE>
411
struct
LTIOverrideStripHeight
:
public
BASE,
412
protected
LTIOverrideStripHeightData
413
{
414
lt_uint32
getStripHeight
()
const
415
{
416
return
m_stripHeight
;
417
}
418
419
LT_STATUS
setStripHeight
(
lt_uint32
stripHeight)
420
{
421
m_stripHeight
= stripHeight;
422
return
LT_STS_Success
;
423
}
424
};
425
428
429
struct
LTIOverrideDelegatesData
430
{
431
LTIOverrideDelegatesData
();
432
433
LTIProgressDelegate
*
m_progressDelegate
;
434
LTIInterruptDelegate
*
m_interruptDelegate
;
435
};
436
437
template
<
class
BASE>
438
struct
LTIOverrideDelegates
:
public
BASE,
439
protected
LTIOverrideDelegatesData
440
{
441
void
setProgressDelegate
(
LTIProgressDelegate
* delegate)
442
{
443
m_progressDelegate
= delegate;
444
}
445
446
LTIProgressDelegate
*
getProgressDelegate
()
const
447
{
448
return
m_progressDelegate
;
449
}
450
451
void
setInterruptDelegate
(
LTIInterruptDelegate
* delegate)
452
{
453
m_interruptDelegate
= delegate;
454
}
455
456
LTIInterruptDelegate
*
getInterruptDelegate
()
const
457
{
458
return
m_interruptDelegate
;
459
}
460
};
461
464
465
struct
LTIOverridePixelLookupTablesData
466
{
467
LTIOverridePixelLookupTablesData
();
468
~LTIOverridePixelLookupTablesData
();
469
485
LT_STATUS
setPixelLookupTable
(
const
LTIPixelLookupTable
* pixelLookupTable);
486
487
LTIPixelLookupTable
*
m_pixelLookupTable
;
488
};
489
490
template
<
class
BASE>
491
struct
LTIOverridePixelLookupTables
:
public
BASE,
492
protected
LTIOverridePixelLookupTablesData
493
{
494
const
LTIPixelLookupTable
*
getPixelLookupTable
()
const
495
{
496
return
m_pixelLookupTable
;
497
}
498
499
LT_STATUS
overridePixelLookupTable
(
const
LTIPixelLookupTable
* pixelLookupTable)
500
{
501
return
setPixelLookupTable
(pixelLookupTable);
502
}
503
};
504
505
508
511
514
515
LT_END_NAMESPACE
(LizardTech)
516
517
518
#endif // LTI_IMAGE_STAGE_OVERRIDES_H
LizardTech