20 #ifndef OPM_POINT2D_HEADER_INCLUDED
21 #define OPM_POINT2D_HEADER_INCLUDED
33 Point2D(
const double xi,
const double yi)
53 void setX(
const double x)
58 void setY(
const double y)
68 const double x1 = line_segment1[0].getX();
69 const double y1 = line_segment1[0].getY();
70 const double x2 = line_segment1[1].getX();
71 const double y2 = line_segment1[1].getY();
73 const double x3 = line2[0].getX();
74 const double y3 = line2[0].getY();
75 const double x4 = line2[1].getX();
76 const double y4 = line2[1].getY();
78 const double d = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
84 const double x = ((x3 - x4) * (x1 * y2 - y1 * x2) - (x1 - x2) * (x3 * y4 - y3 * x4)) / d;
85 const double y = ((y3 - y4) * (x1 * y2 - y1 * x2) - (y1 - y2) * (x3 * y4 - y3 * x4)) / d;
87 if (x >= std::min(x1,x2) && x <= std::max(x1,x2)) {
88 intersection_point.setX(x);
89 intersection_point.setY(y);
109 #endif // OPM_POINT2D_HEADER_INCLUDED
static bool findIntersection(Point2D line_segment1[2], Point2D line2[2], Point2D &intersection_point)
Finding the intersection point of a line segment and a line.
Definition: Point2D.hpp:65
Definition: Point2D.hpp:30