public bool IsCrossedByLine(Line line, out CrossPoint crossPoint) { crossPoint = null; if (IsParallelWithLine(line)) { return(false); } crossPoint = GetCrossPointWithLine(line); return(IsCrossPointInLine(crossPoint) && line.IsCrossPointInLine(crossPoint)); }
bool IsCrossPointInLineOY(CrossPoint crossPoint) { return(crossPoint.Y <= _pointStart.Y && crossPoint.Y >= _pointEnd.Y || crossPoint.Y >= _pointStart.Y && crossPoint.Y <= _pointEnd.Y); }
bool IsCrossPointInLineOX(CrossPoint crossPoint) { return(crossPoint.X <= _pointStart.X && crossPoint.X >= _pointEnd.X || crossPoint.X >= _pointStart.X && crossPoint.X <= _pointEnd.X); }
bool IsCrossPointInLine(CrossPoint crossPoint) { return(IsCrossPointInLineOX(crossPoint) && IsCrossPointInLineOY(crossPoint)); }