From 4bd9230a11f7db494328fb2aa00afc3e4c314dcc Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 4 Dec 2007 21:26:07 -0800 Subject: [PATCH] checkpoint darcs-hash:20071205052607-5007d-442be8ee2c19307d62cd6f8415dc869bb85683ee.gz --- src/edu/berkeley/qfat/geom/PointSet.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/edu/berkeley/qfat/geom/PointSet.java b/src/edu/berkeley/qfat/geom/PointSet.java index f47a8d5..841d781 100644 --- a/src/edu/berkeley/qfat/geom/PointSet.java +++ b/src/edu/berkeley/qfat/geom/PointSet.java @@ -2,18 +2,27 @@ package edu.berkeley.qfat.geom; import edu.wlu.cs.levy.CG.KDTree; import java.util.*; -public class PointSet { +public class PointSet implements Iterable { private /*final*/ KDTree kd = new KDTree(3); private final double[] doubles = new double[3]; private HashMap exact = new HashMap(); + public Iterator iterator() { + return exact.values().iterator(); + } public void clear() { kd = new KDTree(3); } + public V get(Point p) { + return exact.get(p); + } + public void add(V v) { + V x = get(v.getPoint()); + if (x != null && x.equals(v)) return; Point p = v.getPoint(); doubles[0] = p.x; doubles[1] = p.y; @@ -38,6 +47,7 @@ public class PointSet { } public V nearest(Point p) { + if (exact.size()==0) return null; Object[] results; try { doubles[0] = p.x; -- 1.7.10.4