public bool Intersects(Maths.Line line, out Vector2 intersection) { intersection = Vector2.Empty; if (Equation.Intersect(line, out intersection)) { if (P1.Equals(intersection) || P2.Equals(intersection)) { return(true); } var segLength = (P2 - P1).Length; //var interVec = (intersection - P1); var maxDist = Math.Max((intersection - P1).Length, (intersection - P2).Length); return(maxDist <= segLength); } return(false); }
public LineSegment2D(Vector2 p1, Vector2 p2) { P1 = p1; P2 = p2; Equation = Maths.Line.FromPoints(p1, p2); }