X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FBindingGroup.java;h=5f6bf2bfe3f67f2e30bb52da7fdcd941a0aed8c6;hp=8ea271ef600c75b62a15d5d80f360eb76d20b578;hb=33fcd7732290bcd1c7108ba9388af173fd139ee2;hpb=de98420094a537a70140842ff185e6d113ad270e diff --git a/src/edu/berkeley/qfat/geom/BindingGroup.java b/src/edu/berkeley/qfat/geom/BindingGroup.java index 8ea271e..5f6bf2b 100644 --- a/src/edu/berkeley/qfat/geom/BindingGroup.java +++ b/src/edu/berkeley/qfat/geom/BindingGroup.java @@ -12,11 +12,16 @@ public class BindingGroup implements Iterable { matrices.put(master, Matrix.ONE); } + public int size() { return matrices.size(); } + public void merge(BindingGroup bg, Matrix m) { + if (bg==this) throw new Error(); for(HasBindingGroup hbg : bg.matrices.keySet()) { matrices.put((T)hbg, bg.matrices.get(hbg).times(m)); hbg.bindingGroup = this; } + for(HasBindingGroup hbg : bg.matrices.keySet()) + hbg.bindingGroupChanged(this); bg.matrices.clear(); bg.master = null; }