public static RectDouble Union(RectDouble rect1, RectDouble?rect2) { if (rect2.HasValue) { return(RectDouble.Union(rect1, rect2.GetValueOrDefault())); } return(rect1); }
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))); }
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); }
public static RectDouble UnionCopy(this RectDouble rectA, RectDouble rectB) => RectDouble.Union(rectA, rectB);