X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FPointSet.java;h=cd3edb73d8b08133e8ccd7f4bacf5438808e7da6;hp=8c6642cd76ec8d21705dbcbde7f912f6eb3e17c1;hb=57376a862c00fa1c8731f9989085fcfceeee0370;hpb=1cb56f053dc0a26302e777b2f82aa043ee780950 diff --git a/src/edu/berkeley/qfat/geom/PointSet.java b/src/edu/berkeley/qfat/geom/PointSet.java index 8c6642c..cd3edb7 100644 --- a/src/edu/berkeley/qfat/geom/PointSet.java +++ b/src/edu/berkeley/qfat/geom/PointSet.java @@ -7,6 +7,7 @@ public class PointSet implements Iterable { private /*final*/ KDTree kd = new KDTree(3); private final double[] doubles = new double[3]; + public int size() { return exact.size(); } private HashMap exact = new HashMap(); public Iterator iterator() { @@ -14,12 +15,20 @@ public class PointSet implements Iterable { } public void clear() { kd = new KDTree(3); + exact = new HashMap(); } public V get(Point p) { return exact.get(p); } + public void rebuild() { + HashMap old_exact = exact; + exact = new HashMap(); + kd = new KDTree(3); + for(V v : old_exact.values()) add(v); + } + public void add(V v) { V x = get(v.getPoint()); if (x != null && x.equals(v)) return;