Esempio n. 1
0
 public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width,
                          short height)
 {
     m_parent = parent;
     m_quadID = quadID;
     m_leftX = leftX;
     m_leftY = leftY;
     m_width = width;
     m_height = height;
     // m_log.Debug("creating quadtree node " + m_quadID);
 }
Esempio n. 2
0
 protected internal SceneGraph(Scene parent, RegionInfo regInfo)
 {
     m_parentScene = parent;
     m_regInfo = regInfo;
     QuadTree = new BasicQuadTreeNode(null, "/0/", 0, 0, (short)Constants.RegionSize, (short)Constants.RegionSize);
     QuadTree.Subdivide();
     QuadTree.Subdivide();
 }
Esempio n. 3
0
 protected internal SceneGraph(Scene parent, RegionInfo regInfo)
 {
     _transactionMgr = new SceneTransactionManager(this);
     m_parentScene = parent;
     m_regInfo = regInfo;
     QuadTree = new BasicQuadTreeNode(null, "/0/", 0, 0, (short)Constants.RegionSize, (short)Constants.RegionSize);
     QuadTree.Subdivide();
     QuadTree.Subdivide();
 }
Esempio n. 4
0
 public void Subdivide()
 {
     if (m_childNodes == null)
     {
         m_childNodes = new BasicQuadTreeNode[4];
         m_childNodes[0] =
             new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width/2),
                                   (short) (m_height/2));
         m_childNodes[1] =
             new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width/2)), m_leftY,
                                   (short) (m_width/2), (short) (m_height/2));
         m_childNodes[2] =
             new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height/2)),
                                   (short) (m_width/2), (short) (m_height/2));
         m_childNodes[3] =
             new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width/2)),
                                   (short) (m_height + (m_height/2)), (short) (m_width/2), (short) (m_height/2));
     }
     else
     {
         for (int i = 0; i < m_childNodes.Length; i++)
         {
             m_childNodes[i].Subdivide();
         }
     }
 }