MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
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 
26 {
27  LTIOverrideMetadataData();
28  ~LTIOverrideMetadataData();
29 
30  LT_STATUS createMetadata(const LTIMetadataDatabase *metadata);
31  LTIMetadataDatabase &getMetadata();
32 
34 };
35 
36 
37 template<class BASE>
38 struct LTIOverrideMetadata : public BASE,
40 {
42  {
43  return *m_metadata;
44  }
45 
47  {
49  }
50 };
51 
54 
56 {
58 
72 
75 };
76 
77 template<class BASE>
78 struct LTIOverrideDimensions : public BASE,
80 
81 {
83  {
84  return m_width;
85  }
86 
88  {
89  return m_height;
90  }
91 };
92 
95 
97 {
100 
114  LT_STATUS setPixelProps(const LTIPixel& pixelProps);
116 
135  LT_STATUS setDynamicRange(const LTIPixel& drmin,
136  const LTIPixel& drmax);
137 
153 
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 
169  {
170  return *m_drminPixel;
171  }
172 
174  {
175  return *m_drmaxPixel;
176  }
177 
179  {
180  return setPixelBPS(bps);
181  }
182 
184  const LTIPixel& drmax)
185  {
186  return setDynamicRange(drmin, drmax);
187  }
188 };
189 
192 
194 {
197 
211  LT_STATUS setBackgroundPixel(const LTIPixel* backgroundPixel);
212 
226  LT_STATUS setNoDataPixel(const LTIPixel* nodataPixel);
227 
230 };
231 
232 
233 template<class BASE>
234 struct LTIOverrideBackgroundPixel : public BASE,
236 {
237 public:
239  {
240  return m_backgroundPixel;
241  }
242  const LTIPixel *getNoDataPixel() const
243  {
244  return m_nodataPixel;
245  }
246 
248  {
249  return setBackgroundPixel(backgroundPixel);
250  }
252  {
253  return setNoDataPixel(nodataPixel);
254  }
255 };
256 
259 
261 {
264 
277  LT_STATUS setGeoCoord(const LTIGeoCoord& geoCoord);
278 
295  LT_STATUS setDefaultGeoCoord(const LTIImage &image);
296 
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 
316  {
317  return setGeoCoord(geoCoord);
318  }
319 };
320 
323 
325 {
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,
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 
369 {
371 
385  void setIsSelective(bool enable);
386 
388 };
389 
390 template<class BASE>
391 struct LTIOverrideIsSelective : public BASE,
393 {
394  bool isSelective() const
395  {
396  return m_isSelective;
397  }
398 };
399 
402 
404 {
406 
408 };
409 
410 template<class BASE>
411 struct LTIOverrideStripHeight : public BASE,
413 {
415  {
416  return m_stripHeight;
417  }
418 
420  {
421  m_stripHeight = stripHeight;
422  return LT_STS_Success;
423  }
424 };
425 
428 
430 {
432 
435 };
436 
437 template<class BASE>
438 struct LTIOverrideDelegates : public BASE,
439  protected LTIOverrideDelegatesData
440 {
442  {
443  m_progressDelegate = delegate;
444  }
445 
447  {
448  return m_progressDelegate;
449  }
450 
452  {
453  m_interruptDelegate = delegate;
454  }
455 
457  {
458  return m_interruptDelegate;
459  }
460 };
461 
464 
466 {
469 
485  LT_STATUS setPixelLookupTable(const LTIPixelLookupTable* pixelLookupTable);
486 
488 };
489 
490 template<class BASE>
491 struct LTIOverridePixelLookupTables : public BASE,
493 {
495  {
496  return m_pixelLookupTable;
497  }
498 
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