Model a 3-D surface. More...
#include <SurfaceModel.h>

Public Member Functions | |
| SurfaceModel () | |
| Constructor.   | |
| ~SurfaceModel () | |
| Destructor.   | |
| 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 method.   | |
| 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 method.   | |
| void | AddTriplets (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z) | 
| Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method.   | |
| void | Solve () | 
| Fit a surface to the input triplets.   | |
| double | Evaluate (const double x, const double y) | 
| Evaluate at x,y to compute z. This is available after the Solve method is invoked.   | |
| 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 computed using this method.   | |
Private Attributes | |
| LeastSquares * | p_lsq | 
| PolynomialBivariate * | p_poly2d | 
Model a 3-D surface.
Given a set of (x,y,z) triplets, this class will model the surface that best fits the points. The equation to be modelled is:
\[z = a + b*x + c*y + d*x^2 + e*x*y + f*y^2 \]
Definition at line 34 of file SurfaceModel.h.
| Isis::SurfaceModel::SurfaceModel | ( | ) | 
Constructor.
Definition at line 11 of file SurfaceModel.cpp.
| Isis::SurfaceModel::~SurfaceModel | ( | ) | 
Destructor.
Definition at line 17 of file SurfaceModel.cpp.
| void Isis::SurfaceModel::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 method.
Definition at line 24 of file SurfaceModel.cpp.
Referenced by AddTriplets(), and AddTriplets().
| void Isis::SurfaceModel::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 method.
Definition at line 33 of file SurfaceModel.cpp.
References AddTriplet().
| void Isis::SurfaceModel::AddTriplets | ( | const std::vector< double > & | x, | 
| const std::vector< double > & | y, | ||
| const std::vector< double > & | z ) | 
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method.
Definition at line 42 of file SurfaceModel.cpp.
References AddTriplet().
| double Isis::SurfaceModel::Evaluate | ( | const double | x, | 
| const double | y ) | 
Evaluate at x,y to compute z. This is available after the Solve method is invoked.
Definition at line 57 of file SurfaceModel.cpp.
| int Isis::SurfaceModel::MinMax | ( | double & | x, | 
| double & | y ) | 
After invoking Solve, a coordinate (x,y) at a local minimum (or maximum) of the surface model can be computed using this method.
Definition at line 70 of file SurfaceModel.cpp.
| void Isis::SurfaceModel::Solve | ( | ) | 
Fit a surface to the input triplets.
Definition at line 51 of file SurfaceModel.cpp.
      
  | 
  private | 
Definition at line 52 of file SurfaceModel.h.
      
  | 
  private | 
Definition at line 53 of file SurfaceModel.h.