X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FRTree.java;fp=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FRTree.java;h=b9078e1e54bb4173be79ab54ca9db97822f7fa2b;hb=9a4c0a63db24cfe1787dbe798c2456271775fa88;hp=cd1d21764cb6251e508bb621915b5a3c45efe004;hpb=719b7ba4c0fe32a0c9e97aeb0156a999794dd0f7;p=anneal.git diff --git a/src/edu/berkeley/qfat/geom/RTree.java b/src/edu/berkeley/qfat/geom/RTree.java index cd1d217..b9078e1 100644 --- a/src/edu/berkeley/qfat/geom/RTree.java +++ b/src/edu/berkeley/qfat/geom/RTree.java @@ -9,9 +9,9 @@ public class RTree implements Iterable { private com.infomatiq.jsi.rtree.RTree rtree = new com.infomatiq.jsi.rtree.RTree(); - int lowid = 0; - HashMap idToV = new HashMap(); - HashMap vToId = new HashMap(); + private int lowid = 0; + private HashMap idToV = new HashMap(); + private HashMap vToId = new HashMap(); public Iterator iterator() { return vToId.keySet().iterator(); } @@ -34,20 +34,19 @@ public class RTree implements Iterable { int id = lowid++; idToV.put(id, v); vToId.put(v, id); - rtree.add(new com.infomatiq.jsi.Rectangle(v.getMinX(), v.getMinY(), v.getMinZ(), - v.getMaxX(), v.getMaxY(), v.getMaxZ()), - id); + rect.set(v.getMinX(), v.getMinY(), v.getMinZ(), v.getMaxX(), v.getMaxY(), v.getMaxZ()); + rtree.add(rect, id); } + private com.infomatiq.jsi.Rectangle rect = new com.infomatiq.jsi.Rectangle(0,0,0,0,0,0); public void remove(V v) { Integer idi = vToId.get(v); if (idi==null) return; int id = idi; idToV.remove(id); vToId.remove(v); - rtree.delete(new com.infomatiq.jsi.Rectangle(v.getMinX(), v.getMinY(), v.getMinZ(), - v.getMaxX(), v.getMaxY(), v.getMaxZ()), - id); + rect.set(v.getMinX(), v.getMinY(), v.getMinZ(), v.getMaxX(), v.getMaxY(), v.getMaxZ()); + rtree.delete(rect, id); } // gross...