def setMeshData()

in renderer/glViewer.py [0:0]


def setMeshData(mesh_list, bComputeNormal = False):

    global g_meshes

    #g_skeletons = np.asarray(skel_list)  #no effect if skel_list is already np.array

    ##
    g_meshes = [ d.copy() for d in mesh_list]

    if len(g_meshes)==0:
        return

    if len(g_meshes)>40:
        print("Warning: too many meshes ({})".format(len(g_meshes)))
        g_meshes =g_meshes[:40]


    if len(g_meshes)==0:
        return

    if len(g_meshes)>40:
        print("Warning: too many meshes ({})".format(len(g_meshes)))
        g_meshes =g_meshes[:40]


    for element in g_meshes:
        if len(element['ver'].shape) ==2:
            # print("## setMeshData: Warning: input size should be (N, verNum, 3). Current input is (verNum, 3). I am automatically fixing this.")
            element['ver'] = element['ver'][np.newaxis,:,:]
            if 'normal' in element.keys():
                element['normal'] = element['normal'][np.newaxis,:,:]

    #Auto computing normal
    if bComputeNormal:
        # print("## setMeshData: Computing face normals automatically.")
        for element in g_meshes:
            element['normal'] = ComputeNormal(element['ver'],element['f']) #output: (N, 18540, 3)

    #g_frameLimit = g_skeletons.shape[2]
    #mesh_list[0]['ver'].shape
    # frameLens = [l['ver'].shape[0] for l in g_meshes]
    # g_frameLimit = max(g_frameLimit,min(frameLens))

    setFrameLimit()