USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::SurfaceModel Class Reference
[Math]

Model a 3-D surface. More...

#include <SurfaceModel.h>

List of all members.

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.

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

Isis::SurfaceModel::SurfaceModel (  ) 

Constructor.

Isis::SurfaceModel::~SurfaceModel (  ) 

Destructor.


Member Function Documentation

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.

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.

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.

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.

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
void Isis::SurfaceModel::Solve (  ) 

Fit a surface to the input triplets.


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