def initalize(ob, key):
'''Set up the indexing for viewing each edge per vert per face loop'''
obm = get_bmesh(ob)
ed_pairs_per_v = []
for f in obm.faces:
for v in f.verts:
set = []
for e in f.edges:
if v in e.verts:
set.append(e.index)
ed_pairs_per_v.append(set)
data[ob.name]['ed_pairs_per_v'] = np.array(ed_pairs_per_v)
data[ob.name]['zeros'] = np.zeros(len(data[ob.name]['ed_pairs_per_v']) * 3).reshape(len(data[ob.name]['ed_pairs_per_v']), 3)
key_coords = get_key_coords(ob, key)
ed1 = get_edge_idx(ob)
#linked = np.array([len(i.link_faces) for i in obm.edges]) > 0
data[ob.name]['edges'] = get_edge_idx(ob)#[linked]
dif = key_coords[data[ob.name]['edges'][:,0]] - key_coords[data[ob.name]['edges'][:,1]]
data[ob.name]['mags'] = np.sqrt(np.einsum('ij,ij->i', dif, dif))
mat_idx = np.zeros(len(ob.data.polygons), dtype=np.int64)
ob.data.polygons.foreach_get('material_index', mat_idx)
data[ob.name]['mat_index'] = mat_idx
if 'material' not in data[ob.name]:
print('ran this')
material_setup(ob)
DynamicTensionMap.py 文件源码
python
阅读 28
收藏 0
点赞 0
评论 0
评论列表
文章目录