private void SubDevide() { subDividedQuads = new Quad_Test[4]; float xCenter = boundary.x; float yCenter = boundary.y; float xShift = boundary.width / 2; float yShift = boundary.hight / 2; Rectangle_Test quadrant0 = new Rectangle_Test(xCenter + xShift, yCenter + yShift, xShift, yShift); subDividedQuads[0] = new Quad_Test(quadrant0, capacity); Rectangle_Test quadrant1 = new Rectangle_Test(xCenter - xShift, yCenter + yShift, xShift, yShift); subDividedQuads[1] = new Quad_Test(quadrant1, capacity); Rectangle_Test quadrant2 = new Rectangle_Test(xCenter - xShift, yCenter - yShift, xShift, yShift); subDividedQuads[2] = new Quad_Test(quadrant2, capacity); Rectangle_Test quadrant3 = new Rectangle_Test(xCenter + xShift, yCenter - yShift, xShift, yShift); subDividedQuads[3] = new Quad_Test(quadrant3, capacity); divided = true; }
public void InitilizeTree(float rectangelCenterX, float rectangelCenterY, float rectangelHalfHight, float rectangelHalfWidth, int sectionCapacity) { Rectangle_Test quadRectangel = new Rectangle_Test(rectangelCenterX, rectangelCenterY, rectangelHalfHight, rectangelHalfWidth); rootQuad = new Quad_Test(quadRectangel, sectionCapacity); }