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