[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