public static BoundingBox2I CreateMerged(BoundingBox2I original, BoundingBox2I additional)
        {
            BoundingBox2I boxi;

            Vector2I.Min(ref original.Min, ref additional.Min, out boxi.Min);
            Vector2I.Max(ref original.Max, ref additional.Max, out boxi.Max);
            return(boxi);
        }
        public static void CreateMerged(ref BoundingBox2I original, ref BoundingBox2I additional, out BoundingBox2I result)
        {
            Vector2I vectori;
            Vector2I vectori2;

            Vector2I.Min(ref original.Min, ref additional.Min, out vectori);
            Vector2I.Max(ref original.Max, ref additional.Max, out vectori2);
            result.Min = vectori;
            result.Max = vectori2;
        }
示例#3
0
        /// <summary>
        /// Creates the smallest BoundingBox2I that contains the two specified BoundingBox2I instances.
        /// </summary>
        /// <param name="original">One of the BoundingBox2I instances to contain.</param><param name="additional">One of the BoundingBox2I instances to contain.</param><param name="result">[OutAttribute] The created BoundingBox2I.</param>
        public static void CreateMerged(ref BoundingBox2I original, ref BoundingBox2I additional, out BoundingBox2I result)
        {
            Vector2I result1;

            Vector2I.Min(ref original.Min, ref additional.Min, out result1);
            Vector2I result2;

            Vector2I.Max(ref original.Max, ref additional.Max, out result2);
            result.Min = result1;
            result.Max = result2;
        }
        public static BoundingBox2I CreateFromPoints(IEnumerable <Vector2I> points)
        {
            if (points == null)
            {
                throw new ArgumentNullException();
            }
            bool     flag     = false;
            Vector2I vectori  = new Vector2I(0x7fffffff);
            Vector2I vectori2 = new Vector2I(-2147483648);

            foreach (Vector2I vectori3 in points)
            {
                Vector2I vectori4 = vectori3;
                Vector2I.Min(ref vectori, ref vectori4, out vectori);
                Vector2I.Max(ref vectori2, ref vectori4, out vectori2);
                flag = true;
            }
            if (!flag)
            {
                throw new ArgumentException();
            }
            return(new BoundingBox2I(vectori, vectori2));
        }
示例#5
0
        /// <summary>
        /// Creates the smallest BoundingBox2I that will contain a group of points.
        /// </summary>
        /// <param name="points">A list of points the BoundingBox2I should contain.</param>
        public static BoundingBox2I CreateFromPoints(IEnumerable <Vector2I> points)
        {
            if (points == null)
            {
                throw new ArgumentNullException();
            }
            bool     flag    = false;
            Vector2I result1 = new Vector2I(int.MaxValue);
            Vector2I result2 = new Vector2I(int.MinValue);

            foreach (Vector2I vector2I in points)
            {
                Vector2I vec3 = vector2I;
                Vector2I.Min(ref result1, ref vec3, out result1);
                Vector2I.Max(ref result2, ref vec3, out result2);
                flag = true;
            }
            if (!flag)
            {
                throw new ArgumentException();
            }
            return(new BoundingBox2I(result1, result2));
        }
 public BoundingBox2I Include(ref BoundingBox2I box)
 {
     this.Min = Vector2I.Min(this.Min, box.Min);
     this.Max = Vector2I.Max(this.Max, box.Max);
     return(this);
 }