MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
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 
00090    LTIColorSpace getColorSpace() const;
00091 
00102    LTIDataType getDataType() const;
00103 
00112    virtual const LTIPixel& getPixelProps() const = 0;
00113 
00123    virtual const LTIPixel* getBackgroundPixel() const = 0;
00124 
00134    virtual const LTIPixel* getNoDataPixel() const = 0;
00135 
00145    virtual const LTIPixelLookupTable* getPixelLookupTable() const = 0;
00146 
00155    virtual const LTIPixel &getMinDynamicRange() const = 0;
00156 
00165    virtual const LTIPixel &getMaxDynamicRange() const = 0;
00166 
00175    bool isNaturalDynamicRange() const;
00187    virtual const LTIGeoCoord& getGeoCoord() const = 0;
00188 
00197    virtual bool isGeoCoordImplicit() const = 0;
00198 
00207    virtual const LTIMetadataDatabase &getMetadata() const = 0;
00208 
00219    virtual double getMinMagnification() const = 0;
00220 
00231    virtual double getMaxMagnification() const = 0;
00232    
00244    virtual bool isSelective() const = 0;
00245 
00255    virtual lt_uint32 getModifications(const LTIScene &scene) const = 0;
00256    
00272    lt_int64 getNominalImageSizeWithoutAlpha() const;
00273 
00289    lt_int64 getNominalImageSizeWithAlpha() const;
00290 
00300    void getGeoPoint(LTIPosition position, double& x, double& y) const;
00301 
00314    LTIPixel* createBackgroundPixel() const;
00315 };
00316 
00317 LT_END_NAMESPACE(LizardTech)
00318 
00319 #endif // LTI_IMAGE_H