projects
/
anneal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
checkpoint
[anneal.git]
/
src
/
edu
/
berkeley
/
qfat
/
Mesh.java
diff --git
a/src/edu/berkeley/qfat/Mesh.java
b/src/edu/berkeley/qfat/Mesh.java
index
e124072
..
f537429
100644
(file)
--- a/
src/edu/berkeley/qfat/Mesh.java
+++ b/
src/edu/berkeley/qfat/Mesh.java
@@
-215,8
+215,13
@@
public class Mesh implements Iterable<Mesh.T> {
// Vertexices //////////////////////////////////////////////////////////////////////////////
// Vertexices //////////////////////////////////////////////////////////////////////////////
+
/** a vertex in the mesh */
public final class Vertex extends HasQuadric implements Visitor {
/** a vertex in the mesh */
public final class Vertex extends HasQuadric implements Visitor {
+ public void bindTo(Matrix bindingMatrix, HasBindingGroup other) {
+ bindTo(bindingMatrix, other, EPSILON);
+ }
+
public Point p, goodp;
public Point oldp;
E e; // some edge *leaving* this point
public Point p, goodp;
public Point oldp;
E e; // some edge *leaving* this point
@@
-557,6
+562,10
@@
public class Mesh implements Iterable<Mesh.T> {
/** [UNIQUE] an edge */
public final class E extends HasBindingGroup implements Comparable<E> {
/** [UNIQUE] an edge */
public final class E extends HasBindingGroup implements Comparable<E> {
+ public void bindTo(Matrix bindingMatrix, HasBindingGroup other) {
+ bindTo(bindingMatrix, other, EPSILON);
+ }
+
public void sanity() {
if (destroyed) return;
if (pair!=null && (pair.v1!=v2 || pair.v2!=v1)) throw new RuntimeException();
public void sanity() {
if (destroyed) return;
if (pair!=null && (pair.v1!=v2 || pair.v2!=v1)) throw new RuntimeException();
@@
-610,13
+619,9
@@
public class Mesh implements Iterable<Mesh.T> {
}
}
- public void bindingGroupChanged(BindingGroup newBindingGroup_) {
-
- BindingGroup<E> newBindingGroup = (BindingGroup<E>)newBindingGroup_;
- if (newBindingGroup==null) return;
- //if (this==newBindingGroup.getMaster()) return;
+ public void bindingGroupChanged() {
HashSet<E> nbg = new HashSet<E>();
HashSet<E> nbg = new HashSet<E>();
- for(E eother : (Iterable<E>)newBindingGroup) nbg.add(eother);
+ for(E eother : (Iterable<E>)getBoundPeers()) nbg.add(eother);
for(E eother : nbg) {
if (next==null || prev==null) continue;
if (eother.next==null || eother.prev==null) continue;
for(E eother : nbg) {
if (next==null || prev==null) continue;
if (eother.next==null || eother.prev==null) continue;
@@
-691,8
+696,8
@@
public class Mesh implements Iterable<Mesh.T> {
v1.bindTo(getBindingMatrix(e), e.v1);
v2.bindTo(getBindingMatrix(e), e.v2);
/*
v1.bindTo(getBindingMatrix(e), e.v1);
v2.bindTo(getBindingMatrix(e), e.v2);
/*
- e.v1.setConstraint(getConstraint());
- e.v2.setConstraint(getConstraint());
+ e.v1.setConstraint(getAffineConstraint());
+ e.v2.setConstraint(getAffineConstraint());
*/
}
}
*/
}
}
@@
-736,8
+741,8
@@
public class Mesh implements Iterable<Mesh.T> {
e.v2.getE(mid).pair.pair.bindTo(e.getBindingMatrix(firste), firstq.pair);
}
/*
e.v2.getE(mid).pair.pair.bindTo(e.getBindingMatrix(firste), firstq.pair);
}
/*
- first.setConstraint(firste.getConstraint());
- firstq.setConstraint(firste.getConstraint());
+ first.setConstraint(firste.getAffineConstraint());
+ firstq.setConstraint(firste.getAffineConstraint());
*/
return nearest(midpoint());
}
*/
return nearest(midpoint());
}
@@
-1069,8
+1074,8
@@
public class Mesh implements Iterable<Mesh.T> {
}
*/
/*
}
*/
/*
- first.setConstraint(firste.getConstraint());
- firstq.setConstraint(firste.getConstraint());
+ first.setConstraint(firste.getAffineConstraint());
+ firstq.setConstraint(firste.getAffineConstraint());
*/
return null;
}
*/
return null;
}