Пример #1
0
        /// <summary> Create an <see cref="AxisAlignedBox"/> using two corners </summary>
        /// <param name="corner1">The first corner of the <see cref="AxisAlignedBox"/></param>
        /// <param name="corner2">The corner on the opposite side of the <see cref="AxisAlignedBox"/></param>
        public AxisAlignedBox(Position3 corner1, Position3 corner2)
        {
            Position3 minCorner = Position3.ComponentMin(corner1, corner2);
            Position3 maxCorner = Position3.ComponentMax(corner1, corner2);

            Bounds = new Position3[] { minCorner, maxCorner };
        }
Пример #2
0
        /// <summary> Create an <see cref="AxisAlignedBox"/> that encompasses <paramref name="positions"/> </summary>
        /// <param name="positions">The positions that the <see cref="AxisAlignedBox"/> should encompass</param>
        public AxisAlignedBox(params Position3[] positions)
        {
            Position3 minCorner = Position3.PositiveInfinity;
            Position3 maxCorner = Position3.NegativeInfinity;

            foreach (Position3 position in positions)
            {
                minCorner = Position3.ComponentMin(minCorner, position);
                maxCorner = Position3.ComponentMax(maxCorner, position);
            }
            Bounds = new Position3[] { minCorner, maxCorner };
        }