[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1581] trunk/py/scripts/addons: use mesh.validate() to ensure all meshes of imported data is ok and wont crash blender.
Campbell Barton
ideasman42 at gmail.com
Fri Feb 11 13:09:17 CET 2011
Revision: 1581
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1581
Author: campbellbarton
Date: 2011-02-11 12:09:15 +0000 (Fri, 11 Feb 2011)
Log Message:
-----------
use mesh.validate() to ensure all meshes of imported data is ok and wont crash blender.
Modified Paths:
--------------
trunk/py/scripts/addons/io_mesh_ply/import_ply.py
trunk/py/scripts/addons/io_mesh_raw/import_raw.py
trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
trunk/py/scripts/addons/io_scene_3ds/import_3ds.py
trunk/py/scripts/addons/io_scene_obj/import_obj.py
trunk/py/scripts/addons/io_scene_x3d/import_x3d.py
Modified: trunk/py/scripts/addons/io_mesh_ply/import_ply.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_ply/import_ply.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_mesh_ply/import_ply.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -307,6 +307,7 @@
for j, col in enumerate(f_col):
col.r, col.g, col.b = ply_col[j]
+ mesh.validate()
mesh.update()
scn = bpy.context.scene
Modified: trunk/py/scripts/addons/io_mesh_raw/import_raw.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_raw/import_raw.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_mesh_raw/import_raw.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -107,6 +107,8 @@
o.select = False
mesh.update()
+ mesh.validate()
+
nobj = bpy.data.objects.new(objName, mesh)
scn.objects.link(nobj)
nobj.select = True
Modified: trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_stl/blender_utils.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_mesh_stl/blender_utils.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -34,6 +34,7 @@
bpy.context.scene.objects.link(ob)
# update mesh to allow proper display
+ mesh.validate()
mesh.update()
Modified: trunk/py/scripts/addons/io_scene_3ds/import_3ds.py
===================================================================
--- trunk/py/scripts/addons/io_scene_3ds/import_3ds.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_scene_3ds/import_3ds.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -324,6 +324,9 @@
uf.uv3 = contextMeshUV[v3 * 2:(v3 * 2) + 2]
# always a tri
+ bmesh.validate()
+ bmesh.update()
+
ob = bpy.data.objects.new(contextObName, bmesh)
object_dictionary[contextObName] = ob
SCN.objects.link(ob)
@@ -338,7 +341,6 @@
object_matrix[ob] = contextMatrix_rot.copy()
importedObjects.append(ob)
- bmesh.update()
#a spare chunk
new_chunk = chunk()
Modified: trunk/py/scripts/addons/io_scene_obj/import_obj.py
===================================================================
--- trunk/py/scripts/addons/io_scene_obj/import_obj.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_scene_obj/import_obj.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -842,8 +842,8 @@
# me_edges[ed].flag |= SHARP
# del SHARP
+ me.validate()
me.update(calc_edges=CREATE_EDGES)
-# me.calcNormals()
ob = bpy.data.objects.new("Mesh", me)
new_objects.append(ob)
Modified: trunk/py/scripts/addons/io_scene_x3d/import_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/import_x3d.py 2011-02-11 10:11:06 UTC (rev 1580)
+++ trunk/py/scripts/addons/io_scene_x3d/import_x3d.py 2011-02-11 12:09:15 UTC (rev 1581)
@@ -1699,7 +1699,7 @@
#for f in faces:
# bpymesh.faces.extend(faces, smooth=True)
- # bpymesh.calcNormals()
+ bpymesh.validate()
bpymesh.update()
if len(bpymesh.faces) != len(faces):
@@ -1916,7 +1916,7 @@
bpymesh.vertices.add(len(points))
bpymesh.vertices.foreach_set("co", [a for v in points for a in v])
- # bpymesh.calcNormals() # will just be dummy normals
+ # No need to validate
bpymesh.update()
return bpymesh
More information about the Bf-extensions-cvs
mailing list