Isis 3 Developer Reference
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 ...
Definition: SurfaceModel.cpp:64
Nth degree Polynomial with two variables.
Definition: PolynomialBivariate.h:53
void Solve()
Fit a surface to the input triplets.
Definition: SurfaceModel.cpp:45
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...
Definition: SurfaceModel.cpp:27
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...
Definition: SurfaceModel.cpp:18
Generic least square fitting class.
Definition: LeastSquares.h:115
double Evaluate(const double x, const double y)
Evaluate at x,y to compute z. This is available after the Solve method is invoked.
Definition: SurfaceModel.cpp:51
SurfaceModel()
Constructor.
Definition: SurfaceModel.cpp:5
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
~SurfaceModel()
Destructor.
Definition: SurfaceModel.cpp:11
Model a 3-D surface.
Definition: SurfaceModel.h:50