]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/mesh.py
Fix suspicious code in the mesh exporter
[libs/gl.git] / blender / io_mspgl / mesh.py
index 42adabe66f79c8716266e6319371d376b858d133..2296019e4cb3f45062b6bff14e3a147ec6c37c57 100644 (file)
@@ -95,13 +95,6 @@ class Face:
                n = self.vertices.index(v)
                return [(n+i)%len(self.vertices) for i in range(len(self.vertices))]
 
-       def pivot_vertices(self, *vt):
-               flags = [(v in vt) for v in self.vertices]
-               l = len(self.vertices)
-               for i in range(l):
-                       if flags[i] and not flags[(i+l-1)%l]:
-                               return self.vertices[i:]+self.vertices[:i]
-
        def get_edge(self, v1, v2):
                key = make_edge_key(v1.index, v2.index)
                for e in self.edges:
@@ -440,6 +433,8 @@ class Mesh:
                                self.compute_tbn(tbn_layer_index, progress)
                                progress.pop_task()
                                prog_step = 2
+                       else:
+                               raise Exception("TBN UV layer not found")
 
                # Split by the remaining UV layers
                for i, u in enumerate(self.uv_layers):
@@ -550,9 +545,9 @@ class Mesh:
                for i, v in enumerate(self.vertices):
                        v.normal = mathutils.Vector()
                        for f in v.faces:
-                               fv = f.pivot_vertices(v)
-                               edge1 = fv[1].co-fv[0].co
-                               edge2 = fv[-1].co-fv[0].co
+                               vi = f.pivot_vertex(v)
+                               edge1 = f.vertices[vi[1]].co-v.co
+                               edge2 = f.vertices[vi[-1]].co-v.co
                                if edge1.length and edge2.length:
                                        # Use the angle between edges as a weighting factor.  This gives
                                        # more consistent normals on bends with an inequal number of