[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26037] trunk/blender: Workaround to fix #20645.

Arystanbek Dyussenov arystan.d at gmail.com
Sat Jan 16 16:20:29 CET 2010


Revision: 26037
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26037
Author:   kazanbas
Date:     2010-01-16 16:20:27 +0100 (Sat, 16 Jan 2010)

Log Message:
-----------
Workaround to fix #20645. Iteration over multidim arrays and slicing of them is broken.

Before fixing this I'd like to clean BPY a bit.

Modified Paths:
--------------
    trunk/blender/release/scripts/io/export_fbx.py
    trunk/blender/release/scripts/io/export_obj.py
    trunk/blender/release/scripts/io/export_x3d.py
    trunk/blender/source/blender/python/intern/bpy_array.c

Modified: trunk/blender/release/scripts/io/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/io/export_fbx.py	2010-01-16 15:17:40 UTC (rev 26036)
+++ trunk/blender/release/scripts/io/export_fbx.py	2010-01-16 15:20:27 UTC (rev 26037)
@@ -1751,9 +1751,10 @@
                 ii = 0 # Count how many UVs we write
 
                 for uf in uvlayer.data:
-# 				for f in me.faces:
-                    for uv in uf.uv:
-# 					for uv in f.uv:
+#               for f in me.faces:
+                    # workaround, since uf.uv iteration is wrong atm
+                    for uv in [uf.uv1, uf.uv2, uf.uv3, uf.uv4][:len(uf.uv)]:
+#                   for uv in f.uv:
                         if i==-1:
                             file.write('%.6f,%.6f' % tuple(uv))
                             i=0

Modified: trunk/blender/release/scripts/io/export_obj.py
===================================================================
--- trunk/blender/release/scripts/io/export_obj.py	2010-01-16 15:17:40 UTC (rev 26036)
+++ trunk/blender/release/scripts/io/export_obj.py	2010-01-16 15:20:27 UTC (rev 26037)
@@ -563,7 +563,8 @@
 
                     tface = uv_layer.data[f_index]
 
-                    uvs = tface.uv
+                    # workaround, since tface.uv iteration is wrong atm
+                    uvs = [tface.uv1, tface.uv2, tface.uv3, tface.uv4][:len(tface.uv)]
                     # uvs = [tface.uv1, tface.uv2, tface.uv3]
 
                     # # add another UV if it's a quad

Modified: trunk/blender/release/scripts/io/export_x3d.py
===================================================================
--- trunk/blender/release/scripts/io/export_x3d.py	2010-01-16 15:17:40 UTC (rev 26036)
+++ trunk/blender/release/scripts/io/export_x3d.py	2010-01-16 15:20:27 UTC (rev 26037)
@@ -616,7 +616,8 @@
 
         for face in mesh.active_uv_texture.data:
         # for face in mesh.faces:
-            uvs = face.uv
+            # workaround, since tface.uv iteration is wrong atm
+            uvs = [face.uv1, face.uv2, face.uv3, face.uv4][:len(face.uv)]
             # uvs = [face.uv1, face.uv2, face.uv3, face.uv4] if face.verts[3] else [face.uv1, face.uv2, face.uv3]
 
             for uv in uvs:
@@ -625,6 +626,7 @@
                 texCoordList.append(uv)
                 j=j+1
             texIndexList.append(-1)
+			
         if self.writingtexture == 0:
             self.file.write("\n\t\t\ttexCoordIndex=\"")
             texIndxStr=""

Modified: trunk/blender/source/blender/python/intern/bpy_array.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_array.c	2010-01-16 15:17:40 UTC (rev 26036)
+++ trunk/blender/source/blender/python/intern/bpy_array.c	2010-01-16 15:20:27 UTC (rev 26037)
@@ -1,5 +1,5 @@
 /**
- * 
+ * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *





More information about the Bf-blender-cvs mailing list