// therefore: master = bindingGroup[self]^-1 * bindingMatrix * other
// therefore: = bindingGroup[self]^-1 * bindingMatrix * other.bindingGroup[other] * other.bindingGroup.master
public void bindTo(Matrix bindingMatrix, HasBindingGroup other) {
+ // FIXME
+ bindTo(bindingMatrix, other, 0.001f);
+ }
+ public void bindTo(Matrix bindingMatrix, HasBindingGroup other, float epsilon) {
if (bindingGroup == null) bindingGroup = new BindingGroup(this);
if (other.bindingGroup == null) other.bindingGroup = new BindingGroup(other);
getBindingMatrix().inverse()
.times(bindingMatrix)
.times(other.getBindingMatrix());
- other.bindingGroup.merge(bindingGroup, bindingMatrix);
+ other.bindingGroup.merge(bindingGroup, bindingMatrix, epsilon);
}
public int bindingGroupSize() {