[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3163] trunk/py/scripts/addons: update addons enabled by default to use 'faces -> tessfaces' also grease pencil scatter and quake map export.

Campbell Barton ideasman42 at gmail.com
Fri Mar 23 02:18:54 CET 2012


Revision: 3163
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3163
Author:   campbellbarton
Date:     2012-03-23 01:18:52 +0000 (Fri, 23 Mar 2012)
Log Message:
-----------
update addons enabled by default to use 'faces -> tessfaces' also grease pencil scatter and quake map export.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_mesh_ply/export_ply.py
    trunk/py/scripts/addons/io_mesh_ply/import_ply.py
    trunk/py/scripts/addons/io_mesh_raw/export_raw.py
    trunk/py/scripts/addons/io_mesh_stl/__init__.py
    trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
    trunk/py/scripts/addons/io_scene_fbx/export_fbx.py
    trunk/py/scripts/addons/io_scene_map/export_map.py
    trunk/py/scripts/addons/io_scene_obj/export_obj.py
    trunk/py/scripts/addons/io_scene_obj/import_obj.py
    trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
    trunk/py/scripts/addons/io_scene_x3d/import_x3d.py
    trunk/py/scripts/addons/object_grease_scatter.py
    trunk/py/scripts/addons/space_view3d_panel_measure.py

Modified: trunk/py/scripts/addons/io_mesh_ply/export_ply.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_ply/export_ply.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_mesh_ply/export_ply.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -102,9 +102,9 @@
     ply_verts = []  # list of dictionaries
     # vdict = {} # (index, normal, uv) -> new index
     vdict = [{} for i in range(len(mesh_verts))]
-    ply_faces = [[] for f in range(len(mesh.faces))]
+    ply_faces = [[] for f in range(len(mesh.tessfaces))]
     vert_count = 0
-    for i, f in enumerate(mesh.faces):
+    for i, f in enumerate(mesh.tessfaces):
 
         smooth = f.use_smooth
         if not smooth:
@@ -177,7 +177,7 @@
            "property uchar green\n"
            "property uchar blue\n")
 
-    fw("element face %d\n" % len(mesh.faces))
+    fw("element face %d\n" % len(mesh.tessfaces))
     fw("property list uchar uint vertex_indices\n")
     fw("end_header\n")
 

Modified: trunk/py/scripts/addons/io_mesh_ply/import_ply.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_ply/import_ply.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_mesh_ply/import_ply.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -301,8 +301,8 @@
     mesh.vertices.foreach_set("co", [a for v in obj[b'vertex'] for a in (v[vindices_x], v[vindices_y], v[vindices_z])])
 
     if mesh_faces:
-        mesh.faces.add(len(mesh_faces))
-        mesh.faces.foreach_set("vertices_raw", unpack_face_list(mesh_faces))
+        mesh.tessfaces.add(len(mesh_faces))
+        mesh.tessfaces.foreach_set("vertices_raw", unpack_face_list(mesh_faces))
 
         if uvindices or colindices:
             if uvindices:

Modified: trunk/py/scripts/addons/io_mesh_raw/export_raw.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_raw/export_raw.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_mesh_raw/export_raw.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -79,7 +79,7 @@
 
         if me is not None:
             matrix = obj.matrix_world.copy()
-            for face in me.faces:
+            for face in me.tessfaces:
                 fv = faceValues(face, me, matrix)
                 if triangulate:
                     faces.extend(faceToTriangles(fv))

Modified: trunk/py/scripts/addons/io_mesh_stl/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_stl/__init__.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_mesh_stl/__init__.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -60,9 +60,10 @@
 import bpy
 from bpy.props import StringProperty, BoolProperty, CollectionProperty
 from bpy_extras.io_utils import ExportHelper, ImportHelper
+from bpy.types import Operator, OperatorFileListElement
 
 
-class ImportSTL(bpy.types.Operator, ImportHelper):
+class ImportSTL(Operator, ImportHelper):
     '''Load STL triangle mesh data'''
     bl_idname = "import_mesh.stl"
     bl_label = "Import STL"
