Isis 3.0 Developer's Reference (API) |
Home |
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