X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fbind%2FBindingGroup.java;h=e93edf86accb46df2c9e86d0c529fdd5ba0ba3b5;hp=0882fa500bb7d65d2b59ce62f55d13712d372001;hb=1cfea6e5d6ca9e75578e97d1fdccf2b306af56c4;hpb=14f962b26092736eed3d8bcfd2d5642c4be4e133 diff --git a/src/edu/berkeley/qfat/bind/BindingGroup.java b/src/edu/berkeley/qfat/bind/BindingGroup.java index 0882fa5..e93edf8 100644 --- a/src/edu/berkeley/qfat/bind/BindingGroup.java +++ b/src/edu/berkeley/qfat/bind/BindingGroup.java @@ -3,8 +3,12 @@ import edu.berkeley.qfat.geom.*; import javax.media.opengl.*; import java.util.*; -/** tracks an equivalence class of geometric objects which are related to each other by transformation matrices */ -public class BindingGroup implements Iterable { +/** + * An equivalence class of geometric objects whose positions are + * related by affine transformation matrices and are constrained by + * an affine constraint. + */ +class BindingGroup implements Iterable { private T master = null; private AffineConstraint constraint = new AffineConstraint.All(); @@ -15,9 +19,10 @@ public class BindingGroup implements Iterable { matrices.put(master, Matrix.ONE); } - public int size() { return matrices.size(); } + int size() { return matrices.size(); } - public void merge(BindingGroup bg, Matrix m) { + /** merge another binding group with this one */ + void merge(BindingGroup bg, Matrix m) { if (bg==this) { if (m.equalsModuloEpsilon(Matrix.ONE, 0.001f)) return; constraint = constraint.intersect(m.getAffineConstraint(0.001f), 0.001f); @@ -39,7 +44,7 @@ public class BindingGroup implements Iterable { bg.matrices.clear(); bg.master = null; for(HasBindingGroup hbg : stuff) - hbg.bindingGroupChanged(this); + hbg.bindingGroupChanged(); } public Matrix getMatrix(T t) { return matrices.get(t); }