projects
/
anneal.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
2254944
)
checkpoint
author
adam
<adam@megacz.com>
Sun, 16 Dec 2007 02:16:35 +0000
(18:16 -0800)
committer
adam
<adam@megacz.com>
Sun, 16 Dec 2007 02:16:35 +0000
(18:16 -0800)
darcs-hash:
20071216021635
-5007d-
fe93c6cd1ae1026019862a7b0c84060dd49fd8a8
.gz
src/edu/berkeley/qfat/Mesh.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/qfat/Mesh.java
b/src/edu/berkeley/qfat/Mesh.java
index
18a9512
..
fe5baf7
100644
(file)
--- a/
src/edu/berkeley/qfat/Mesh.java
+++ b/
src/edu/berkeley/qfat/Mesh.java
@@
-149,14
+149,12
@@
public class Mesh implements Iterable<Mesh.T> {
quadricStale = false;
unApplyQuadricToNeighbor();
Matrix m = Matrix.ZERO;
quadricStale = false;
unApplyQuadricToNeighbor();
Matrix m = Matrix.ZERO;
- E e = this.e;
int count = 0;
int count = 0;
- do {
+ for(E e = this.e; e!=null; e=e.pair.next==this.e?null:e.pair.next) {
T t = e.t;
m = m.plus(t.norm().fundamentalQuadric(t.centroid()));
count++;
T t = e.t;
m = m.plus(t.norm().fundamentalQuadric(t.centroid()));
count++;
- e = e.pair.next;
- } while(e != this.e);
+ }
fundamentalQuadric = m.times(1/(float)count);
applyQuadricToNeighbor();
}
fundamentalQuadric = m.times(1/(float)count);
applyQuadricToNeighbor();
}
@@
-199,11
+197,8
@@
public class Mesh implements Iterable<Mesh.T> {
public void reComputeErrorAround() {
reComputeError();
if (nearest_in_other_mesh != null) nearest_in_other_mesh.reComputeError();
public void reComputeErrorAround() {
reComputeError();
if (nearest_in_other_mesh != null) nearest_in_other_mesh.reComputeError();
- E e = this.e;
- do {
+ for(E e = this.e; e!=null; e=e.pair.next==this.e?null:e.pair.next)
e.p2.reComputeError();
e.p2.reComputeError();
- e = e.pair.next;
- } while (e != this.e);
}
public void reComputeError() {
unComputeError();
}
public void reComputeError() {
unComputeError();
@@
-234,8
+229,7
@@
public class Mesh implements Iterable<Mesh.T> {
int numaspects = 0;
float aspects = 0;
int numaspects = 0;
float aspects = 0;
- E e = this.e;
- do {
+ for(E e = this.e; e!=null; e=e.pair.next==this.e?null:e.pair.next) {
//double ang = Math.abs(e.crossAngle());
double ang = Math.abs(e.crossAngle());
if (ang > Math.PI) throw new Error();
//double ang = Math.abs(e.crossAngle());
double ang = Math.abs(e.crossAngle());
if (ang > Math.PI) throw new Error();
@@
-249,9
+243,7
@@
public class Mesh implements Iterable<Mesh.T> {
float minangle = (float)(Math.PI * 0.8);
if (ang > minangle)
oldscore += (ang - minangle);
float minangle = (float)(Math.PI * 0.8);
if (ang > minangle)
oldscore += (ang - minangle);
-
- e = e.pair.next;
- } while (e != this.e);
+ }
if (numaspects > 0) oldscore += (aspects / numaspects);
//System.out.println(oldscore);
if (numaspects > 0) oldscore += (aspects / numaspects);
//System.out.println(oldscore);
@@
-260,18
+252,12
@@
public class Mesh implements Iterable<Mesh.T> {
}
private void removeTrianglesFromRTree() {
}
private void removeTrianglesFromRTree() {
- E e = this.e;
- do {
+ for(E e = this.e; e!=null; e=e.pair.next==this.e?null:e.pair.next)
if (e.t != null) e.t.removeFromRTree();
if (e.t != null) e.t.removeFromRTree();
- e = e.pair.next;
- } while(e != this.e);
}
private void addTrianglesToRTree() {
}
private void addTrianglesToRTree() {
- E e = this.e;
- do {
+ for(E e = this.e; e!=null; e=e.pair.next==this.e?null:e.pair.next)
if (e.t != null) e.t.addToRTree();
if (e.t != null) e.t.addToRTree();
- e = e.pair.next;
- } while(e != this.e);
}
/** does NOT update bound pairs! */
}
/** does NOT update bound pairs! */
@@
-309,16
+295,14
@@
public class Mesh implements Iterable<Mesh.T> {
public void visit(T t) {
if (!good) return;
public void visit(T t) {
if (!good) return;
- E e = Vertex.this.e;
- do {
+ for(E e = Vertex.this.e; e!=null; e=e.pair.next==Vertex.this.e?null:e.pair.next) {
if (!t.has(e.p1) && !t.has(e.p2) && e.intersects(t)) { good = false; }
if (e.t != null) {
if (!e.t.has(t.e1().p1) && !e.t.has(t.e1().p2) && t.e1().intersects(e.t)) { good = false; }
if (!e.t.has(t.e2().p1) && !e.t.has(t.e2().p2) && t.e2().intersects(e.t)) { good = false; }
if (!e.t.has(t.e3().p1) && !e.t.has(t.e3().p2) && t.e3().intersects(e.t)) { good = false; }
}
if (!t.has(e.p1) && !t.has(e.p2) && e.intersects(t)) { good = false; }
if (e.t != null) {
if (!e.t.has(t.e1().p1) && !e.t.has(t.e1().p2) && t.e1().intersects(e.t)) { good = false; }
if (!e.t.has(t.e2().p1) && !e.t.has(t.e2().p2) && t.e2().intersects(e.t)) { good = false; }
if (!e.t.has(t.e3().p1) && !e.t.has(t.e3().p2) && t.e3().intersects(e.t)) { good = false; }
}
- e = e.pair.next;
- } while(e != Vertex.this.e);
+ }
}
private boolean good;
}
private boolean good;