Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Purpose: PCIDSK LUT segment interface class. 4 : * 5 : ****************************************************************************** 6 : * Copyright (c) 2015 7 : * PCI Geomatics, 90 Allstate Parkway, Markham, Ontario, Canada. 8 : * 9 : * SPDX-License-Identifier: MIT 10 : ****************************************************************************/ 11 : #ifndef INCLUDE_PCIDSK_LUT_H 12 : #define INCLUDE_PCIDSK_LUT_H 13 : 14 : #include <string> 15 : #include <vector> 16 : 17 : namespace PCIDSK 18 : { 19 : /************************************************************************/ 20 : /* PCIDSK_LUT */ 21 : /************************************************************************/ 22 : 23 : //! Interface to PCIDSK lookup table segment. 24 : 25 : class PCIDSK_DLL PCIDSK_LUT 26 : { 27 : public: 28 0 : virtual ~PCIDSK_LUT() {} 29 : 30 : /** 31 : \brief Read a LUT Segment (SEG_LUT). 32 : 33 : @param lut Lookup Table buffer (256 entries) into which the 34 : lookup table is read. It consists of grey output values (lut[0-255]. 35 : 36 : */ 37 : virtual void ReadLUT(std::vector<unsigned char>& lut) = 0; 38 : 39 : /** 40 : \brief Write a LUT Segment. 41 : 42 : @param lut Lookup Table buffer (256 entries) from which the 43 : lookup table is written. It consists of grey output values (lut[0-255]. 44 : 45 : */ 46 : virtual void WriteLUT(const std::vector<unsigned char>& lut) = 0; 47 : }; 48 : } // end namespace PCIDSK 49 : 50 : #endif // INCLUDE_PCIDSK_LUT_H