18 enum OUTPRODUCT {R_IS_LEFT, R_IS_ON, R_IS_RIGHT};
21 enum R_PointStatus {R_LEFT_SIDE, R_RIGHT_SIDE, R_ON_AREA, R_IN_AREA};
48 a2dLine(
double x1 = 0,
double y1 = 0,
double x2 = 0,
double y2 = 0 );
76 bool CheckIntersect(
a2dLine& line,
double Marge )
const;
94 R_PointStatus PointOnLine(
const a2dPoint2D& a_Point,
double& Distance,
double Marge )
const;
97 R_PointStatus PointInLine(
const a2dPoint2D& a_Point,
double& Distance,
double Marge )
const;
115 OUTPRODUCT OutProduct(
const a2dLine& two,
double accur )
const;
118 double Calculate_Y(
double X )
const;
121 void Virtual_Point(
a2dPoint2D& a_point,
double distance )
const;
124 a2dPoint2D DistancePoint(
double distance,
bool begin )
const;
130 void CalculateLineParameters();
133 void OffsetContour(
const a2dLine& nextline,
double factor,
a2dPoint2D& offsetpoint )
const;
136 double GetLength()
const;
141 int ActionOnTable1( R_PointStatus, R_PointStatus )
const;
144 int ActionOnTable2( R_PointStatus, R_PointStatus )
const;
163 bool m_valid_parameters;
wxPoint2DDouble a2dPoint2D
this to define if coordinate numbers are integer or doubles