*/
class BindingGroup<T extends HasBindingGroup> implements Iterable<T> {
+ /** the arbitrarily-chosen master of the binding group */
private T master = null;
- private AffineConstraint constraint = new AffineConstraint.All();
+
+ /** the affine constraint, in master coordinates, of this binding group */
+ private AffineConstraint constraint = AffineConstraint.ALL;
+
+ /**
+ * For each member of the binding group, the matrix which must be
+ * multiplied by the master to get the member's position
+ */
private HashMap<T,Matrix> matrices = new HashMap<T,Matrix>();
public BindingGroup(T master) {
matrices.put(master, Matrix.ONE);
}
+ /** the size of this binding group */
int size() { return matrices.size(); }
/** merge another binding group into this one */