projects
/
anneal.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
22da29e
)
checkpoint
author
adam
<adam@megacz.com>
Wed, 5 Dec 2007 05:26:07 +0000
(21:26 -0800)
committer
adam
<adam@megacz.com>
Wed, 5 Dec 2007 05:26:07 +0000
(21:26 -0800)
darcs-hash:
20071205052607
-5007d-
442be8ee2c19307d62cd6f8415dc869bb85683ee
.gz
src/edu/berkeley/qfat/geom/PointSet.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/qfat/geom/PointSet.java
b/src/edu/berkeley/qfat/geom/PointSet.java
index
f47a8d5
..
841d781
100644
(file)
--- 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.*;
import edu.wlu.cs.levy.CG.KDTree;
import java.util.*;
-public class PointSet<V extends HasPoint> {
+public class PointSet<V extends HasPoint> implements Iterable<V> {
private /*final*/ KDTree kd = new KDTree(3);
private final double[] doubles = new double[3];
private HashMap<Point,V> exact = new HashMap<Point,V>();
private /*final*/ KDTree kd = new KDTree(3);
private final double[] doubles = new double[3];
private HashMap<Point,V> exact = new HashMap<Point,V>();
+ public Iterator<V> iterator() {
+ return exact.values().iterator();
+ }
public void clear() {
kd = new KDTree(3);
}
public void clear() {
kd = new KDTree(3);
}
+ public V get(Point p) {
+ return exact.get(p);
+ }
+
public void add(V v) {
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;
Point p = v.getPoint();
doubles[0] = p.x;
doubles[1] = p.y;
@@
-38,6
+47,7
@@
public class PointSet<V extends HasPoint> {
}
public V nearest(Point p) {
}
public V nearest(Point p) {
+ if (exact.size()==0) return null;
Object[] results;
try {
doubles[0] = p.x;
Object[] results;
try {
doubles[0] = p.x;