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_BLUT_H 12 : #define INCLUDE_PCIDSK_BLUT_H 13 : 14 : #include <string> 15 : #include <vector> 16 : #include <utility> 17 : 18 : namespace PCIDSK 19 : { 20 : typedef std::pair<double, double> BLUTEntry; 21 : /************************************************************************/ 22 : /* PCIDSK_LUT */ 23 : /************************************************************************/ 24 : 25 : //! Interface to PCIDSK pseudo-color segment. 26 : 27 : class PCIDSK_DLL PCIDSK_BLUT 28 : { 29 : public: 30 0 : virtual ~PCIDSK_BLUT() {} 31 : 32 : /** 33 : \brief Read a LUT Segment (SEG_BLUT). 34 : 35 : @param vBLUT Breakpoint Pseudo-Color Table buffer into which the breakpoint 36 : pseudo-color table is read. It consists of a vector of BLUTEntry. 37 : 38 : */ 39 : virtual void ReadBLUT(std::vector<BLUTEntry>& vBLUT) = 0; 40 : 41 : /** 42 : \brief Write a BLUT Segment. 43 : 44 : @param vBLUT Breakpoint Pseudo-Color Table buffer from which the breakpoint 45 : pseudo-color table is written. It consists of a vector of BLUTEntry. 46 : 47 : */ 48 : virtual void WriteBLUT(const std::vector<BLUTEntry>& vBLUT) = 0; 49 : }; 50 : } // end namespace PCIDSK 51 : 52 : #endif // INCLUDE_PCIDSK_BLUT_H