X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2FMesh.java;h=c50e34ccd2e9629cea45660a136c4122bd680946;hp=a93535799bb82953a400c69e76cd0e97d48d0c20;hb=f42953f58e189d611803dcb4661bb840d785c30a;hpb=4d3990172ccd3eae8c771780a7a0c3bc0d897f36 diff --git a/src/edu/berkeley/qfat/Mesh.java b/src/edu/berkeley/qfat/Mesh.java index a935357..c50e34c 100644 --- a/src/edu/berkeley/qfat/Mesh.java +++ b/src/edu/berkeley/qfat/Mesh.java @@ -14,49 +14,22 @@ public class Mesh implements Iterable { public static final float EPSILON = (float)0.0001; public static final Random random = new Random(); + private RTree tris = new RTree(); private PointSet vertices = new PointSet(); - public int size() { return vertices.size(); } - public Iterable vertices() { return vertices; } - - public Iterable edges() { - return - new Iterable() { - public Iterator iterator() { - // HACK - HashSet hse = new HashSet(); - for(T t : Mesh.this) { - hse.add(t.e1()); - hse.add(t.e2()); - hse.add(t.e3()); - hse.add(t.e1().pair); - hse.add(t.e2().pair); - hse.add(t.e3().pair); - } - return hse.iterator(); - } }; - } - - public Iterator iterator() { - /* - for(Vert v : vertices) - if (v.e != null && v.e.t != null) - return new FaceIterator(v); - return new FaceIterator(); - */ - return ts.iterator(); - } - - public HashSet ts = new HashSet(); - public RTree tris = new RTree(); - public Mesh score_against = null; public double score = 0; public float score() { return (float)score; } - public int numedges = 0; public float avgedge = 0; + public int size() { return vertices.size(); } + public Iterable vertices() { return vertices; } + + public Iterator iterator() { + return tris.iterator(); + } + public void rebindPoints() { // unbind all points for(Mesh.T t : this) { @@ -834,10 +807,7 @@ public class Mesh implements Iterable { public void removeFromRTree() { tris.remove(this); } public void addToRTree() { tris.insert(this); } - public void destroy() { - tris.remove(this); - ts.remove(this); - } + public void destroy() { tris.remove(this); } T(E e1, int colorclass) { this.e1 = e1; @@ -862,7 +832,6 @@ public class Mesh implements Iterable { } this.color = color; this.colorclass = colorclass; - ts.add(this); tris.add(this); } public E e1() { return e1; } @@ -879,9 +848,11 @@ public class Mesh implements Iterable { public void glVertices(GL gl) { + /* if (e1().bind_to.set.size() == 0) return; if (e2().bind_to.set.size() == 0) return; if (e3().bind_to.set.size() == 0) return; + */ norm().glNormal(gl); p1().glVertex(gl);