Isis 3 Programmer Reference
Isis::LineEquation Class Reference

Utility class for creating and using cartesean line equations. More...

#include <LineEquation.h>

Collaboration diagram for Isis::LineEquation:
Collaboration graph

Public Member Functions

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

Private Attributes

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

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 44 of file LineEquation.h.

Constructor & Destructor Documentation

◆ LineEquation() [1/2]

Isis::LineEquation::LineEquation ( )

Constructors.

Construct an empty LineEquation object.

Definition at line 35 of file LineEquation.cpp.

◆ LineEquation() [2/2]

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

Construct and fill LineEquation object.

Parameters
x1Double First independent variable
y1Double First dependent variable
x2Double Second independent variable
y2Double Second dependent variable

Definition at line 48 of file LineEquation.cpp.

◆ ~LineEquation()

Isis::LineEquation::~LineEquation ( )
inline

Destroys the LineEquation object.

Definition at line 51 of file LineEquation.h.

Member Function Documentation

◆ AddPoint()

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
xDouble Independent variable
yDouble Dependent variable

Definition at line 67 of file LineEquation.cpp.

References _FILEINFO_.

◆ Intercept()

double Isis::LineEquation::Intercept ( )

Compute the intercept of the line.

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

Definition at line 103 of file LineEquation.cpp.

References _FILEINFO_.

Referenced by Isis::SpicePosition::SetPolynomial(), and Isis::SpiceRotation::SetPolynomial().

◆ Slope()

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_.

Referenced by Isis::SpicePosition::SetPolynomial(), and Isis::SpiceRotation::SetPolynomial().

Member Data Documentation

◆ p_defined

bool Isis::LineEquation::p_defined
private

Variable indicating if line is defined yet.

Definition at line 71 of file LineEquation.h.

◆ p_interceptDefined

bool Isis::LineEquation::p_interceptDefined
private

Variable indicating if intercept is defined yet.

Definition at line 73 of file LineEquation.h.

◆ p_slopeDefined

bool Isis::LineEquation::p_slopeDefined
private

Variable indicating if slope is defined yet.

Definition at line 72 of file LineEquation.h.

◆ p_x

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

Independent variables.

Definition at line 66 of file LineEquation.h.

◆ p_y

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

Dependent variables.

Definition at line 70 of file LineEquation.h.


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