public void drwaQuadTree(Canvas canvas) { _quadTree = new QuadTreeImp(_points, _rows, _columns, 0, Direction.ROOT, canvas); _quadTree = _quadTree.createQuardTree(); _quadTree.Position = getRootNodePosition(canvas); _quadTree.draw(canvas); }
public void drwaQuadTree(Canvas canvas, string preOrderTextFile) { StreamReader fileReader = File.OpenText(preOrderTextFile); string header = fileReader.ReadLine(); char[] delimiterChars = { ' ' }; string[] headerEntries = header.Split(delimiterChars); _rows = Convert.ToInt32(headerEntries[0]); _columns = Convert.ToInt32(headerEntries[1]); _preOrderText = fileReader.ReadLine(); _quadTree = new QuadTreeImp(_rows, _columns, 0, Direction.ROOT, canvas); _quadTree = _quadTree.createQuardTree(ref _preOrderText); _quadTree.Position = getRootNodePosition(canvas); _quadTree.draw(canvas); }
public QuadTreeImp createQuardTree(ref string preOrderText) { _rootColor = getNodeColor(ref preOrderText); if (_rootColor == Colors.Gray) { QuadTreeImp qtNW = new QuadTreeImp(_rows / 2, _columns / 2, _depth + 1, Direction.NW, _canvas); _northWest = qtNW.createQuardTree(ref preOrderText); QuadTreeImp qtSW = new QuadTreeImp(_rows / 2, _columns / 2, _depth + 1, Direction.SW, _canvas); _southWest = qtSW.createQuardTree(ref preOrderText); QuadTreeImp qtSE = new QuadTreeImp(_rows / 2, _columns / 2, _depth + 1, Direction.SE, _canvas); _southEast = qtSE.createQuardTree(ref preOrderText); QuadTreeImp qtNE = new QuadTreeImp(_rows / 2, _columns / 2, _depth + 1, Direction.NE, _canvas); _northEast = qtNE.createQuardTree(ref preOrderText); } return(this); }