USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::LineEquation Class Reference
[Utility]

#include <LineEquation.h>

Collaboration diagram for Isis::LineEquation:

Collaboration graph
[legend]
List of all members.

Detailed Description

Utility class for creating and using cartesean line equations.

This class contains utility methods for creating and using cartesean line equations. If both points have the same value for the independent variable (vertical line) an error is thrown.

Author:
2006-10-19 Debbie A. Cook
Todo:
Add constructor with arguments (double slope, double intercept) Add method to double y = EvaluateLine( double x )

Definition at line 43 of file LineEquation.h.

Public Member Functions

 LineEquation ()
 Construct an empty LineEquation object.
 LineEquation (double x1, double y1, double x2, double y2)
 Construct and fill LineEquation object.
 ~LineEquation ()
 Destroys the LineEquation object.
void AddPoint (double x, double y)
 Add a point to the object.
double Slope ()
 Compute the slope of the line.
double Intercept ()
 Compute the intercept of the line.
int Points ()
bool HaveSlope ()
bool HaveIntercept ()
bool Defined ()

Private Attributes

std::vector< double > p_x
 Independent variables.
std::vector< double > p_y
 Dependent variables.
bool p_defined
 Variable indicating if line is defined yet.
bool p_slopeDefined
 Variable indicating if slope is defined yet.
bool p_interceptDefined
 Variable indicating if intercept is defined yet.
double p_slope
double p_intercept


Constructor & Destructor Documentation

Isis::LineEquation::LineEquation  ) 
 

Construct an empty LineEquation object.

Definition at line 35 of file LineEquation.cpp.

References p_defined, p_interceptDefined, and p_slopeDefined.

Isis::LineEquation::LineEquation double  x1,
double  y1,
double  x2,
double  y2
 

Construct and fill LineEquation object.

Parameters:
x1 Double First independent variable
y1 Double First dependent variable
x2 Double Second independent variable
y2 Double Second dependent variable

Definition at line 48 of file LineEquation.cpp.

References AddPoint(), Intercept(), p_defined, p_intercept, p_interceptDefined, p_slope, p_slopeDefined, and Slope().

Isis::LineEquation::~LineEquation  )  [inline]
 

Destroys the LineEquation object.

Definition at line 50 of file LineEquation.h.


Member Function Documentation

void Isis::LineEquation::AddPoint double  x,
double  y
 

Add a point to the object.

The object is considered filled once 2 points have been added (the line is defined).

Parameters:
x Double Independent variable
y Double Dependent variable

Definition at line 67 of file LineEquation.cpp.

References _FILEINFO_, Isis::iException::Message(), p_defined, p_x, p_y, and Points().

Referenced by LineEquation().

double Isis::LineEquation::Intercept  ) 
 

Compute the intercept of the line.

Returns:
double The y-intercept of the line if it exists

Definition at line 102 of file LineEquation.cpp.

References _FILEINFO_, Isis::iException::Message(), p_defined, p_intercept, p_interceptDefined, p_x, p_y, and Slope().

Referenced by LineEquation().

double Isis::LineEquation::Slope  ) 
 

Compute the slope of the line.

Returns:
double The slope of the line if it exists

Definition at line 82 of file LineEquation.cpp.

References _FILEINFO_, Isis::iException::Message(), p_defined, p_slope, p_slopeDefined, p_x, and p_y.

Referenced by Intercept(), and LineEquation().


Member Data Documentation

bool Isis::LineEquation::p_defined [private]
 

Variable indicating if line is defined yet.

Definition at line 62 of file LineEquation.h.

Referenced by AddPoint(), Intercept(), LineEquation(), and Slope().

bool Isis::LineEquation::p_interceptDefined [private]
 

Variable indicating if intercept is defined yet.

Definition at line 64 of file LineEquation.h.

Referenced by HaveIntercept(), Intercept(), and LineEquation().

bool Isis::LineEquation::p_slopeDefined [private]
 

Variable indicating if slope is defined yet.

Definition at line 63 of file LineEquation.h.

Referenced by HaveSlope(), LineEquation(), and Slope().

std::vector<double> Isis::LineEquation::p_x [private]
 

Independent variables.

Definition at line 57 of file LineEquation.h.

Referenced by AddPoint(), Intercept(), Points(), and Slope().

std::vector<double> Isis::LineEquation::p_y [private]
 

Dependent variables.

Definition at line 61 of file LineEquation.h.

Referenced by AddPoint(), Intercept(), and Slope().


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