from Constraint import Constraint class Vertical(Constraint): def __init__(self, shape1, pt1, shape2, pt2, dist): self.shape1 = shape1 self.pt1 = pt1 self.shape2 = shape2 self.pt2 = pt2 self.dist def toEqu(self): varrefs1 = self.shape1.toEqu(pt1)[0] varrefs2 = self.shape2.toEqu(pt2)[0] coeffs = [] for i in range(len(varrefs1)): coeffs.append((-1 * varrefs1[i], (self.shape1, i))) for i in range(len(varrefs2)): coeffs.append((1 * varrefs2[i], (self.shape2, i)) return [(coeffs, self.dist)]