X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2FMain.java;h=b1cef4121a5e0451d92b697137f26c8450371d38;hb=713d66c4b8f6b1f3e0b20d57d004529f383d555d;hp=58961675069379a9aec66e3b10475f96ec60bd7c;hpb=415f5ddcc1c38053f390ec9dc6f55ae3d0101849;p=anneal.git diff --git a/src/edu/berkeley/qfat/Main.java b/src/edu/berkeley/qfat/Main.java index 5896167..b1cef41 100644 --- a/src/edu/berkeley/qfat/Main.java +++ b/src/edu/berkeley/qfat/Main.java @@ -239,7 +239,7 @@ public class Main extends MeshViewer { } } - //xMesh.Vert mid = lbf.getE(mbn).shatter(); + //xMesh.Vertex mid = lbf.getE(mbn).shatter(); // rescale to match volume float factor = (float)Math.pow(tile.volume() / goal.volume(), 1.0/3.0); @@ -247,6 +247,7 @@ public class Main extends MeshViewer { // translate to match centroid goal.transform(Matrix.translate(tile.centroid().minus(goal.centroid()))); + goal.makeVerticesImmutable(); //tx.e2.shatter(); //tx.e3.shatter(); @@ -265,7 +266,6 @@ public class Main extends MeshViewer { tile.score_against = goal; goal.score_against = tile; - tile.tilemesh = true; } public synchronized void breakit() { @@ -286,7 +286,7 @@ public class Main extends MeshViewer { tile.rebindPoints(); } - public synchronized void rand(float temp, Mesh.Vert p) { + public synchronized void rand(float temp, Mesh.Vertex p) { //p.reComputeError(); p.reComputeErrorAround(); @@ -380,16 +380,16 @@ public class Main extends MeshViewer { temp = temp * gamma; - HashSet hs = new HashSet(); - for(Mesh.Vert p : tile.vertices()) hs.add(p); - Mesh.Vert[] pts = (Mesh.Vert[])hs.toArray(new Mesh.Vert[0]); + HashSet hs = new HashSet(); + for(Mesh.Vertex p : tile.vertices()) hs.add(p); + Mesh.Vertex[] pts = (Mesh.Vertex[])hs.toArray(new Mesh.Vertex[0]); int count = 0; long then = System.currentTimeMillis(); for(int i=0; i<100; i++) { if (anneal) { count++; - Mesh.Vert v = pts[Math.abs(random.nextInt()) % pts.length]; + Mesh.Vertex v = pts[Math.abs(random.nextInt()) % pts.length]; rand(temp,v); } Thread.yield(); @@ -409,7 +409,7 @@ public class Main extends MeshViewer { goal.applyQuadricToNeighborAll(); safeTriangles.clear(); - for(Mesh.T t : tile) safeTriangles.add(t); + for(Mesh.T t : tile) if (t.shouldBeDrawn()) safeTriangles.add(t); } } }