@Override public void setPoints(List<P> points , boolean trackIndicies ) { if( forest[0] != null ) { for( int i = 0; i < forest.length; i++ ) memory.recycleGraph(forest[i]); } for( int i = 0; i < forest.length; i++ ) forest[i] = constructor.construct(points,trackIndicies); search1.setTrees(forest); searchN.setTrees(forest); }
@Override public void setPoints(List<P> points , boolean trackIndicies ) { if( forest[0] != null ) { for( int i = 0; i < forest.length; i++ ) memory.recycleGraph(forest[i]); } for( int i = 0; i < forest.length; i++ ) forest[i] = constructor.construct(points,trackIndicies); search1.setTrees(forest); searchN.setTrees(forest); }
@Override public void setPoints(List<P> points, boolean trackIndicies) { if( tree != null ) memory.recycleGraph(tree); tree = constructor.construct(points,trackIndicies); search.setTree(tree); searchN.setTree(tree); }
@Override public void setPoints(List<P> points, boolean trackIndicies) { if( tree != null ) memory.recycleGraph(tree); tree = constructor.construct(points,trackIndicies); search.setTree(tree); searchN.setTree(tree); }
@Test public void recycleGraph_nullRoot() { KdTreeMemory alg = new KdTreeMemory(); KdTree tree = new KdTree(); tree.root = null; alg.recycleGraph(tree); assertEquals(0,alg.open.size()); assertEquals(1,alg.unusedTrees.size()); assertEquals(0,alg.unusedNodes.size()); }
@Test public void recycleGraph() { KdTreeMemory alg = new KdTreeMemory(); KdTree tree = new KdTree(); tree.root = new KdTree.Node(); tree.root.left = new KdTree.Node(); tree.root.right = new KdTree.Node(); tree.root.left.left = new KdTree.Node(); tree.root.left.right = new KdTree.Node(); alg.recycleGraph(tree); assertEquals(0,alg.open.size()); assertEquals(1,alg.unusedTrees.size()); assertEquals(5,alg.unusedNodes.size()); }