checkpoint
authoradam <adam@megacz.com>
Sun, 16 Dec 2007 02:40:22 +0000 (18:40 -0800)
committeradam <adam@megacz.com>
Sun, 16 Dec 2007 02:40:22 +0000 (18:40 -0800)
darcs-hash:20071216024022-5007d-a965887eecd7805a882aa4126860efe5f91e9c56.gz

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

index 6818bba..32fcac7 100644 (file)
@@ -399,14 +399,16 @@ public class Main extends MeshViewer {
                                "points_per_second=" +
                                (count*1000)/((double)(System.currentTimeMillis()-then)));
 
-            goal.unApplyQuadricToNeighborAll();
-            repaint();
             tile.recomputeAllFundamentalQuadrics();
             repaint();
-            goal.applyQuadricToNeighborAll();
+            goal.recomputeAllFundamentalQuadrics();
+            repaint();
+
 
-            safeTriangles.clear();
-            for(Mesh.T t : tile) if (t.shouldBeDrawn()) safeTriangles.add(t);
+            synchronized(this) {
+                safeTriangles.clear();
+                for(Mesh.T t : tile) if (t.shouldBeDrawn()) safeTriangles.add(t);
+            }
             }
        }
     }
index 288f7f9..38f3ea1 100644 (file)
@@ -213,7 +213,7 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
 
     protected HashSet<Mesh.T> safeTriangles = new HashSet<Mesh.T>();
 
-    private void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
+    private synchronized void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
         float red = 0.0f;
         float green = 0.0f;
         float blue = 0.0f;