00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __INCLUDE_PCIDSK_PCIDSK_RPC_H
00028 #define __INCLUDE_PCIDSK_PCIDSK_RPC_H
00029
00030 #include <vector>
00031 #include <string>
00032
00033 namespace PCIDSK {
00035 class PCIDSKRPCSegment
00036 {
00037 public:
00038
00039
00040 virtual std::vector<double> GetXNumerator(void) const = 0;
00041 virtual std::vector<double> GetXDenominator(void) const = 0;
00042 virtual std::vector<double> GetYNumerator(void) const = 0;
00043 virtual std::vector<double> GetYDenominator(void) const = 0;
00044
00045
00046 virtual void SetCoefficients(const std::vector<double>& xnum,
00047 const std::vector<double>& xdenom, const std::vector<double>& ynum,
00048 const std::vector<double>& ydenom) = 0;
00049
00050
00051 virtual void GetRPCTranslationCoeffs(double& xoffset, double& xscale,
00052 double& yoffset, double& yscale, double& zoffset, double& zscale,
00053 double& pixoffset, double& pixscale, double& lineoffset, double& linescale) const = 0;
00054
00055
00056 virtual void SetRPCTranslationCoeffs(const double xoffset, const double xscale,
00057 const double yoffset, const double yscale,
00058 const double zoffset, const double zscale,
00059 const double pixoffset, const double pixscale,
00060 const double lineoffset, const double linescale) = 0;
00061
00062
00063 virtual std::vector<double> GetAdjXValues(void) const = 0;
00064
00065 virtual std::vector<double> GetAdjYValues(void) const = 0;
00066
00067
00068 virtual void SetAdjCoordValues(const std::vector<double>& xcoord,
00069 const std::vector<double>& ycoord) = 0;
00070
00071
00072 virtual bool IsUserGenerated(void) const = 0;
00073
00074 virtual void SetUserGenerated(bool usergen) = 0;
00075
00076
00077 virtual bool IsNominalModel(void) const = 0;
00078
00079 virtual void SetIsNominalModel(bool nominal) = 0;
00080
00081
00082 virtual std::string GetSensorName(void) const = 0;
00083
00084 virtual void SetSensorName(const std::string& name) = 0;
00085
00086
00087
00088 virtual std::string GetGeosysString(void) const = 0;
00089
00090 virtual void SetGeosysString(const std::string& geosys) = 0;
00091
00092
00093 virtual unsigned int GetLines(void) const = 0;
00094
00095
00096 virtual unsigned int GetPixels(void) const = 0;
00097
00098
00099 virtual void SetRasterSize(const unsigned int lines, const unsigned int pixels) = 0;
00100
00101
00102
00103
00104 virtual ~PCIDSKRPCSegment() {}
00105 };
00106 }
00107
00108 #endif // __INCLUDE_PCIDSK_PCIDSK_RPC_H