Exemplo n.º 1
0
        /// <summary>
        /// Creates a simple bounding box mesh for a complex input mesh
        /// </summary>
        /// <param name="meshIn"></param>
        /// <returns></returns>
        private static Mesh CreateBoundingBoxMesh(Mesh meshIn)
        {
            float minX = float.MaxValue;
            float maxX = float.MinValue;
            float minY = float.MaxValue;
            float maxY = float.MinValue;
            float minZ = float.MaxValue;
            float maxZ = float.MinValue;

            foreach (Vector3 v in meshIn.getVertexList())
            {
                if (v != null)
                {
                    if (v.X < minX)
                    {
                        minX = v.X;
                    }
                    if (v.Y < minY)
                    {
                        minY = v.Y;
                    }
                    if (v.Z < minZ)
                    {
                        minZ = v.Z;
                    }

                    if (v.X > maxX)
                    {
                        maxX = v.X;
                    }
                    if (v.Y > maxY)
                    {
                        maxY = v.Y;
                    }
                    if (v.Z > maxZ)
                    {
                        maxZ = v.Z;
                    }
                }
            }

            return(CreateSimpleBoxMesh(minX, maxX, minY, maxY, minZ, maxZ));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a simple bounding box mesh for a complex input mesh
        /// </summary>
        /// <param name="meshIn"></param>
        /// <returns></returns>
        private static Mesh CreateBoundingBoxMesh(Mesh meshIn)
        {
            float minX = float.MaxValue;
            float maxX = float.MinValue;
            float minY = float.MaxValue;
            float maxY = float.MinValue;
            float minZ = float.MaxValue;
            float maxZ = float.MinValue;

            foreach (Vector3 v in meshIn.getVertexList())
            {
                if (v.X < minX) minX = v.X;
                if (v.Y < minY) minY = v.Y;
                if (v.Z < minZ) minZ = v.Z;

                if (v.X > maxX) maxX = v.X;
                if (v.Y > maxY) maxY = v.Y;
                if (v.Z > maxZ) maxZ = v.Z;
            }

            return CreateSimpleBoxMesh(minX, maxX, minY, maxY, minZ, maxZ);
        }