public static bool Contains(Segment containingSegment, RealPoint containedPoint) { // Vérifie que le point est situé sur la droite if (!LineWithRealPoint.Contains((Line)containingSegment, containedPoint)) { return(false); } // Puis qu'il est entre les deux extrémités if (containedPoint.X - RealPoint.PRECISION > Math.Max(containingSegment.StartPoint.X, containingSegment.EndPoint.X) || containedPoint.X + RealPoint.PRECISION < Math.Min(containingSegment.StartPoint.X, containingSegment.EndPoint.X) || containedPoint.Y - RealPoint.PRECISION > Math.Max(containingSegment.StartPoint.Y, containingSegment.EndPoint.Y) || containedPoint.Y + RealPoint.PRECISION < Math.Min(containingSegment.StartPoint.Y, containingSegment.EndPoint.Y)) { return(false); } return(true); }
public static double Distance(RealPoint point, Line line) { return(LineWithRealPoint.Distance(line, point)); }
public static List <RealPoint> GetCrossingPoints(RealPoint point, Line line) { return(LineWithRealPoint.GetCrossingPoints(line, point)); }
public static bool Cross(RealPoint point, Line line) { return(LineWithRealPoint.Cross(line, point)); }