X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FHasBindingGroup.java;h=ecc4f1cf9244f3d0acb394d52ac806460abc5aa8;hb=de2400d58116bd995e73baf7a429e22def1e4067;hp=064b65715eb94fcb7f443386fe7f4a988d7f2ad5;hpb=33fcd7732290bcd1c7108ba9388af173fd139ee2;p=anneal.git diff --git a/src/edu/berkeley/qfat/geom/HasBindingGroup.java b/src/edu/berkeley/qfat/geom/HasBindingGroup.java index 064b657..ecc4f1c 100644 --- a/src/edu/berkeley/qfat/geom/HasBindingGroup.java +++ b/src/edu/berkeley/qfat/geom/HasBindingGroup.java @@ -1,10 +1,11 @@ package edu.berkeley.qfat.geom; import javax.media.opengl.*; import java.util.*; +import edu.berkeley.qfat.Mesh; public abstract class HasBindingGroup { - BindingGroup bindingGroup; + public BindingGroup bindingGroup; // know: self = bindingGroup[self] * master // know: other = other.bindingGroup[other] * other.bindingGroup.master @@ -16,12 +17,9 @@ public abstract class HasBindingGroup { if (other.bindingGroup == null) other.bindingGroup = new BindingGroup(other); if (other.bindingGroup == this.bindingGroup) { - if (getBindingMatrix(other).equals(bindingMatrix)) + if (getBindingMatrix(other).equalsModuloEpsilon(bindingMatrix, 0.001f)) return; - throw new Error("rebind attempt: "+this+" and "+other+" with " - + bindingMatrix - + "; expected " - + getBindingMatrix(other)); + return; } bindingMatrix = @@ -47,11 +45,6 @@ public abstract class HasBindingGroup { return bindingGroup.getMatrix(this, other); } - public HasBindingGroup getMaster() { - if (bindingGroup==null) return this; - return bindingGroup.getMaster(); - } - public void unbind() { if (bindingGroup==null) return; bindingGroup.unbind(this);