projects
/
anneal.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
725965a
)
checkpoint
author
adam
<adam@megacz.com>
Wed, 5 Dec 2007 09:48:49 +0000
(
01:48
-0800)
committer
adam
<adam@megacz.com>
Wed, 5 Dec 2007 09:48:49 +0000
(
01:48
-0800)
darcs-hash:
20071205094849
-5007d-
655c32e39b59a8b5ea3e42ebd48e23d5d483d7b2
.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
f9c9b94
..
2441057
100644
(file)
--- a/
src/edu/berkeley/qfat/Mesh.java
+++ b/
src/edu/berkeley/qfat/Mesh.java
@@
-239,7
+239,6
@@
public class Mesh implements Iterable<Mesh.T> {
e = e.pair.next;
} while(e != this.e);
e = e.pair.next;
} while(e != this.e);
-
// FIXME: intersection test needed?
return true;
}
// FIXME: intersection test needed?
return true;
}
@@
-323,23
+322,22
@@
public class Mesh implements Iterable<Mesh.T> {
public BindingGroup bind_others;
public BindingGroup other() { return bind_others; }
public BindingGroup(BindingGroup bind_others) { this.bind_others = bind_others; }
public BindingGroup bind_others;
public BindingGroup other() { return bind_others; }
public BindingGroup(BindingGroup bind_others) { this.bind_others = bind_others; }
- public BindingGroup() {
- this.bind_others = new BindingGroup(this);
- }
+ public BindingGroup() { this.bind_others = new BindingGroup(this); }
+ public BindingGroup(E e) { this(); set.add(e); }
public void add(E e) {
if (set.contains(e)) return;
for (E epeer : e.bind_peers.set) {
epeer.bind_peers = this;
public void add(E e) {
if (set.contains(e)) return;
for (E epeer : e.bind_peers.set) {
epeer.bind_peers = this;
+ epeer.bind_to = bind_others;
set.add(epeer);
}
for (E eother : e.bind_to.set) {
set.add(epeer);
}
for (E eother : e.bind_to.set) {
- eother.bind_to = bind_others;
bind_others.add(eother);
}
bind_others.add(eother);
}
- for(E ex : (!swap ? right : left)) {
- if (e.prev.isBoundTo(ex.prev)) {
- System.out.println("hit!");
+ for(E eother : bind_others.set) {
+ if (e.next.bind_to.set.contains(eother.prev)) {
+ e.next.next.bindEdge(eother.prev.prev);
}
}
}
}
@@
-352,7
+350,7
@@
public class Mesh implements Iterable<Mesh.T> {
}
public void shatter(BindingGroup bg1, BindingGroup bg2) {
for(E e : set) {
}
public void shatter(BindingGroup bg1, BindingGroup bg2) {
for(E e : set) {
- e.shatter(e.midpoint(), bg1, bg2, false);
+ e.shatter(e.midpoint(), bg1, bg2);
}
}
}
}
}
}
@@
-365,7
+363,7
@@
public class Mesh implements Iterable<Mesh.T> {
E prev; // previous half-edge
E next; // next half-edge
E pair; // partner half-edge
E prev; // previous half-edge
E next; // next half-edge
E pair; // partner half-edge
- public BindingGroup bind_peers = new BindingGroup();
+ public BindingGroup bind_peers = new BindingGroup(this);
public BindingGroup bind_to = bind_peers.other();
boolean shattered = false;
public BindingGroup bind_to = bind_peers.other();
boolean shattered = false;
@@
-373,8
+371,8
@@
public class Mesh implements Iterable<Mesh.T> {
public void bindEdge(E e) { bind_to.add(e); }
public void dobind() { bind_to.dobind(this); }
public void bindEdge(E e) { bind_to.add(e); }
public void dobind() { bind_to.dobind(this); }
- public Point shatter() { return shatter(midpoint(), null, null, false); }
- public Point shatter(Point mid, BindingGroup bg1, BindingGroup bg2, boolean swap) {
+ public Point shatter() { return shatter(midpoint(), null, null); }
+ public Point shatter(Point mid, BindingGroup bg1, BindingGroup bg2) {
if (shattered) return mid;
shattered = true;
if (shattered) return mid;
shattered = true;
@@
-407,10
+405,12
@@
public class Mesh implements Iterable<Mesh.T> {
prev.t = null;
pair.next.t = null;
pair.prev.t = null;
prev.t = null;
pair.next.t = null;
pair.prev.t = null;
+ /*
this.bind_to = null;
pair.bind_to = null;
this.bind_peers = null;
pair.bind_peers = null;
this.bind_to = null;
pair.bind_to = null;
this.bind_peers = null;
pair.bind_peers = null;
+ */
pair.prev.next = next;
next.prev = pair.prev;
prev.next = pair.next;
pair.prev.next = next;
next.prev = pair.prev;
prev.next = pair.next;