MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
|
00001 /* $Id$ */ 00002 /* ////////////////////////////////////////////////////////////////////////// 00003 // // 00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, // 00005 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00006 // prohibited. Access to and use of this code is permitted only under // 00007 // license from LizardTech, Inc. Portions of the code are protected by // 00008 // US and foreign patents and other filings. All Rights Reserved. // 00009 // // 00011 /* PUBLIC */ 00012 00013 #ifndef LTI_IMAGE_READER_H 00014 #define LTI_IMAGE_READER_H 00015 00016 // lt_lib_mrsid_core 00017 #include "lti_imageStage.h" 00018 #include "lti_imageStageOverrides.h" 00019 00020 00021 LT_BEGIN_NAMESPACE(LizardTech) 00022 00023 00030 #ifdef SWIG 00031 class LTIImageReader : public LTIImageStage 00032 #else 00033 class LTIImageReader : public LTIOverrideDimensions 00034 <LTIOverridePixelProps 00035 <LTIOverrideBackgroundPixel 00036 <LTIOverrideGeoCoord 00037 <LTIOverrideMagnification 00038 <LTIOverrideIsSelective 00039 <LTIOverrideStripHeight 00040 <LTIOverrideDelegates 00041 <LTIOverridePixelLookupTables 00042 <LTIOverrideMetadata 00043 <LTIImageStage> > > > > > > > > > 00044 #endif 00045 { 00046 LT_DISALLOW_COPY_CONSTRUCTOR(LTIImageReader); 00047 public: 00048 // LTIImage 00049 LT_STATUS getDimsAtMag(double mag, 00050 lt_uint32& width, 00051 lt_uint32& height) const; 00052 00053 virtual LTIMaskSource *getMask() const; 00054 virtual bool getPipelineInfo(LTIPipelineInfo info) const; 00055 00056 // LTIImageStage 00057 00058 lt_int64 getEncodingCost(const LTIScene& scene) const; 00059 bool getReaderScene(const LTIScene &decodeScene, 00060 LTIScene &readerScene) const; 00061 virtual lt_uint32 getModifications(const LTIScene &scene) const; 00062 00063 // override too support ImageReaders that don't support band selection 00064 LT_STATUS readBegin(const LTIPixel &pixelProps, const LTIScene &fullScene); 00065 LT_STATUS readStrip(LTISceneBuffer &buffer, const LTIScene &stripScene); 00066 LT_STATUS readEnd(void); 00067 00068 protected: 00069 LTIImageReader(bool supportBandSelection); 00070 00071 LT_STATUS init(const LTIImage *image = NULL); 00072 00073 00074 LT_STATUS loadMetadataIntoObjects(const LTIMetadataDatabase &fileMetadata, 00075 LTIPixel &pixelProps, 00076 bool updatePixelProps, 00077 bool updateGeoCoord); 00078 virtual const char *getSourceName(void) const = 0; 00079 00080 protected: 00081 const bool m_supportBandSelection; 00082 }; 00083 00084 00085 LT_END_NAMESPACE(LizardTech) 00086 00087 00088 #endif // LTI_IMAGE_READER_H