Esempio n. 1
0
        /// <summary>
        /// initializes a BVH with a given nodeAdaptor, and object list.
        /// </summary>
        /// <param name="nodeAdaptor"></param>
        /// <param name="objects"></param>
        /// <param name="LEAF_OBJ_MAX">WARNING! currently this must be 1 to use dynamic BVH updates</param>
        public ssBVH(SSBVHNodeAdaptor <GO> nodeAdaptor, List <GO> objects, int LEAF_OBJ_MAX = 1)
        {
            this.LEAF_OBJ_MAX = LEAF_OBJ_MAX;
            nodeAdaptor.setBVH(this);
            this.nAda = nodeAdaptor;

            if (objects.Count > 0)
            {
                rootBVH = new ssBVHNode <GO>(this, objects);
            }
            else
            {
                rootBVH          = new ssBVHNode <GO>(this);
                rootBVH.gobjects = new List <GO>(); // it's a leaf, so give it an empty object list
            }
        }