Ejemplo n.º 1
0
        public static Rect2D Intersect(Rect2D rect1, Rect2D rect2)
        {
            if (rect1.IsUndefined() || rect2.IsUndefined())
            {
                return(Undefined);
            }

            var left = Math.Max(rect1.Left, rect2.Left);
            var top  = Math.Max(rect1.Top, rect2.Top);

            var right  = Math.Min(rect1.Right, rect2.Right);
            var bottom = Math.Min(rect1.Bottom, rect2.Bottom);

            return(left >= right || top >= bottom
                ? Undefined
                : new Rect2D(new Point2D(left, top), new Point2D(right, bottom)));
        }
Ejemplo n.º 2
0
        public static Rect2D Union(Rect2D rect1, Rect2D rect2)
        {
            if (rect1.IsUndefined())
            {
                return(rect2);
            }

            if (rect2.IsUndefined())
            {
                return(rect1);
            }

            var left = Math.Min(rect1.Left, rect2.Left);
            var top  = Math.Min(rect1.Top, rect2.Top);

            var right  = Math.Max(rect1.Right, rect2.Right);
            var bottom = Math.Max(rect1.Bottom, rect2.Bottom);

            return(new Rect2D(new Point2D(left, top), new Point2D(right, bottom)));
        }
Ejemplo n.º 3
0
 public static bool IsDefined(this Rect2D rect) => !rect.IsUndefined();