From e9681998186aae90379775e798e49d85d203b28e Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 4 Dec 2007 23:59:52 -0800 Subject: [PATCH] checkpoint darcs-hash:20071205075952-5007d-9ff3f912816785a61c2378c252a5193e899283f8.gz --- src/edu/berkeley/qfat/Main.java | 4 ++-- src/edu/berkeley/qfat/Mesh.java | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) 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; } -- 1.7.10.4