16 class Line2D :
public cv::Vec<double,3> {
39 Line2D (
const double &x0,
const double &y0,
const double &x1,
const double &y1,
bool normalize =
true );
54 const double &
a()
const;
62 const double &
b()
const;
70 const double &
c()
const;
82 double distanceTo (
const double &x,
const double &y )
const;
116 cv::Vec<double,2>
normal()
const;
126 Line2D &
set (
const double &x0,
const double &y0,
const double &x1,
const double &y1,
bool normalize = true );
139 cv::Vec<double,3> &
cv ();
144 const cv::Vec<double,3> &
cv ()
const;
153 os <<
"[" << o.
a() <<
", " << o.
b() <<
", " << o.
c() <<
"]";
std::shared_ptr< Line2D > Line2DPtr
Prototype.
Point2D pointOnLine(const double &x, const double &y) const
friend std::ostream & operator<<(std::ostream &os, const Line2D &o)
std::shared_ptr< Line2D const > Line2DConstPtr
Point2D intersection(const Line2D &l) const
cv::Vec< double, 2 > normal() const
cv::Vec< double, 3 > & cv()
double distanceTo(const double &x, const double &y) const