int _side(Point2D pt) { return _side(pt.x, pt.y); }
int _side(Point2D pt) { return _side(pt.x, pt.y); }
static boolean _isIntersectingHelper(Line line1, Line line2) { int s11 = line1._side(line2.m_xStart, line2.m_yStart); int s12 = line1._side(line2.m_xEnd, line2.m_yEnd); if (s11 < 0 && s12 < 0 || s11 > 0 && s12 > 0) return false;// no intersection. The line2 lies to one side of an // infinite line passing through line1 int s21 = line2._side(line1.m_xStart, line1.m_yStart); int s22 = line2._side(line1.m_xEnd, line1.m_yEnd); if (s21 < 0 && s22 < 0 || s21 > 0 && s22 > 0) return false;// no intersection.The line1 lies to one side of an // infinite line passing through line2 double len1 = line1.calculateLength2D(); double len2 = line2.calculateLength2D(); if (len1 > len2) { return line1._projectionIntersect(line2); } else { return line2._projectionIntersect(line1); } }
static boolean _isIntersectingHelper(Line line1, Line line2) { int s11 = line1._side(line2.m_xStart, line2.m_yStart); int s12 = line1._side(line2.m_xEnd, line2.m_yEnd); if (s11 < 0 && s12 < 0 || s11 > 0 && s12 > 0) return false;// no intersection. The line2 lies to one side of an // infinite line passing through line1 int s21 = line2._side(line1.m_xStart, line1.m_yStart); int s22 = line2._side(line1.m_xEnd, line1.m_yEnd); if (s21 < 0 && s22 < 0 || s21 > 0 && s22 > 0) return false;// no intersection.The line1 lies to one side of an // infinite line passing through line2 double len1 = line1.calculateLength2D(); double len2 = line2.calculateLength2D(); if (len1 > len2) { return line1._projectionIntersect(line2); } else { return line2._projectionIntersect(line1); } }