20 #ifndef OPM_POINT2D_HEADER_INCLUDED
21 #define OPM_POINT2D_HEADER_INCLUDED
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
Definition: CompressibleTpfaPolymer.hpp:32
double getY() const
Definition: Point2D.hpp:48
Point2D()
Definition: Point2D.hpp:39
static bool findIntersection(Point2D line_segment1[2], Point2D line2[2], Point2D &intersection_point)
Definition: Point2D.hpp:65
double getX() const
Definition: Point2D.hpp:43
Definition: Point2D.hpp:30
void setX(const double x)
Definition: Point2D.hpp:53
Point2D(const double xi, const double yi)
Definition: Point2D.hpp:33
void setY(const double y)
Definition: Point2D.hpp:58