1 public class TestRunner {
3 public static void main(String args[]) {
5 TestRunner r = new TestRunner();
14 Vector leafNodeVector=new Vector(nBodies);
17 // for (int i = 0; i < nBodies; i++) {
18 // leafNodeVector.insertElementAt(new LeafNodeData(), i);
22 TreeIndexGraph tree = new TreeIndexGraph();
23 TreeIndexNode root = tree.createNode(null);
26 for (int i = 0; i < nBodies; i++) {
27 LeafNodeData leaf=new LeafNodeData();
28 TreeIndexNode treenode = tree.createNode(leaf);
29 leafNodeVector.insertElementAt(treenode, i);
30 insert(tree, root,leaf);
33 for(int i=0; i<nBodies;i++){
34 TreeIndexNode body =(TreeIndexNode) leafNodeVector.elementAt(i);
36 // body.computeForce(root);
37 body.computeForce(root);
41 for(int i=0; i<nBodies;i++){
42 ((TreeIndexNode)leafNodeVector.elementAt(i)).advance();
47 private void insert(TreeIndexGraph tree, TreeIndexNode nn, LeafNodeData leafNodeData) {
48 if (nn.children[0] == null) {
49 TreeIndexNode newNode = tree.createNode(leafNodeData);
50 tree.addNode(newNode);
51 nn.children[0] = newNode;
52 } else { // if left is already occupied
53 if (nn.children[1] != null) {
54 insert(tree, nn.children[1], leafNodeData);
56 TreeIndexNode newNode = tree.createNode(null);
57 tree.addNode(newNode);
58 nn.children[1] = newNode;
59 insert(tree, newNode, leafNodeData);
70 // public void setRoot(TreeNode r) {
74 // public void computeForce() {
78 // public void traverse(TreeNode node) {
79 // if (node.body != null) {
80 // // if current one is a body
81 // acc += node.body.pos;
83 // traverse(node.left);
84 // traverse(node.right);
96 // public TreeNode(Body b) {
100 // public void addLeftChild(TreeNode n) {
104 // public void addRightChild(TreeNode n) {
108 // public TreeNode getLeftChild() {
112 // public TreeNode getRightChild() {