Isis 3.0 Programmer Reference
Back | Home
Isis::Parabola Class Reference

Parabola basis function. More...

#include <Parabola.h>

Inheritance diagram for Isis::Parabola:
Inheritance graph
Collaboration diagram for Isis::Parabola:
Collaboration graph

Public Member Functions

 Parabola (const QString &bname="Parabola")
 Create a Parabola object. More...
 
 ~Parabola ()
 Destroys the Parabola object. More...
 
void Expand (const std::vector< double > &vars)
 This is the the overriding virtual function that provides the expansion into the parabolic equation. More...
 
void SetCoefficients (const std::vector< double > &coefs)
 Set the coefficients for the equation. More...
 
double Evaluate (const std::vector< double > &vars)
 Compute the equation using the input variables. More...
 
double Evaluate (const double &var)
 Compute the equation using the input variable. More...
 
int Coefficients () const
 Returns the number of coefficients for the equation. More...
 
int Variables () const
 Returns the number of variables in the equation. More...
 
QString Name () const
 Returns the name of the equation. More...
 
double Term (int c) const
 Returns the cth term. More...
 
double Coefficient (int i) const
 Returns the ith coefficient. More...
 

Protected Attributes

QString p_name
 The name of the equation. Call it by using Name() More...
 
int p_numVars
 The number of variables in the equation. Call it by using Variables() More...
 
int p_numCoefs
 The number of coefficients in the equation. More...
 
std::vector< double > p_coefs
 A vector of the coefficients in the equation. More...
 
std::vector< double > p_terms
 A vector of the terms in the equation. More...
 

Detailed Description

Parabola basis function.

This is a derived class from the BasisFunction class which creates a parabola (second degree equation in 1 variable). The parabolic function has the following form:

\[ x = A + B*y + C*y**2 \]

Author
2005-06-09 Kris Becker
History:
2006-04-15 Debbie A. Cook - Imported from ISIS2 to Isis 3

Definition at line 50 of file Parabola.h.

Constructor & Destructor Documentation

Isis::Parabola::Parabola ( const QString &  bname = "Parabola")
inline

Create a Parabola object.

Definition at line 56 of file Parabola.h.

Isis::Parabola::~Parabola ( )
inline

Destroys the Parabola object.

Definition at line 60 of file Parabola.h.

Member Function Documentation

double Isis::BasisFunction::Coefficient ( int  i) const
inlineinherited

Returns the ith coefficient.

Parameters
iThe index for the desired coefficient.
Returns
The ith coefficient

Definition at line 123 of file BasisFunction.h.

References Isis::BasisFunction::p_coefs.

Referenced by Isis::PolynomialUnivariate::DerivativeVar(), Isis::SpicePosition::LoadHermiteCache(), Isis::SurfaceModel::MinMax(), Isis::SpicePosition::SetPolynomial(), Isis::SpiceRotation::SetPolynomial(), and Isis::Affine::Solve().

int Isis::BasisFunction::Coefficients ( ) const
inlineinherited
double Isis::BasisFunction::Evaluate ( const std::vector< double > &  vars)
inherited
double Isis::BasisFunction::Evaluate ( const double &  var)
inherited

Compute the equation using the input variable.

Parameters
varA single double value to use for the equation.
Returns
The output double value resulting from the equation.

Definition at line 117 of file BasisFunction.cpp.

References Isis::BasisFunction::Evaluate().

void Isis::Parabola::Expand ( const std::vector< double > &  vars)
virtual

This is the the overriding virtual function that provides the expansion into the parabolic equation.

See BasisFunction for more information.

Parameters
varsA vector of double values to use for the expansion.

Reimplemented from Isis::BasisFunction.

Definition at line 39 of file Parabola.cpp.

References Isis::BasisFunction::p_terms, and Isis::BasisFunction::Variables().

QString Isis::BasisFunction::Name ( ) const
inlineinherited

Returns the name of the equation.

Returns
The name of the equation.

Definition at line 96 of file BasisFunction.h.

References Isis::BasisFunction::p_name.

Referenced by Isis::LeastSquares::AddKnown().

double Isis::BasisFunction::Term ( int  c) const
inlineinherited

Returns the cth term.

This is only valid after a Evalute/Expand has been invoked. It represents the expansion of the variables into the ith term. For example,

\[ x = C1 + C2*x + C3*y + C4*x*y \]

would return x*y for the 3rd term (zero-based)

Parameters
cThe index for the desired coefficient.
Returns
The cth term.

Definition at line 113 of file BasisFunction.h.

References Isis::BasisFunction::p_terms.

Referenced by Isis::LeastSquares::FillSparseA(), Isis::LeastSquares::SolveQRD(), and Isis::LeastSquares::SolveSVD().

int Isis::BasisFunction::Variables ( ) const
inlineinherited

Returns the number of variables in the equation.

Returns
The number of variables.

Definition at line 88 of file BasisFunction.h.

References Isis::BasisFunction::p_numVars.

Referenced by Isis::LeastSquares::AddKnown(), and Expand().

Member Data Documentation

std::vector<double> Isis::BasisFunction::p_coefs
protectedinherited

A vector of the coefficients in the equation.

Call it by using Coefficient()

Definition at line 139 of file BasisFunction.h.

Referenced by Isis::BasisFunction::Coefficient(), Isis::BasisFunction::Evaluate(), and Isis::BasisFunction::SetCoefficients().

QString Isis::BasisFunction::p_name
protectedinherited

The name of the equation. Call it by using Name()

Definition at line 125 of file BasisFunction.h.

Referenced by Isis::BasisFunction::BasisFunction(), and Isis::BasisFunction::Name().

int Isis::BasisFunction::p_numCoefs
protectedinherited

The number of coefficients in the equation.

Call it by using Coefficients()

Definition at line 135 of file BasisFunction.h.

Referenced by Isis::BasisFunction::BasisFunction(), Isis::BasisFunction::Coefficients(), Isis::BasisFunction::Evaluate(), and Isis::BasisFunction::SetCoefficients().

int Isis::BasisFunction::p_numVars
protectedinherited

The number of variables in the equation. Call it by using Variables()

Definition at line 131 of file BasisFunction.h.

Referenced by Isis::BasisFunction::BasisFunction(), Isis::BasisFunction::Evaluate(), and Isis::BasisFunction::Variables().

std::vector<double> Isis::BasisFunction::p_terms
protectedinherited

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

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/13/2023 00:05:13