Esempio n. 1
0
				public void Split ()
				{
						//Debug.Log ("Spliting Quad: " + ID);
						Children = new QuadTreeNode[4];
						float HalfLength = BoundingBox.width / 2;
						Rect c0Rect = new Rect (BoundingBox.xMin, BoundingBox.yMin, HalfLength, HalfLength);
						Rect c1Rect = new Rect (BoundingBox.xMin + HalfLength, BoundingBox.yMin, HalfLength, HalfLength);
						Rect c2Rect = new Rect (BoundingBox.xMin, BoundingBox.yMin + HalfLength, HalfLength, HalfLength);
						Rect c3Rect = new Rect (BoundingBox.xMin + HalfLength, BoundingBox.yMin + HalfLength, HalfLength, HalfLength);

						Children [0] = new QuadTreeNode (c0Rect, ID, MaxDepth, Depth + 1);
						Children [1] = new QuadTreeNode (c1Rect, ID, MaxDepth, Depth + 1);
						Children [2] = new QuadTreeNode (c2Rect, ID, MaxDepth, Depth + 1);
						Children [3] = new QuadTreeNode (c3Rect, ID, MaxDepth, Depth + 1);
				}
Esempio n. 2
0
				public QuadTree (Rect bBox, int maxDepth)
				{
						Root = new QuadTreeNode (bBox, Vector2.zero, maxDepth, 0);
				}