@@ -76,7 +77,7 @@
             )
     files = CollectionProperty(
             name="File Path",
-            type=bpy.types.OperatorFileListElement,
+            type=OperatorFileListElement,
             )
     directory = StringProperty(
             subtype='DIR_PATH',
@@ -106,12 +107,13 @@
         return {'FINISHED'}
 
 
-class ExportSTL(bpy.types.Operator, ExportHelper):
+class ExportSTL(Operator, ExportHelper):
     '''Save STL triangle mesh data from the active object'''
     bl_idname = "export_mesh.stl"
     bl_label = "Export STL"
 
     filename_ext = ".stl"
+    filter_glob = StringProperty(default="*.stl", options={'HIDDEN'})
 
     ascii = BoolProperty(name="Ascii",
                          description="Save the file in ASCII file format",
@@ -136,14 +138,12 @@
 
 
 def menu_import(self, context):
-    self.layout.operator(ImportSTL.bl_idname,
-                         text="Stl (.stl)").filepath = "*.stl"
+    self.layout.operator(ImportSTL.bl_idname, text="Stl (.stl)")
 
 
 def menu_export(self, context):
     default_path = os.path.splitext(bpy.data.filepath)[0] + ".stl"
-    self.layout.operator(ExportSTL.bl_idname,
-                         text="Stl (.stl)").filepath = default_path
+    self.layout.operator(ExportSTL.bl_idname, text="Stl (.stl)")
 
 
 def register():

Modified: trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_stl/blender_utils.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_mesh_stl/blender_utils.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -66,7 +66,7 @@
     if triangulate:
         # From a list of faces, return the face triangulated if needed.
         def iter_face_index():
-            for face in mesh.faces:
+            for face in mesh.tessfaces:
                 vertices = face.vertices[:]
                 if len(vertices) == 4:
                     yield vertices[0], vertices[1], vertices[2]
@@ -75,7 +75,7 @@
                     yield vertices
     else:
         def iter_face_index():
-            for face in mesh.faces:
+            for face in mesh.tessfaces:
                 yield face.vertices[:]
 
     vertices = mesh.vertices

Modified: trunk/py/scripts/addons/io_scene_fbx/export_fbx.py
===================================================================
--- trunk/py/scripts/addons/io_scene_fbx/export_fbx.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_scene_fbx/export_fbx.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -1364,7 +1364,7 @@
         # convert into lists once.
         me_vertices = me.vertices[:]
         me_edges = me.edges[:] if use_mesh_edges else ()
-        me_faces = me.faces[:]
+        me_faces = me.tessfaces[:]
 
         poseMatrix = write_object_props(my_mesh.blenObject, None, my_mesh.parRelMatrix())[3]
         pose_items.append((my_mesh.fbxName, poseMatrix))
@@ -2005,7 +2005,7 @@
                     material_mapping_local = {}
                     if me.tessface_uv_textures:
                         for uvlayer in me.tessface_uv_textures:
-                            for f, uf in zip(me.faces, uvlayer.data):
+                            for f, uf in zip(me.tessfaces, uvlayer.data):
                                 tex = uf.image
                                 textures[tex] = texture_mapping_local[tex] = None
 

Modified: trunk/py/scripts/addons/io_scene_map/export_map.py
===================================================================
--- trunk/py/scripts/addons/io_scene_map/export_map.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_scene_map/export_map.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -354,8 +354,11 @@
         # High quality normals
         #XXX25: BPyMesh.meshCalcNormals(dummy_mesh)
 
+        # We need tessfaces
+        dummy_mesh.update(calc_tessface)
+
         # Split mesh into connected regions
-        for face_group in mesh_utils.mesh_linked_faces(dummy_mesh):
+        for face_group in mesh_utils.mesh_linked_tessfaces(dummy_mesh):
             if is_cube_facegroup(face_group):
                 write_cube2brush(file, face_group)
                 TOTBRUSH += 1

Modified: trunk/py/scripts/addons/io_scene_obj/export_obj.py
===================================================================
--- trunk/py/scripts/addons/io_scene_obj/export_obj.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_scene_obj/export_obj.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -345,8 +345,8 @@
             me_verts = me.vertices[:]
 
             # Make our own list so it can be sorted to reduce context switching
-            face_index_pairs = [(face, index) for index, face in enumerate(me.faces)]
-            # faces = [ f for f in me.faces ]
+            face_index_pairs = [(face, index) for index, face in enumerate(me.tessfaces)]
+            # faces = [ f for f in me.tessfaces ]
 
             if EXPORT_EDGES:
                 edges = me.edges

Modified: trunk/py/scripts/addons/io_scene_obj/import_obj.py
===================================================================
--- trunk/py/scripts/addons/io_scene_obj/import_obj.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_scene_obj/import_obj.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -550,7 +550,7 @@
         me.materials.append(material)
 
     me.vertices.add(len(verts_loc))
-    me.faces.add(len(faces))
+    me.tessfaces.add(len(faces))
 
     # verts_loc is a list of (x, y, z) tuples
     me.vertices.foreach_set("co", unpack_list(verts_loc))
@@ -558,14 +558,14 @@
     # faces is a list of (vert_indices, texco_indices, ...) tuples
     # XXX faces should contain either 3 or 4 verts
     # XXX no check for valid face indices
-    me.faces.foreach_set("vertices_raw", unpack_face_list([f[0] for f in faces]))
+    me.tessfaces.foreach_set("vertices_raw", unpack_face_list([f[0] for f in faces]))
 
-    if verts_tex and me.faces:
+    if verts_tex and me.tessfaces:
         me.tessface_uv_textures.new()
 
     context_material_old = -1  # avoid a dict lookup
     mat = 0  # rare case it may be un-initialized.
-    me_faces = me.faces
+    me_faces = me.tessfaces
 
     for i, face in enumerate(faces):
         if len(face[0]) < 2:
@@ -575,7 +575,7 @@
                 edges.append(face[0])
         else:
 
-            blender_face = me.faces[i]
+            blender_face = me.tessfaces[i]
 
             (face_vert_loc_indices,
              face_vert_tex_indices,

Modified: trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2012-03-22 23:34:54 UTC (rev 3162)
+++ trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2012-03-23 01:18:52 UTC (rev 3163)
@@ -526,10 +526,10 @@
         mesh_id_normals = prefix_quoted_str(mesh_id, 'normals_')
 
         # tessellation faces may not exist
-        if not mesh.faces and mesh.polygons:
+        if not mesh.tessfaces and mesh.polygons:
             mesh.update(calc_tessface=True)
 
-        if not mesh.faces:
+        if not mesh.tessfaces:
             return
 
         use_collnode = bool([mod for mod in obj.modifiers
@@ -582,7 +582,7 @@
 
             # fast access!
             mesh_vertices = mesh.vertices[:]

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list