[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4350] trunk/py/scripts/addons/ io_mesh_vrml2: add support for apply modifiers option

Campbell Barton ideasman42 at gmail.com
Mon Mar 11 13:37:30 CET 2013


Revision: 4350
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4350
Author:   campbellbarton
Date:     2013-03-11 12:37:30 +0000 (Mon, 11 Mar 2013)
Log Message:
-----------
add support for apply modifiers option

Modified Paths:
--------------
    trunk/py/scripts/addons/io_mesh_vrml2/__init__.py
    trunk/py/scripts/addons/io_mesh_vrml2/export_vrml2.py

Modified: trunk/py/scripts/addons/io_mesh_vrml2/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_vrml2/__init__.py	2013-03-11 12:30:13 UTC (rev 4349)
+++ trunk/py/scripts/addons/io_mesh_vrml2/__init__.py	2013-03-11 12:37:30 UTC (rev 4350)
@@ -92,9 +92,9 @@
         row.prop(self, "use_mesh_modifiers")
         row = layout.row()
         row.prop(self, "use_uv")
-        row.prop(self, "use_colors")
+        row.prop(self, "use_color")
         row = layout.row()
-        row.active = self.use_colors
+        row.active = self.use_color
         row.prop(self, "color_type")
 
 

Modified: trunk/py/scripts/addons/io_mesh_vrml2/export_vrml2.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_vrml2/export_vrml2.py	2013-03-11 12:30:13 UTC (rev 4349)
+++ trunk/py/scripts/addons/io_mesh_vrml2/export_vrml2.py	2013-03-11 12:37:30 UTC (rev 4350)
@@ -148,28 +148,39 @@
     return None
 
 
-def save_object(fw, obj,
+def save_object(fw, scene, obj,
                 use_mesh_modifiers,
                 use_color, color_type,
                 use_uv):
 
     assert(obj.type == 'MESH')
-    
-    # TODO use_mesh_modifiers
 
-    me = obj.data
-    if obj.mode == 'EDIT':
-        bm_orig = bmesh.from_edit_mesh(me)
-        bm = bm_orig.copy()
-    else:
+    if use_mesh_modifiers:
+        is_editmode = (obj.mode == 'EDIT')
+        if is_editmode:
+            bpy.ops.object.editmode_toggle()
+
+        me = obj.to_mesh(scene, True, 'PREVIEW', calc_tessface=False)
         bm = bmesh.new()
         bm.from_mesh(me)
 
+        if is_editmode:
+            bpy.ops.object.editmode_toggle()
+    else:
+        me = obj.data
+        if obj.mode == 'EDIT':
+            bm_orig = bmesh.from_edit_mesh(me)
+            bm = bm_orig.copy()
+        else:
+            bm = bmesh.new()
+            bm.from_mesh(me)
+
     bm.transform(obj.matrix_world)
     bmesh.ops.triangulate(bm, faces=bm.faces, use_beauty=True)
 
     # default empty
     material_colors = []
+    uv_image = None
 
     if use_color:
         if color_type == 'VERTEX':
@@ -199,11 +210,12 @@
 
     bm.free()
 
-def save_object_fp(filepath, obj, use_mesh_modifiers,
+def save_object_fp(filepath, scene, obj,
+                   use_mesh_modifiers,
                    use_color, color_type,
                    use_uv):
     file = open(filepath, 'w', encoding='utf-8')
-    save_object(file.write, obj,
+    save_object(file.write, scene, obj,
                 use_mesh_modifiers,
                 use_color, color_type,
                 use_uv)
@@ -217,7 +229,7 @@
          color_type='MATERIAL',
          use_uv=True):
 
-    save_object_fp(filepath, context.object,
+    save_object_fp(filepath, context.scene, context.object,
                    use_mesh_modifiers,
                    use_color, color_type,
                    use_uv)



More information about the Bf-extensions-cvs mailing list