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); }