Isis 3.0 Programmer Reference
Back | Home
SurfaceModel.h
Go to the documentation of this file.
1 #ifndef SurfaceModel_h
2 #define SurfaceModel_h
3 
26 #include <vector>
27 #include "PolynomialBivariate.h"
28 #include "LeastSquares.h"
29 
30 namespace Isis {
50  class SurfaceModel {
51  public:
52  SurfaceModel();
53  ~SurfaceModel();
54 
55  void AddTriplet(const double x, const double y, const double z);
56  void AddTriplets(const double *x, const double *y, const double *z,
57  const int n);
58  void AddTriplets(const std::vector<double> &x,
59  const std::vector<double> &y,
60  const std::vector<double> &z);
61 
62  void Solve();
63  double Evaluate(const double x, const double y);
64 
65  int MinMax(double &x, double &y);
66 
67  private:
68  LeastSquares *p_lsq;
69  PolynomialBivariate *p_poly2d;
70  };
71 };
72 
73 #endif
int MinMax(double &x, double &y)
After invoking Solve, a coordinate (x,y) at a local minimum (or maximum) of the surface model can be ...
Nth degree Polynomial with two variables.
void Solve()
Fit a surface to the input triplets.
void AddTriplets(const double *x, const double *y, const double *z, const int n)
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve met...
void AddTriplet(const double x, const double y, const double z)
Add a single (x,y,z) triplet to the list of knowns. After all knowns are added invoke the Solve metho...
Generic least square fitting class.
Definition: LeastSquares.h:117
double Evaluate(const double x, const double y)
Evaluate at x,y to compute z. This is available after the Solve method is invoked.
SurfaceModel()
Constructor.
Definition: SurfaceModel.cpp:5
~SurfaceModel()
Destructor.
Model a 3-D surface.
Definition: SurfaceModel.h:50

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:30:13