예제 #1
0
 public static bool IsPointInSegmentInnerBoundingRect(PointPair segment, Point point)
 {
     segment = segment.GetBoundingRect();
     if (segment.P1.X.IsWithinEpsilonTo(segment.P2.X))
     {
         return(point.X.EqualsWithPrecision(segment.P1.X) &&
                point.Y > segment.P1.Y &&
                point.Y < segment.P2.Y);
     }
     else if (segment.P1.Y.IsWithinEpsilonTo(segment.P2.Y))
     {
         return(point.Y.EqualsWithPrecision(segment.P1.Y) &&
                point.X > segment.P1.X &&
                point.X < segment.P2.X);
     }
     return(segment.ContainsInner(point));
 }
예제 #2
0
        public static bool IsPointInSegmentBoundingRect(PointPair segment, Point point)
        {
            var boundingRect = segment.GetBoundingRect().Inflate(0.00001);

            return(boundingRect.Contains(point));
        }