From: adam Date: Wed, 5 Dec 2007 07:59:52 +0000 (-0800) Subject: checkpoint X-Git-Url: http://git.megacz.com/?p=anneal.git;a=commitdiff_plain;h=e9681998186aae90379775e798e49d85d203b28e checkpoint darcs-hash:20071205075952-5007d-9ff3f912816785a61c2378c252a5193e899283f8.gz --- diff --git a/src/edu/berkeley/qfat/Main.java b/src/edu/berkeley/qfat/Main.java index 16cdbe1..f067158 100644 --- a/src/edu/berkeley/qfat/Main.java +++ b/src/edu/berkeley/qfat/Main.java @@ -233,11 +233,11 @@ public class Main extends MeshViewer { } breakit(); repaint(); - goal.unscore(); + goal.unscoreAll(); repaint(); tile.recomputeAllFundamentalQuadrics(); repaint(); - goal.rescore(); + goal.rescoreAll(); } } diff --git a/src/edu/berkeley/qfat/Mesh.java b/src/edu/berkeley/qfat/Mesh.java index 5ba7404..dfdc1a0 100644 --- a/src/edu/berkeley/qfat/Mesh.java +++ b/src/edu/berkeley/qfat/Mesh.java @@ -65,7 +65,7 @@ public class Mesh implements Iterable { } } - public void unscore() { + public void unscoreAll() { HashSet done = new HashSet(); for(T t : this) for(Vert p : new Vert[] { t.v1(), t.v2(), t.v3() }) { @@ -83,7 +83,7 @@ public class Mesh implements Iterable { p.recomputeFundamentalQuadric(); } } - public float rescore() { + public float rescoreAll() { int num = 0; double dist = 0; HashSet done = new HashSet(); @@ -193,11 +193,14 @@ public class Mesh implements Iterable { nearest_in_other_mesh = null; } + public void unsc() { + score -= oldscore; + oldscore = 0; + } public void rescore() { if (score_against == null) return; - score -= oldscore; - oldscore = 0; + unsc(); if (nearest_in_other_mesh != null) unscore(); if (nearest_in_other_mesh == null) { @@ -212,6 +215,9 @@ public class Mesh implements Iterable { } } + resc(); + } + public void resc() { oldscore = quadric_count == 0 ? 0 : (quadric.preAndPostMultiply(p) / quadric_count); score += oldscore; }