USGS

Isis 3.0 Developer's Reference (API)

Home

SurfaceModel.h

Go to the documentation of this file.
00001 #ifndef SurfaceModel_h
00002 #define SurfaceModel_h
00003 
00026 #include <vector>
00027 #include "PolynomialBivariate.h"
00028 #include "LeastSquares.h"
00029 
00030 namespace Isis {
00050   class SurfaceModel {
00051     public:
00052       SurfaceModel();
00053       ~SurfaceModel();
00054 
00055       void AddTriplet(const double x, const double y, const double z);
00056       void AddTriplets(const double *x, const double *y, const double *z,
00057                        const int n);
00058       void AddTriplets(const std::vector<double> &x,
00059                        const std::vector<double> &y,
00060                        const std::vector<double> &z);
00061 
00062       void Solve();
00063       double Evaluate(const double x, const double y);
00064 
00065       int MinMax(double &x, double &y);
00066 
00067     private:
00068       LeastSquares *p_lsq;
00069       PolynomialBivariate *p_poly2d;
00070   };
00071 };
00072 
00073 #endif