示例#1
0
 public static RectDouble Union(RectDouble rect1, RectDouble?rect2)
 {
     if (rect2.HasValue)
     {
         return(RectDouble.Union(rect1, rect2.GetValueOrDefault()));
     }
     return(rect1);
 }
示例#2
0
 public static RectDouble?Union(RectDouble?rect1, RectDouble?rect2)
 {
     if (!rect1.HasValue && !rect2.HasValue)
     {
         return(null);
     }
     if (rect1.HasValue && !rect2.HasValue)
     {
         return(new RectDouble?(rect1.Value));
     }
     if (!rect1.HasValue && rect2.HasValue)
     {
         return(new RectDouble?(rect2.Value));
     }
     return(new RectDouble?(RectDouble.Union(rect1.Value, rect2.Value)));
 }
示例#3
0
        public static RectDouble Bounds(this IEnumerable <RectDouble> rects)
        {
            RectDouble zero = RectDouble.Zero;
            bool       flag = true;

            foreach (RectDouble num2 in rects)
            {
                if (flag)
                {
                    zero = num2;
                    flag = false;
                }
                else
                {
                    zero = RectDouble.Union(zero, num2);
                }
            }
            if (flag)
            {
                return(RectDouble.Empty);
            }
            return(zero);
        }
示例#4
0
 public static RectDouble UnionCopy(this RectDouble rectA, RectDouble rectB) =>
 RectDouble.Union(rectA, rectB);