def load_skeleton()

in common/utils/mesh.py [0:0]


    def load_skeleton(self, path, joint_num):

        # load joint info (name, parent_id)
        skeleton = [{} for _ in range(joint_num)]
        with open(path) as fp:
            for line in fp:
                if line[0] == '#': continue
                splitted = line.split(' ')
                joint_name, joint_id, joint_parent_id = splitted
                joint_id, joint_parent_id = int(joint_id), int(joint_parent_id)
                skeleton[joint_id]['name'] = joint_name
                skeleton[joint_id]['parent_id'] = joint_parent_id
                 
                if joint_name.endswith('null'):
                    skeleton[joint_id]['DoF'] = np.array([0,0,0],dtype=np.float32)
                elif joint_name.endswith('3'):
                    skeleton[joint_id]['DoF'] = np.array([0,0,1],dtype=np.float32)
                elif joint_name.endswith('2'):
                    skeleton[joint_id]['DoF'] = np.array([0,0,1],dtype=np.float32)
                elif joint_name.endswith('1'):
                    skeleton[joint_id]['DoF'] = np.array([1,1,1],dtype=np.float32)
                elif joint_name.endswith('thumb0'):
                    skeleton[joint_id]['DoF'] = np.array([1,1,1],dtype=np.float32)
                else:
                    skeleton[joint_id]['DoF'] = np.array([0,0,0],dtype=np.float32)

        # save child_id
        for i in range(len(skeleton)):
            joint_child_id = []
            for j in range(len(skeleton)):
                if skeleton[j]['parent_id'] == i:
                    joint_child_id.append(j)
            skeleton[i]['child_id'] = joint_child_id
        
        self.skeleton = skeleton