[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33842] trunk/blender/release/scripts/op/ io_scene_x3d/export_x3d.py: bugfix [#25332] X3D export fails to export complete file
Campbell Barton
ideasman42 at gmail.com
Wed Dec 22 01:30:22 CET 2010
Revision: 33842
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33842
Author: campbellbarton
Date: 2010-12-22 01:30:22 +0100 (Wed, 22 Dec 2010)
Log Message:
-----------
bugfix [#25332] X3D export fails to export complete file
Modified Paths:
--------------
trunk/blender/release/scripts/op/io_scene_x3d/export_x3d.py
Modified: trunk/blender/release/scripts/op/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_x3d/export_x3d.py 2010-12-21 20:25:37 UTC (rev 33841)
+++ trunk/blender/release/scripts/op/io_scene_x3d/export_x3d.py 2010-12-22 00:30:22 UTC (rev 33842)
@@ -388,22 +388,25 @@
# (meshName, loc[0], loc[1], loc[2], sca[0], sca[1], sca[2], rot[0], rot[1], rot[2], quat.angle*DEG2RAD) )
self.writeIndented("<Shape>\n",1)
- maters=mesh.materials
hasImageTexture = False
is_smooth = False
- if len(maters) > 0 or mesh.uv_textures.active:
- # if len(maters) > 0 or mesh.faceUV:
+ # XXX, lame, only exports first material.
+ mat_first = None
+ for mat_first in mesh.materials:
+ if mat_first:
+ break
+
+ if mat_first or mesh.uv_textures.active:
self.writeIndented("<Appearance>\n", 1)
# right now this script can only handle a single material per mesh.
- if len(maters) >= 1 and maters[0].use_face_texture == False:
- mat = maters[0]
- self.writeMaterial(mat, self.cleanStr(mat.name,''), world)
- if len(maters) > 1:
+ if mat_first and mat_first.use_face_texture == False:
+ self.writeMaterial(mat_first, self.cleanStr(mat_first.name, ""), world)
+ if len(mesh.materials) > 1:
print("Warning: mesh named %s has multiple materials" % meshName)
print("Warning: only one material per object handled")
- if not len(maters) or maters[0].use_face_texture:
+ if mat_first is None or mat_first.use_face_texture:
#-- textures
image = None
if mesh.uv_textures.active:
@@ -414,6 +417,7 @@
self.writeImageTexture(image)
break
+ # XXX, incorrect, uses last image
if image:
hasImageTexture = True
More information about the Bf-blender-cvs
mailing list