Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Purpose: Interface representing access to a PCIDSK Polynomial Segment 4 : * 5 : ****************************************************************************** 6 : * Copyright (c) 2009 7 : * PCI Geomatics, 90 Allstate Parkway, Markham, Ontario, Canada. 8 : * 9 : * SPDX-License-Identifier: MIT 10 : ****************************************************************************/ 11 : #ifndef INCLUDE_PCIDSK_PCIDSK_POLY_H 12 : #define INCLUDE_PCIDSK_PCIDSK_POLY_H 13 : 14 : #include <vector> 15 : #include <string> 16 : 17 : namespace PCIDSK { 18 : //! Interface to PCIDSK Polynomial segment. 19 : class PCIDSKPolySegment 20 : { 21 : public: 22 : //Get the coefficients 23 : virtual std::vector<double> GetXForwardCoefficients() const=0; 24 : virtual std::vector<double> GetYForwardCoefficients() const=0; 25 : virtual std::vector<double> GetXBackwardCoefficients() const=0; 26 : virtual std::vector<double> GetYBackwardCoefficients() const=0; 27 : 28 : //Set the coefficients 29 : virtual void SetCoefficients(const std::vector<double>& oXForward, 30 : const std::vector<double>& oYForward, 31 : const std::vector<double>& oXBackward, 32 : const std::vector<double>& oYBackward) =0; 33 : 34 : // Get the number of lines 35 : virtual unsigned int GetLines() const=0; 36 : // Get the number of pixels 37 : virtual unsigned int GetPixels() const=0; 38 : // Set the number of lines/pixels 39 : virtual void SetRasterSize(unsigned int nLines,unsigned int nPixels) =0; 40 : 41 : // Get the Geosys String 42 : virtual std::string GetGeosysString() const=0; 43 : // Set the Geosys string 44 : virtual void SetGeosysString(const std::string& oGeosys) =0; 45 : 46 : //Get the projection information 47 : virtual std::vector<double> GetProjParamInfo() const=0; 48 : //Set the projection information 49 : virtual void SetProjParamInfo(const std::vector<double>& oInfo) =0; 50 : 51 : // Virtual destructor 52 0 : virtual ~PCIDSKPolySegment() {} 53 : }; 54 : } 55 : 56 : #endif // INCLUDE_PCIDSK_PCIDSK_POLY_H