#include <marLine.h>
Public Member Functions | |
marLine () | |
marLine (double x1, double y1, double x2, double y2) | |
marLine (double a, double b) | |
void | getNormal (double *a, double *b) |
void | getIntersect (double a, double b, double c, double *x, double *y) |
double | getA () |
double | getB () |
double | getC () |
virtual | ~marLine () |
Private Attributes | |
double | a |
double | b |
double | c |
Definition at line 8 of file marLine.h.
marLine::marLine | ( | ) |
marLine::marLine | ( | double | x1, | |
double | y1, | |||
double | x2, | |||
double | y2 | |||
) |
marLine::marLine | ( | double | a, | |
double | b | |||
) |
marLine::~marLine | ( | ) | [virtual] |
Definition at line 80 of file marLine.cpp.
double marLine::getA | ( | ) |
Definition at line 65 of file marLine.cpp.
References a.
Referenced by marAxisCT::filterContour().
00065 { 00066 return a; 00067 }
double marLine::getB | ( | ) |
Definition at line 70 of file marLine.cpp.
References b.
Referenced by marAxisCT::filterContour().
00070 { 00071 return b; 00072 }
double marLine::getC | ( | ) |
Definition at line 75 of file marLine.cpp.
References c.
Referenced by marAxisCT::filterContour().
00075 { 00076 return c; 00077 }
void marLine::getIntersect | ( | double | a, | |
double | b, | |||
double | c, | |||
double * | x, | |||
double * | y | |||
) |
Definition at line 33 of file marLine.cpp.
Referenced by marAxisCT::filterContour().
00033 { 00034 00035 if (this->a == a){ 00036 *x = -1; 00037 *y = -1; 00038 return; 00039 } 00040 00041 if (this->b == b){ 00042 *x = -1; 00043 *y = -1; 00044 return; 00045 } 00046 00047 *x = (c*this->b - this->c*b) / (this->a*b - a*this->b); 00048 00049 if (this->b == 0){ 00050 *y = -c/b; 00051 } else if (b == 0){ 00052 *y = -this->c/this->b; 00053 } else { 00054 *y = (-this->a*(*x) - this->c) / this->b; 00055 } 00056 00057 00058 if (*x < 0 || *y < 0){ 00059 *x = -1; 00060 *y = -1; 00061 } 00062 00063 }
void marLine::getNormal | ( | double * | a, | |
double * | b | |||
) |
double marLine::a [private] |
double marLine::b [private] |
double marLine::c [private] |