X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FHasBindingGroup.java;fp=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FHasBindingGroup.java;h=064b65715eb94fcb7f443386fe7f4a988d7f2ad5;hp=5b761a313f7e05dffae1eea05c0aee4a3f5f7ed7;hb=33fcd7732290bcd1c7108ba9388af173fd139ee2;hpb=057c13160ad92b08ea09a9e0af78a7fd043bf0b2 diff --git a/src/edu/berkeley/qfat/geom/HasBindingGroup.java b/src/edu/berkeley/qfat/geom/HasBindingGroup.java index 5b761a3..064b657 100644 --- a/src/edu/berkeley/qfat/geom/HasBindingGroup.java +++ b/src/edu/berkeley/qfat/geom/HasBindingGroup.java @@ -31,12 +31,19 @@ public abstract class HasBindingGroup { other.bindingGroup.merge(bindingGroup, bindingMatrix); } + public int bindingGroupSize() { + if (bindingGroup == null) return 1; + return bindingGroup.size(); + } + + public Matrix getBindingMatrix() { if (bindingGroup==null) return Matrix.ONE; return bindingGroup.getMatrix(this); } public Matrix getBindingMatrix(HasBindingGroup other) { + if (other==this) return Matrix.ONE; return bindingGroup.getMatrix(this, other); } @@ -53,7 +60,7 @@ public abstract class HasBindingGroup { } public boolean isBoundTo(HasBindingGroup t) { - return bindingGroup.contains(t); + return t==this || (bindingGroup!=null && bindingGroup.contains(t)); } public Iterable getBoundPeers() {