MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
lti_pixelLookupTable.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_PIXELLOOKUPTABLE_H
00014 #define LTI_PIXELLOOKUPTABLE_H
00015 
00016 // lt_lib_mrsid_core
00017 #include "lti_pixel.h"
00018 
00019 
00020 LT_BEGIN_NAMESPACE(LizardTech)
00021 
00022 class LTISceneBuffer;
00023 
00024 
00031 class LTIPixelLookupTable : public LTIPixel
00032 {
00033 public:
00043    LTIPixelLookupTable(const LTIPixel& pixelProps,
00044                        lt_uint32 tableSize);
00045 
00049    LTIPixelLookupTable(const LTIPixelLookupTable&);
00050 
00054    ~LTIPixelLookupTable();
00055 
00063    lt_uint32 getTableSize() const;
00064 
00077    void setTableEntry(lt_uint32 index,
00078                       const LTIPixel& pixelData);
00079 
00090    void setTableEntries(const void* mapData);
00091 
00101    LTIPixel* getTableEntry(lt_uint32 index) const;
00102 
00109    const void* getTableEntries() const;
00110 
00111    LT_STATUS apply(const LTISceneBuffer &srcData, LTISceneBuffer &dstData) const;
00112 
00113 
00114 private:
00115    LT_STATUS init(const void* data);
00116 
00117    lt_uint32 m_tableSize;
00118 
00119    // for an RGB map, entry I is formed by: R=data[I], G=data[I+256], B=data[I+512]
00120    void* m_data;
00121 
00122    // nope
00123    LTIPixelLookupTable& operator=(const LTIPixelLookupTable&);
00124 };
00125 
00126 
00127 LT_END_NAMESPACE(LizardTech)
00128 
00129 #endif // LTI_PIXELLOOKUPTABLE_H