2022-11-10 17:07:39 +01:00
|
|
|
#pragma once
|
|
|
|
|
2022-11-10 16:45:34 +01:00
|
|
|
class LFRPoint
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
/* data */
|
|
|
|
public:
|
|
|
|
double x, y;
|
|
|
|
LFRPoint(/* args */);
|
|
|
|
LFRPoint(double x, double y);
|
|
|
|
~LFRPoint();
|
|
|
|
|
|
|
|
LFRPoint operator-(const LFRPoint& pt){return LFRPoint(x-pt.x, y-pt.y);}
|
|
|
|
LFRPoint operator+(const LFRPoint& pt){return LFRPoint(x+pt.x, y+pt.y);}
|
|
|
|
};
|
|
|
|
|
|
|
|
class LFRVector : public LFRPoint
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
/* data */
|
|
|
|
public:
|
|
|
|
LFRVector(/* args */);
|
|
|
|
LFRVector(double x, double y);
|
|
|
|
LFRVector(const LFRPoint& pt);
|
|
|
|
~LFRVector();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
class LFRLine
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
/* data */
|
|
|
|
|
|
|
|
public:
|
|
|
|
LFRPoint start;
|
|
|
|
LFRVector dir;
|
|
|
|
|
|
|
|
LFRLine(/* args */);
|
|
|
|
LFRLine(LFRPoint start, LFRVector dir);
|
|
|
|
LFRLine(LFRPoint start, LFRPoint end);
|
|
|
|
~LFRLine();
|
|
|
|
};
|