예제 #1
0
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
예제 #2
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
예제 #3
0
    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()