change example for now...
[IRC.git] / Robust / src / Benchmarks / oooJava / simplebh / TreeIndexNode.java
1 public class TreeIndexNode {
2
3   LeafNodeData data;
4   TreeIndexNode children[];
5   int pos;
6   int mass;
7
8   // TreeIndexNode left;
9   // TreeIndexNode right;
10
11   public TreeIndexNode(LeafNodeData data) {
12     this.data = data;
13   }
14
15   public void advance() {
16     pos += data.acc + 10;
17     data.vel += data.acc + 10;
18   }
19
20   public void computeForce(TreeIndexNode root) {
21     data.acc = 0;
22     recurseForce(root);
23     data.vel = 10;
24   }
25
26   private void recurseForce(TreeIndexNode nn) {
27
28     int drPos = nn.pos;
29     int temp = nn.mass;
30
31     if (nn.data == null) { // nn is cell
32
33       for(int i=0;i<nn.children.length;i++) {
34         recurseForce(nn.children[i]);
35       }
36
37       // } else { // nn is body
38       if (nn != this) {
39         data.acc += drPos + nn.mass;
40       }
41     }
42   }
43
44 }