MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
lti_image.h
Go to the documentation of this file.
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