[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2760] contrib/py/scripts/addons/ io_scene_ms3d: fix: in exporter, forgot to change changed vertex_ex handling in ms3d_export.py
Alexander Nussbaumer
alpha-beta-release at gmx.net
Fri Dec 9 22:05:51 CET 2011
Revision: 2760
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2760
Author: beta-tester
Date: 2011-12-09 21:05:42 +0000 (Fri, 09 Dec 2011)
Log Message:
-----------
fix: in exporter, forgot to change changed vertex_ex handling in ms3d_export.py
... and some code layout/formating
Modified Paths:
--------------
contrib/py/scripts/addons/io_scene_ms3d/__README__.txt
contrib/py/scripts/addons/io_scene_ms3d/__init__.py
contrib/py/scripts/addons/io_scene_ms3d/ms3d_export.py
contrib/py/scripts/addons/io_scene_ms3d/ms3d_import.py
contrib/py/scripts/addons/io_scene_ms3d/ms3d_spec.py
contrib/py/scripts/addons/io_scene_ms3d/ms3d_utils.py
Modified: contrib/py/scripts/addons/io_scene_ms3d/__README__.txt
===================================================================
--- contrib/py/scripts/addons/io_scene_ms3d/__README__.txt 2011-12-09 17:19:08 UTC (rev 2759)
+++ contrib/py/scripts/addons/io_scene_ms3d/__README__.txt 2011-12-09 21:05:42 UTC (rev 2760)
@@ -91,8 +91,9 @@
changelog:
-changed: (0, 3, 4, "beta (2011-12-05 00:00)"),
-add: importer adds ms3d_flags custom properties for some objects
+changed: (0, 3, 4, "beta (2011-12-09 00:00)"),
+fix: exporter forgot to change changed vertex_ex handling in ms3d_exporter.py
+add: importer adds ms3d_flags custom properties for some objects
fix: importer corrects the roll of blender bones
add: importer adds ms3d_comment custom properties for modelComment (to a blender empty), groupComments (to its blender meshes), materialComments (to its blender materials) and jointComments (to its blender bones)
add: importer adds raw data ms3d_ambient and ms3d_emissive custom properties to material, because blender does not have an exact similar color definition
Modified: contrib/py/scripts/addons/io_scene_ms3d/__init__.py
===================================================================
--- contrib/py/scripts/addons/io_scene_ms3d/__init__.py 2011-12-09 17:19:08 UTC (rev 2759)
+++ contrib/py/scripts/addons/io_scene_ms3d/__init__.py 2011-12-09 21:05:42 UTC (rev 2760)
@@ -30,7 +30,8 @@
# ##### END COPYRIGHT BLOCK #####
-# To support reload properly, try to access a package var, if it's there, reload everything
+# To support reload properly, try to access a package var,
+# if it's there, reload everything
if ("bpy" in locals()):
import imp
if "ms3d_export" in locals():
@@ -52,15 +53,19 @@
bl_info = {
"name": "MilkShape3D MS3D format (.ms3d)",
- "description": "Import / Export MilkShape3D MS3D files (conform with v1.8.4)",
+ "description": "Import / Export MilkShape3D MS3D files"
+ " (conform with v1.8.4)",
"author": "Alexander Nussbaumer",
- "version": (0, 3, 4, "beta (2011-12-04 00:00)"),
+ "version": (0, 3, 4, "beta (2011-12-09 00:00)"),
"blender": (2, 6, 0),
"api": 41226,
"location": "File > Import-Export",
- "warning": "imports and exports only geometry and material of ms3d file. (poor performance)",
- "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/MilkShape3D_MS3D",
- "tracker_url": "http://projects.blender.org/tracker/index.php?func=detail&aid=29404",
+ "warning": "imports and exports only geometry and material of ms3d"\
+ " file. (poor performance)",
+ "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"\
+ "Scripts/Import-Export/MilkShape3D_MS3D",
+ "tracker_url": "http://projects.blender.org/tracker/index.php"\
+ "?func=detail&aid=29404",
"category": 'Import-Export',
}
Modified: contrib/py/scripts/addons/io_scene_ms3d/ms3d_export.py
===================================================================
--- contrib/py/scripts/addons/io_scene_ms3d/ms3d_export.py 2011-12-09 17:19:08 UTC (rev 2759)
+++ contrib/py/scripts/addons/io_scene_ms3d/ms3d_export.py 2011-12-09 21:05:42 UTC (rev 2760)
@@ -39,7 +39,8 @@
import time
-# To support reload properly, try to access a package var, if it's there, reload everything
+# To support reload properly, try to access a package var,
+# if it's there, reload everything
if ("bpy" in locals()):
import imp
if "ms3d_spec" in locals():
@@ -194,7 +195,8 @@
except Exception:
type, value, traceback = sys.exc_info()
- print("WriteMs3d - exception in try block\n type: '{0}'\n value: '{1}'".format(type, value, traceback))
+ print("WriteMs3d - exception in try block\n type: '{0}'\n"
+ " value: '{1}'".format(type, value, traceback))
if t2 is None:
t2 = time.time()
@@ -205,12 +207,13 @@
pass
t3 = time.time()
- print("elapsed time: {0:.4}s (converter: ~{1:.4}s, disk io: ~{2:.4}s)".format((t3 - t1), (t2 - t1), (t3 - t2)))
+ print("elapsed time: {0:.4}s (converter: ~{1:.4}s, disk io:"
+ " ~{2:.4}s)".format((t3 - t1), (t2 - t1), (t3 - t2)))
return {"FINISHED"}
- ###############################################################################
+ ###########################################################################
def Ms3dFromBlender(self, blenderContext, ms3dTemplate):
"""
known limitations:
@@ -220,18 +223,22 @@
notes:
- interpreating a blender-mesh-objects as ms3d-group
- - only one material allowed per group in ms3d, maybe sub-split a mesh in to material groups???
+ - only one material allowed per group in ms3d,
+ maybe sub-split a mesh in to material groups???
"""
blender = blenderContext.blend_data
- ms3dVertices = [] # todo: use an optimized collection for quick search vertices; with ~(o log n); currently its (o**n)
+ # todo: use an optimized collection for quick search vertices;
+ # with ~(o log n); currently its (o**n)
+ ms3dVertices = []
ms3dTriangles = []
ms3dMaterials = []
ms3dGroups = []
- flagHandleMaterials = (ms3d_utils.PROP_ITEM_OBJECT_MATERIAL in self.prop_objects)
+ flagHandleMaterials = \
+ (ms3d_utils.PROP_ITEM_OBJECT_MATERIAL in self.prop_objects)
# handle blender-materials (without mesh's uv texture image)
if (flagHandleMaterials):
@@ -258,7 +265,8 @@
# skip meshes of invisible layers
skip = True
for iLayer in range(nLayers):
- if (blenderObject.layers[iLayer] and blenderContext.scene.layers[iLayer]):
+ if ((blenderObject.layers[iLayer]
+ and blenderContext.scene.layers[iLayer])):
skip = False
break
if (skip):
@@ -281,13 +289,15 @@
# handle referenceCount and/or
# put vertex without duplicates
if (ms3dVertex in ms3dVertices):
- ms3dVertices[ms3dVertices.index(ms3dVertex)].referenceCount += 1
+ ms3dVertices[ms3dVertices.index(ms3dVertex)]\
+ .referenceCount += 1
else:
ms3dVertex.referenceCount = 1
ms3dVertices.append(ms3dVertex)
# handle smoothing groups
- smoothGroupFaces = self.GenerateSmoothGroups(blenderContext, ms3dTemplate, blenderMesh.faces)
+ smoothGroupFaces = self.GenerateSmoothGroups(
+ blenderContext, ms3dTemplate, blenderMesh.faces)
# handle blender-faces
groupIndex = len(ms3dGroups)
@@ -299,25 +309,41 @@
if (len(blenderFace.vertices) == 4):
# 1'st tri of quad
- ms3dTriangle = self.CreateTriangle(matrixObject, ms3dVertices, blenderMesh, blenderFace, groupIndex, smoothingGroup, 0)
- ms3dTriangles.append(ms3dTriangle) # put triangle
- ms3dGroup.triangleIndices.append(ms3dTriangles.index(ms3dTriangle)) # put triangle index
+ ms3dTriangle = self.CreateTriangle(matrixObject,
+ ms3dVertices, blenderMesh, blenderFace,
+ groupIndex, smoothingGroup, 0)
+ # put triangle
+ ms3dTriangles.append(ms3dTriangle)
+ # put triangle index
+ ms3dGroup.triangleIndices.append(
+ ms3dTriangles.index(ms3dTriangle))
# 2'nd tri of quad
- ms3dTriangle = self.CreateTriangle(matrixObject, ms3dVertices, blenderMesh, blenderFace, groupIndex, smoothingGroup, 1)
+ ms3dTriangle = self.CreateTriangle(matrixObject,
+ ms3dVertices, blenderMesh, blenderFace,
+ groupIndex, smoothingGroup, 1)
else:
- ms3dTriangle = self.CreateTriangle(matrixObject, ms3dVertices, blenderMesh, blenderFace, groupIndex, smoothingGroup)
+ ms3dTriangle = self.CreateTriangle(matrixObject,
+ ms3dVertices, blenderMesh, blenderFace,
+ groupIndex, smoothingGroup)
- ms3dTriangles.append(ms3dTriangle) # put triangle
- ms3dGroup.triangleIndices.append(ms3dTriangles.index(ms3dTriangle)) # put triangle index
+ # put triangle
+ ms3dTriangles.append(ms3dTriangle)
+ # put triangle index
+ ms3dGroup.triangleIndices.append(
+ ms3dTriangles.index(ms3dTriangle))
# handle material (take the first one)
if (flagHandleMaterials) and (blenderMesh.materials):
if (blenderMesh.uv_textures):
- tmpMaterial1 = self.CreateMaterial(blenderMesh.materials[0], blenderMesh.uv_textures[0])
+ tmpMaterial1 = self.CreateMaterial(
+ blenderMesh.materials[0],
+ blenderMesh.uv_textures[0])
else:
- tmpMaterial1 = self.CreateMaterial(blenderMesh.materials[0], None)
+ tmpMaterial1 = self.CreateMaterial(
+ blenderMesh.materials[0],
+ None)
if tmpMaterial1:
ms3dGroup.materialIndex = ms3dMaterials.index(tmpMaterial1)
@@ -337,31 +363,31 @@
ms3dTemplate._materials = ms3dMaterials
# inject currently unsupported data
- ms3dTemplate._vertex_ex1 = []
- ms3dTemplate._vertex_ex2 = []
- ms3dTemplate._vertex_ex3 = []
- for i in range(ms3dTemplate.nNumVertices):
- if (ms3dTemplate.subVersionVertexExtra == 1):
- ms3dTemplate.vertex_ex1.append(ms3d_spec.ms3d_vertex_ex1_t())
- elif (ms3dTemplate.subVersionVertexExtra == 2):
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list