示例#1
0
        public static void UpdateBoundingBoxSizes(ref BoundingBoxSizes bbs, WorldVertex v)
        {
            if (v.x < bbs.MinX)
            {
                bbs.MinX = (int)v.x;
            }
            else if (v.x > bbs.MaxX)
            {
                bbs.MaxX = (int)v.x;
            }

            if (v.z < bbs.MinZ)
            {
                bbs.MinZ = (int)v.z;
            }
            else if (v.z > bbs.MaxZ)
            {
                bbs.MaxZ = (int)v.z;
            }

            if (v.y < bbs.MinY)
            {
                bbs.MinY = (int)v.y;
            }
            else if (v.y > bbs.MaxY)
            {
                bbs.MaxY = (int)v.y;
            }
        }
示例#2
0
        public static Vector3D[] CalculateBoundingPlane(BoundingBoxSizes bbs)
        {
            //mxd. looks like I need only these 2 points, so...
            //center
            Vector3D v0 = new Vector3D(bbs.MinX + (bbs.MaxX - bbs.MinX) / 2, bbs.MinY + (bbs.MaxY - bbs.MinY) / 2, bbs.MinZ + (bbs.MaxZ - bbs.MinZ) / 2);
            Vector3D v1 = new Vector3D(bbs.MinX, bbs.MinY, bbs.MinZ);

            return(new[] { v0, v1 });
        }