MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
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
LTIMetadataDatabase * m_metadata
#define LT_STS_Success
status code indicating success
Definition: lt_status.h:52
LT_STATUS overrideDynamicRange(const LTIPixel &drmin, const LTIPixel &drmax)
LT_STATUS setStripHeight(lt_uint32 stripHeight)
LT_STATUS setBackgroundPixel(const LTIPixel *backgroundPixel)
set the background color of the image
LT_STATUS setNoDataPixel(const LTIPixel *nodataPixel)
set the &quot;no data&quot; (transparency) color of the image
LT_STATUS overrideNoDataPixel(const LTIPixel *nodataPixel)
LT_STATUS setDefaultDynamicRange(void)
set the dynamic range of the image
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
lt_uint32 getStripHeight() const
LT_STATUS createMetadata(const LTIMetadataDatabase *metadata)
LT_STATUS setDefaultGeoCoord(const LTIImage &image)
set the geographic coordinates of the image
represents a geographic coordinate
Definition: lti_geoCoord.h:32
const LTIPixel & getMaxDynamicRange() const
const LTIPixel * getBackgroundPixel() const
LTIInterruptDelegate * m_interruptDelegate
LT_STATUS setPixelLookupTable(const LTIPixelLookupTable *pixelLookupTable)
set the color lookup table
color lookup table
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
LT_STATUS overridePixelLookupTable(const LTIPixelLookupTable *pixelLookupTable)
LTIProgressDelegate * getProgressDelegate() const
const LTIPixel & getPixelProps() const
LT_STATUS setMagnification(double minMag, double maxMag)
set the minimum and maximum magnifications of the image properties
LTIInterruptDelegate * getInterruptDelegate() const
LT_STATUS setGeoCoord(const LTIGeoCoord &geoCoord)
set the geographic coordinates of the image
const LTIPixel * getNoDataPixel() const
void setInterruptDelegate(LTIInterruptDelegate *delegate)
LT_STATUS overridePixelBPS(lt_uint8 bps)
class for storing metadata associated with an image
void setProgressDelegate(LTIProgressDelegate *delegate)
basic properties of a pixel
Definition: lti_pixel.h:36
void setIsSelective(bool enable)
set image to support &quot;random access&quot;
lt_uint32 getHeight() const
LTIProgressDelegate * m_progressDelegate
const LTIMetadataDatabase & getMetadata() const
abstract class representing an image
Definition: lti_image.h:32
LT_STATUS overrideBackgroundPixel(const LTIPixel *backgroundPixel)
This file contains a number of enums, typedefs, etc, that are used throughout the MrSID SDK...
LT_STATUS setDimensions(lt_uint32 width, lt_uint32 height)
set width and height of the image
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
LT_STATUS setDynamicRange(const LTIPixel &drmin, const LTIPixel &drmax)
set the dynamic range of the image
LT_STATUS overrideMetadata(const LTIMetadataDatabase &metadata)
LT_STATUS setPixelProps(const LTIPixel &pixelProps)
set pixel properties of the image
interrupt delegate (callback) base class
Definition: lti_delegates.h:39
unsigned char lt_uint8
unsigned 8-bit integer
Definition: lt_types.h:46
const LTIGeoCoord & getGeoCoord() const
const LTIPixelLookupTable * getPixelLookupTable() const
LT_STATUS overrideGeoCoord(const LTIGeoCoord &geoCoord)
const LTIPixel & getMinDynamicRange() const
progress delegate (callback) base class
Definition: lti_delegates.h:72
LT_STATUS setPixelBPS(lt_uint8 bps)

LizardTech