コード例 #1
0
        /// <summary>
        /// Create a new tree node
        /// </summary>
        public CollisionTreeNode(CollisionBox collisionBox, uint subdivLevel)
        {
            if (collisionBox == null)
            {
                throw new ArgumentNullException("collisionBox");
            }

            // save node box
            box = collisionBox;

            // if subdivision needed
            if (subdivLevel > 0)
            {
                // decrease subdivision level
                subdivLevel--;

                // create the 8 children
                children = new CollisionTreeNode[8];
                CollisionBox[] childrenBox = box.GetChildren();
                for (uint i = 0; i < 8; i++)
                {
                    children[i] = new CollisionTreeNode(childrenBox[i], subdivLevel);
                }
            }
        }
コード例 #2
0
 public CollisionTreeNode(CollisionBox b,uint subdiv_level)
 {
     box = b;
     if (subdiv_level>0)
     {
         subdiv_level--;
         childs = new CollisionTreeNode[8];
         CollisionBox[] childs_box = box.GetChilds();
         for( uint i=0;i<8;i++ )
             childs[i] = new CollisionTreeNode(childs_box[i], subdiv_level);
     }
 }
コード例 #3
0
        /// <summary>
        /// Create a new tree node
        /// </summary>
        public CollisionTreeNode(CollisionBox collisionBox, uint subdivLevel)
        {
            if (collisionBox == null)
            {
                throw new ArgumentNullException("collisionBox");
            }

            // save node box
            box = collisionBox;

            // if subdivision needed
            if (subdivLevel > 0)
            {
                // decrease subdivision level
                subdivLevel--;

                // create the 8 children
                children = new CollisionTreeNode[8];
                CollisionBox[] childrenBox = box.GetChildren();
                for (uint i = 0; i < 8; i++)
                    children[i] = new CollisionTreeNode(childrenBox[i], subdivLevel);
            }
        }
コード例 #4
0
 /// <summary>
 /// Add the dynamic element to the node
 /// </summary>
 public override void AddToNode(CollisionTreeNode n)
 {
     nodes.Add(n);
 }
コード例 #5
0
 /// <summary>
 /// Virtual function when adding the element to a node
 /// </summary>
 public virtual void AddToNode(CollisionTreeNode n)
 {
 }
コード例 #6
0
ファイル: CollisionTree.cs プロジェクト: holtkampw/UH-Engine
 public CollisionTree(CollisionBox box, uint subdivLevel)
 {
     root = new CollisionTreeNode(box, subdivLevel);
     recurseId = 0;
 }
コード例 #7
0
 public CollisionTree(CollisionBox box, uint subdivLevel)
 {
     root      = new CollisionTreeNode(box, subdivLevel);
     recurseId = 0;
 }
コード例 #8
0
 public override void AddToNode(CollisionTreeNode n)
 {
     nodes.Add(n);
 }
コード例 #9
0
 public virtual void AddToNode(CollisionTreeNode n)
 {
 }