checkpoint
authoradam <adam@megacz.com>
Wed, 5 Dec 2007 07:52:10 +0000 (23:52 -0800)
committeradam <adam@megacz.com>
Wed, 5 Dec 2007 07:52:10 +0000 (23:52 -0800)
darcs-hash:20071205075210-5007d-be41eff712f6504119abaddece305918d8db66ac.gz

src/edu/berkeley/qfat/Main.java
src/edu/berkeley/qfat/Mesh.java

index ad6f5a7..16cdbe1 100644 (file)
@@ -178,7 +178,7 @@ public class Main extends MeshViewer {
     }
 
     public synchronized void breakit() {
-        if (verts > 200) return;
+        if (verts > 50) return;
         PriorityQueue<Mesh.E> es = new PriorityQueue<Mesh.E>();
         for(Mesh.E e : tile.edges()) es.add(e);
         for(int i=0; i<10; i++) {
@@ -225,20 +225,19 @@ public class Main extends MeshViewer {
     public void anneal() throws Exception {
         int verts = 0;
         while(true) {
-            for(int i=0; i<1; i++) {
+            HashSet<Mesh.Vert> hs = new HashSet<Mesh.Vert>();
+            for(Mesh.Vert p : tile.vertices()) hs.add(p);
+            for(int i=0; i<10; i++) {
                 repaint();
-                for(Mesh.T t : tile)
-                    for(Mesh.Vert p : new Mesh.Vert[] { t.v1(), t.v2(), t.v3() }) {
-                        rand(10,p);
-                    }
-                goal.unscore();
-                tile.unscore();
-                goal.fundamental();
-                tile.fundamental();
-                goal.rescore();
-                tile.rescore();
+                for(Mesh.Vert v : hs) rand(10,v);
             }
             breakit();
+            repaint();
+            goal.unscore();
+            repaint();
+            tile.recomputeAllFundamentalQuadrics();
+            repaint();
+            goal.rescore();
        }
     }
 
index eecaad8..5ba7404 100644 (file)
@@ -74,7 +74,7 @@ public class Mesh implements Iterable<Mesh.T> {
                 p.unscore();
             }
     }
-    public void fundamental() {
+    public void recomputeAllFundamentalQuadrics() {
         HashSet<Vert> done = new HashSet<Vert>();
         for(T t : this)
             for(Vert p : new Vert[] { t.v1(), t.v2(), t.v3() }) {