checkpoint
authoradam <adam@megacz.com>
Sun, 16 Dec 2007 02:42:19 +0000 (18:42 -0800)
committeradam <adam@megacz.com>
Sun, 16 Dec 2007 02:42:19 +0000 (18:42 -0800)
darcs-hash:20071216024219-5007d-d644752376a7e5c6e88a546d74e2b05d8cf52e55.gz

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

index 32fcac7..2fbd726 100644 (file)
@@ -399,13 +399,12 @@ public class Main extends MeshViewer {
                                "points_per_second=" +
                                (count*1000)/((double)(System.currentTimeMillis()-then)));
 
-            tile.recomputeAllFundamentalQuadrics();
+            for(Mesh.Vertex p : tile.vertices()) p.recomputeFundamentalQuadric();
             repaint();
-            goal.recomputeAllFundamentalQuadrics();
+            for(Mesh.Vertex p : goal.vertices()) p.recomputeFundamentalQuadric();
             repaint();
 
-
-            synchronized(this) {
+            synchronized(safeTriangles) {
                 safeTriangles.clear();
                 for(Mesh.T t : tile) if (t.shouldBeDrawn()) safeTriangles.add(t);
             }
index 1d842f7..51b9249 100644 (file)
@@ -46,19 +46,6 @@ public class Mesh implements Iterable<Mesh.T> {
         }
     }
 
-    public void unApplyQuadricToNeighborAll() {
-        for(Vertex p : vertices)
-            p.unApplyQuadricToNeighbor();
-    }
-    public void recomputeAllFundamentalQuadrics() {
-        for(Vertex p : vertices)
-            p.recomputeFundamentalQuadric();
-    }
-    public void applyQuadricToNeighborAll() {
-        for(Vertex p : vertices)
-            p.applyQuadricToNeighbor();
-    }
-
     public void transform(Matrix m) {
         ArrayList<Vertex> set = new ArrayList<Vertex>();
         for(Vertex v : vertices) set.add(v);
index 38f3ea1..b0ed97b 100644 (file)
@@ -213,10 +213,11 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
 
     protected HashSet<Mesh.T> safeTriangles = new HashSet<Mesh.T>();
 
-    private synchronized void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
+    private void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
         float red = 0.0f;
         float green = 0.0f;
         float blue = 0.0f;
+        synchronized(safeTriangles) {
         for(Mesh.T t : tris) {
             if (red < 0.15) red = 1.0f;
             if (green < 0.15) green = 1.0f;
@@ -279,7 +280,7 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
                 }
             */
             gl.glEnd();
-
+        }
         }
     }