X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fmesh.py;h=a05d4537c384ab6fb5517a7f360f0084636df9d1;hb=ef9cf91cd4638ed410a2573dd42ba25445e9bc80;hp=565fdc4929e3a9db1deaecb0ecf8efd3695e378a;hpb=dc2e08621ad586663e4c11475f03886a91463907;p=libs%2Fgl.git diff --git a/blender/io_mspgl/mesh.py b/blender/io_mspgl/mesh.py index 565fdc49..a05d4537 100644 --- a/blender/io_mspgl/mesh.py +++ b/blender/io_mspgl/mesh.py @@ -170,7 +170,6 @@ class Mesh: self.vertices = [Vertex(v) for v in self.vertices] self.faces = [Face(f) for f in self.polygons] self.edges = [Edge(e) for e in self.edges] - self.edge_map = {e.key: e for e in self.edges} self.loops = self.loops[:] self.materials = self.materials[:] @@ -192,6 +191,7 @@ class Mesh: for v in self.vertices: v.groups = [VertexGroup(g) for g in v.groups] + edge_map = {e.key: e for e in self.edges} for f in self.faces: if len(f.vertices)>4: raise ValueError("Ngons are not supported") @@ -201,7 +201,7 @@ class Mesh: v.faces.append(f) for k in f.edge_keys: - e = self.edge_map[k] + e = edge_map[k] e.faces.append(f) f.edges.append(e) @@ -262,7 +262,6 @@ class Mesh: for e in self.edges[offset:]: e.index += offset e.key = make_edge_key(e.vertices[0].index, e.vertices[1].index) - self.edge_map[e.key] = e self.lines += other.lines @@ -355,9 +354,9 @@ class Mesh: prog_count += 1 tbn_layer_index = uv_names.index(self.tbn_uvtex) progress.push_task_slice("Computing TBN", 0, prog_count) - self.compute_tbn(tbn_layer_index, progress) - progress.set_task_slice(self.tbn_uvtex, 1, prog_count) self.split_vertices(self.find_uv_group, progress, tbn_layer_index) + progress.set_task_slice(self.tbn_uvtex, 1, prog_count) + self.compute_tbn(tbn_layer_index, progress) progress.pop_task() prog_step = 2 @@ -413,20 +412,20 @@ class Mesh: ne.index = len(self.edges) self.edges.append(ne) + ne.other_vertex(self.vertices[i]).edges.append(ne) + for f in e_faces_in_g: e.faces.remove(f) f.edges[f.edges.index(e)] = ne ne.faces.append(f) e = ne else: - del self.edge_map[e.key] self.vertices[i].edges.remove(e) - v.edges.append(e) e.vertices[e.vertices.index(self.vertices[i])] = v + v.edges.append(e) e.key = make_edge_key(e.vertices[0].index, e.vertices[1].index) - self.edge_map[e.key] = e for f in g: self.vertices[i].faces.remove(f)