Isis Developer Reference
Isis::SurfaceModel Class Reference

Model a 3-D surface. More...

#include <SurfaceModel.h>

Collaboration diagram for Isis::SurfaceModel:
Collaboration graph

Public Member Functions

 SurfaceModel ()
 Constructor. More...
 
 ~SurfaceModel ()
 Destructor. More...
 
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. More...
 
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. More...
 
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. More...
 
void Solve ()
 Fit a surface to the input triplets. More...
 
double Evaluate (const double x, const double y)
 Evaluate at x,y to compute z. This is available after the Solve method is invoked. More...
 
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. More...
 

Detailed Description

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 \]

Author
2005-05-09 Jeff Anderson

Constructor & Destructor Documentation

◆ SurfaceModel()

Isis::SurfaceModel::SurfaceModel ( )

Constructor.

◆ ~SurfaceModel()

Isis::SurfaceModel::~SurfaceModel ( )

Destructor.

Member Function Documentation

◆ AddTriplet()

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.

References Isis::LeastSquares::AddKnown().

Referenced by AddTriplets().

◆ AddTriplets() [1/2]

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.

References AddTriplet().

◆ AddTriplets() [2/2]

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.

References AddTriplet().

◆ Evaluate()

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.

References Isis::LeastSquares::Evaluate().

◆ MinMax()

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.

Returns
A zero if successful, otherwise, the surface is a plane and has no min/max

References Isis::BasisFunction::Coefficient().

◆ Solve()

void Isis::SurfaceModel::Solve ( )

Fit a surface to the input triplets.

References Isis::LeastSquares::Solve().


The documentation for this class was generated from the following files: