MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
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_H 00014 #define LTI_IMAGE_H 00015 00016 // lt_lib_mrsid_core 00017 #include "lti_types.h" 00018 #include "lti_referenceCountedObject.h" 00019 00020 00021 LT_BEGIN_NAMESPACE(LizardTech) 00022 00023 00032 class LTIImage : public LTIReferenceCountedObject 00033 { 00034 LTI_REFERENCE_COUNTED_BOILERPLATE_BASE(LTIImage); 00035 public: 00043 virtual lt_uint32 getWidth() const = 0; 00044 00052 virtual lt_uint32 getHeight() const = 0; 00053 00065 virtual LT_STATUS getDimsAtMag(double mag, 00066 lt_uint32 &width, 00067 lt_uint32 &height) const = 0; 00068 00079 lt_uint16 getNumBands() const; 00080 00091 lt_uint16 getNumBandsWithoutAlpha() const; 00092 00102 LTIColorSpace getColorSpace() const; 00103 00114 LTIDataType getDataType() const; 00115 00124 virtual const LTIPixel& getPixelProps() const = 0; 00125 00135 virtual const LTIPixel* getBackgroundPixel() const = 0; 00136 00146 virtual const LTIPixel* getNoDataPixel() const = 0; 00147 00157 virtual const LTIPixelLookupTable* getPixelLookupTable() const = 0; 00158 00167 virtual const LTIPixel &getMinDynamicRange() const = 0; 00168 00177 virtual const LTIPixel &getMaxDynamicRange() const = 0; 00178 00187 bool isNaturalDynamicRange() const; 00199 virtual const LTIGeoCoord& getGeoCoord() const = 0; 00200 00209 virtual bool isGeoCoordImplicit() const = 0; 00210 00219 virtual const LTIMetadataDatabase &getMetadata() const = 0; 00220 00231 virtual double getMinMagnification() const = 0; 00232 00243 virtual double getMaxMagnification() const = 0; 00244 00256 virtual bool isSelective() const = 0; 00257 00267 virtual lt_uint32 getModifications(const LTIScene &scene) const = 0; 00268 00269 00280 virtual LT_STATUS getMetadataBlob(const char *type, LTIOStreamInf *&stream) const = 0; 00281 00282 00298 lt_int64 getNominalImageSizeWithoutAlpha() const; 00299 00315 lt_int64 getNominalImageSizeWithAlpha() const; 00316 00326 void getGeoPoint(LTIPosition position, double& x, double& y) const; 00327 00340 LTIPixel* createBackgroundPixel() const; 00341 }; 00342 00343 LT_END_NAMESPACE(LizardTech) 00344 00345 #endif // LTI_IMAGE_H