checkpoint
authoradam <adam@megacz.com>
Sun, 16 Dec 2007 02:36:53 +0000 (18:36 -0800)
committeradam <adam@megacz.com>
Sun, 16 Dec 2007 02:36:53 +0000 (18:36 -0800)
darcs-hash:20071216023653-5007d-ebe6a1cff2a53d0d4eed04a1a8ebd4715cac5b64.gz

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

index b1cef41..6818bba 100644 (file)
@@ -386,7 +386,7 @@ public class Main extends MeshViewer {
 
             int count = 0;
             long then = System.currentTimeMillis();
 
             int count = 0;
             long then = System.currentTimeMillis();
-            for(int i=0; i<100; i++) {
+            for(int i=0; i<40; i++) {
                 if (anneal) {
                     count++;
                     Mesh.Vertex v = pts[Math.abs(random.nextInt()) % pts.length];
                 if (anneal) {
                     count++;
                     Mesh.Vertex v = pts[Math.abs(random.nextInt()) % pts.length];
@@ -398,10 +398,7 @@ public class Main extends MeshViewer {
             System.out.println("temp="+temp + " ratio="+(Math.ceil(ratio*100)) + " " +
                                "points_per_second=" +
                                (count*1000)/((double)(System.currentTimeMillis()-then)));
             System.out.println("temp="+temp + " ratio="+(Math.ceil(ratio*100)) + " " +
                                "points_per_second=" +
                                (count*1000)/((double)(System.currentTimeMillis()-then)));
-            tile.rebuild();
-            repaint();
-            //breakit();
-            repaint();
+
             goal.unApplyQuadricToNeighborAll();
             repaint();
             tile.recomputeAllFundamentalQuadrics();
             goal.unApplyQuadricToNeighborAll();
             repaint();
             tile.recomputeAllFundamentalQuadrics();
index 8f3e6ab..1d842f7 100644 (file)
@@ -18,9 +18,9 @@ public class Mesh implements Iterable<Mesh.T> {
     private PointSet<Vertex> vertices  = new PointSet<Vertex>();
 
     public boolean immutableVertices;
     private PointSet<Vertex> vertices  = new PointSet<Vertex>();
 
     public boolean immutableVertices;
-    public boolean ignorecollision = false;
-    public Mesh    score_against = null;
-    public double  score = 0;
+    public boolean ignorecollision    = false;
+    public Mesh    score_against      = null;
+    public double  score              = 0;
 
     public Mesh(boolean immutableVertices) { this.immutableVertices = immutableVertices; }
 
 
     public Mesh(boolean immutableVertices) { this.immutableVertices = immutableVertices; }
 
@@ -47,35 +47,16 @@ public class Mesh implements Iterable<Mesh.T> {
     }
 
     public void unApplyQuadricToNeighborAll() {
     }
 
     public void unApplyQuadricToNeighborAll() {
-        HashSet<Vertex> done = new HashSet<Vertex>();
-        for(T t : this)
-            for(Vertex p : new Vertex[] { t.v1(), t.v2(), t.v3() }) {
-                if (done.contains(p)) continue;
-                done.add(p);
-                p.unApplyQuadricToNeighbor();
-            }
+        for(Vertex p : vertices)
+            p.unApplyQuadricToNeighbor();
     }
     public void recomputeAllFundamentalQuadrics() {
     }
     public void recomputeAllFundamentalQuadrics() {
-        HashSet<Vertex> done = new HashSet<Vertex>();
-        for(T t : this)
-            for(Vertex p : new Vertex[] { t.v1(), t.v2(), t.v3() }) {
-                if (done.contains(p)) continue;
-                done.add(p);
-                p.recomputeFundamentalQuadric();
-            }
+        for(Vertex p : vertices)
+            p.recomputeFundamentalQuadric();
     }
     }
-    public float applyQuadricToNeighborAll() {
-        int num = 0;
-        double dist = 0;
-        HashSet<Vertex> done = new HashSet<Vertex>();
-        for(T t : this)
-            for(Vertex p : new Vertex[] { t.v1(), t.v2(), t.v3() }) {
-                if (done.contains(p)) continue;
-                done.add(p);
-                p.applyQuadricToNeighbor();
-                
-            }
-        return (float)(dist/num);
+    public void applyQuadricToNeighborAll() {
+        for(Vertex p : vertices)
+            p.applyQuadricToNeighbor();
     }
 
     public void transform(Matrix m) {
     }
 
     public void transform(Matrix m) {
@@ -335,6 +316,7 @@ public class Mesh implements Iterable<Mesh.T> {
                     return true;
             return false;
         }
                     return true;
             return false;
         }
+
         public void unbind() { bound_to = this; binding = Matrix.ONE; }
         public void bind(Vertex p) { bind(p, Matrix.ONE); }
         public void bind(Vertex p, Matrix binding) {
         public void unbind() { bound_to = this; binding = Matrix.ONE; }
         public void bind(Vertex p) { bind(p, Matrix.ONE); }
         public void bind(Vertex p, Matrix binding) {
@@ -403,20 +385,7 @@ public class Mesh implements Iterable<Mesh.T> {
         public boolean intersects(T t) { return t.intersects(p1.p, p2.p); }
         public float comparator() {
             Vertex nearest = score_against.nearest(midpoint());
         public boolean intersects(T t) { return t.intersects(p1.p, p2.p); }
         public float comparator() {
             Vertex nearest = score_against.nearest(midpoint());
-            //if (t==null) return length();
-            /*
-              double ang = Math.abs(crossAngle());
-              float minangle = (float)(Math.PI * 0.9);
-              if (ang > minangle)
-              return 300;
-            */
-            /*
-              if ((length() * length()) / t.area() > 10)
-              return (float)(length()*Math.sqrt(t.area()));
-              return length()*t.area();
-            */
             return (float)Math.max(length(), midpoint().distance(nearest.p));
             return (float)Math.max(length(), midpoint().distance(nearest.p));
-            //return length();
         }
         public int compareTo(E e) {
             return e.comparator() > comparator() ? 1 : -1;
         }
         public int compareTo(E e) {
             return e.comparator() > comparator() ? 1 : -1;