33 line():a(0.0),b(0.0),c(0.0){};
34 line(
double xx,
double yy,
double zz):a(xx), b(yy), c(zz){}
36 a=v.
y-u.
y; b=u.
x-v.
x; c=v.
x*u.
y-u.
x*v.
y;}
43 const double &get_a()
const {
return a;}
50 const double &get_b()
const {
return b;}
57 const double &get_c()
const {
return c;}
65 void get_abc(
double &a2,
double &b2,
double &c2) {a2=a; b2=b; c2=c;}
66 void get_abc(
double &a2,
double &b2,
double &c2)
const {a2=a; b2=b; c2=c;}
92 void set_abc(
double a2,
double b2,
double c2){a=a2; b=b2; c=c2;}
102 double d = sqrt(a*a+b*b);
103 return (a*p.
x+b*p.
y+c)/d;
113 return (a*p.
x+b*p.
y+c);
121 point2d <double> line_intersection(
const line &l1,
const line &l2);
125 std::ostream &operator <<(std::ostream &s,
const ami::line &p);
126 std::istream &operator >>(std::istream &s,
ami::line &p) ;
void get_abc(double &a2, double &b2, double &c2)
Get the three coefficients "a,b,c".
Definition: line.h:65
double evaluation(const point2d< double > &p) const
Evaluates a point with the line equation.
Definition: line.h:112
void set_abc(double a2, double b2, double c2)
Set the three coefficients "a,b,c".
Definition: line.h:92
T x
Definition: point2d.h:37
double & get_c()
Get coefficient "c".
Definition: line.h:58
class for straight lines
Definition: line.h:30
void set_b(double b2)
Set coefficient "b".
Definition: line.h:80
T y
Definition: point2d.h:38
line(double xx, double yy, double zz)
Definition: line.h:34
double & get_b()
Get coefficient "b".
Definition: line.h:51
double distance(const point2d< double > &p) const
Calculates the distance between a point and the line.
Definition: line.h:101
void set_a(double a2)
Set coefficient "a".
Definition: line.h:74
void set_c(double c2)
Set coefficient "c".
Definition: line.h:86
double & get_a()
Get coefficient "a".
Definition: line.h:44