[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15896] trunk/blender/release/scripts/ bpymodules/colladaImEx: [#17395] Collada1.4 Importer patch: by Hiroki Utsunomiya https://projects.blender.org/tracker/index.php?func= detail&aid=17395&group_id=9&atid=127

Remigiusz Fiedler migius at 4d-vectors.de
Thu Jul 31 14:38:47 CEST 2008


Revision: 15896
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15896
Author:   migius
Date:     2008-07-31 14:38:36 +0200 (Thu, 31 Jul 2008)

Log Message:
-----------
[#17395] Collada1.4 Importer patch: by Hiroki Utsunomiya https://projects.blender.org/tracker/index.php?func=detail&aid=17395&group_id=9&atid=127
1. Fix to read library_effects/.../transparent's texture
 (translator.py.patch)
2. Fix to skip commments when reading
 (collada.py.patch, xmlutils.py.patch)

Modified Paths:
--------------
    trunk/blender/release/scripts/bpymodules/colladaImEx/collada.py
    trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py
    trunk/blender/release/scripts/bpymodules/colladaImEx/xmlUtils.py

Modified: trunk/blender/release/scripts/bpymodules/colladaImEx/collada.py
===================================================================
--- trunk/blender/release/scripts/bpymodules/colladaImEx/collada.py	2008-07-31 12:24:04 UTC (rev 15895)
+++ trunk/blender/release/scripts/bpymodules/colladaImEx/collada.py	2008-07-31 12:38:36 UTC (rev 15896)
@@ -1171,6 +1171,7 @@
 
 		# Get transforms
 		xmlUtils.RemoveWhiteSpaceNode(xmlNode)
+		xmlUtils.RemoveComments(xmlNode)
 		child = xmlNode.firstChild
 		while child != None:
 			name = child.localName

Modified: trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py
===================================================================
--- trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py	2008-07-31 12:24:04 UTC (rev 15895)
+++ trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py	2008-07-31 12:38:36 UTC (rev 15896)
@@ -3000,8 +3000,23 @@
 						alpha = 1 - tkey * (tcol[0]*0.21 + tcol[1]*0.71 + tcol[2]*0.08)
 						bMat.setAlpha(alpha)
 					if not (shader.transparent.texture is None): # Texture
-						texture = shader.transparent.texture.texture
-						if not(texture is None):
+						textureSampler = shader.transparent.texture.texture
+						print "shader"
+						print shader.transparent.texture
+						print "shader end"
+						if not(textureSampler is None):
+							#support 1.4.0:
+							texture = textureSampler;
+
+							#support 1.4.1
+							for newParam in daeEffect.profileCommon.newParams:
+								if newParam.sid == textureSampler:
+									surfaceID = newParam.sampler.source
+									for newSurface in daeEffect.profileCommon.newParams:
+										if newSurface.sid == surfaceID:
+											texture = newSurface.surface.initfrom
+
+							texture = self.document.colladaDocument.imagesLibrary.FindObject(texture)
 							bTexture = self.document.texturesLibrary.FindObject(texture, True)
 							if not bTexture is None:
 								bMat.setTexture(0, bTexture, Blender.Texture.TexCo.UV, Blender.Texture.MapTo.ALPHA)
@@ -3021,18 +3036,18 @@
 							color = shader.diffuse.color.rgba
 							bMat.setRGBCol(color[0],color[1], color[2])
 						if not (shader.diffuse.texture is None): # Texture
-							textureSampler = shader.diffuse.texture.texture;
+							textureSampler = shader.diffuse.texture.texture
 							if not (textureSampler is None):
 								#support 1.4.0:
-								texture = textureSampler;
+								texture = textureSampler
 
 								#support 1.4.1
 								for newParam in daeEffect.profileCommon.newParams:
 									if newParam.sid == textureSampler:
-										surfaceID = newParam.sampler.source;
+										surfaceID = newParam.sampler.source
 										for newSurface in daeEffect.profileCommon.newParams:
 											if newSurface.sid == surfaceID:
-												texture = newSurface.surface.initfrom;
+												texture = newSurface.surface.initfrom
 
 								texture = self.document.colladaDocument.imagesLibrary.FindObject(texture)
 								bTexture = self.document.texturesLibrary.FindObject(texture, True)
@@ -3457,4 +3472,4 @@
 		# Add this mesh in this library, under it's real name
 		self.objects[controllerID] = [bMesh, bMesh.name]
 
-		return bMesh
\ No newline at end of file
+		return bMesh

Modified: trunk/blender/release/scripts/bpymodules/colladaImEx/xmlUtils.py
===================================================================
--- trunk/blender/release/scripts/bpymodules/colladaImEx/xmlUtils.py	2008-07-31 12:24:04 UTC (rev 15895)
+++ trunk/blender/release/scripts/bpymodules/colladaImEx/xmlUtils.py	2008-07-31 12:38:36 UTC (rev 15896)
@@ -79,6 +79,12 @@
 		if child.nodeType == child.TEXT_NODE and child.data.strip()=='':
 			parent.removeChild(child)
 	return parent
+
+def RemoveComments(parent):
+	for child in list(parent.childNodes):
+		if child.__class__.__name__ == "Comment":
+			parent.removeChild(child)
+	return parent
 			
 ##def RemoveWhiteSpace(node):
 ##	  removeList = []
@@ -172,3 +178,5 @@
 	
 	return xmlNode
 
+
+





More information about the Bf-blender-cvs mailing list