def parent(parent_bone, child_bone): child_bone.parent = parent_bone ''' parent_bone.children_list.append(child_bone) ''' # fix pivot points and handle points if parent_bone.type == const.TYPE_CHIEF_BONE and parent_bone.SP_SEL: utils.snapToParentTranslator(parent_bone, child_bone, 1, -1, True) child_bone.wunderkind = True else: utils.snapToParent(parent_bone, child_bone, 1, -1) """ del_x = (child_bone.pos[0] - parent_bone.handle.pos[0]) del_y = -(child_bone.pos[1] - parent_bone.handle.pos[1]) new_pos = child_bone.handle.pos[0] + del_x, child_bone.handle.pos[1] + del_y child_bone.pos = parent_bone.handle.pos child_bone.updateHandle(new_pos) """ child_bone.parenting_code = 0 parent_bone.parenting_code = 0
def childTranslate(self): if self.wunderkind: utils.snapToParentTranslator(self.parent, self, -1, -1) else: utils.snapToParent(self.parent, self, -1, -1) self.translating = True
def propagateTranslation(self): if self.children_list: for child in self.children_list: if not child.wunderkind: utils.snapToParent(self, child, -1, -1) else: utils.snapToParentTranslator(self, child, -1, -1) # propagate to grandchildren, too child.propagateTranslation()