[Bf-blender-cvs] [7be09871d3e] custom-manipulators: Update widget exporter

Campbell Barton noreply at git.blender.org
Thu Apr 6 11:52:07 CEST 2017


Commit: 7be09871d3e28558595bb1430048e57a36704d27
Author: Campbell Barton
Date:   Thu Apr 6 17:29:11 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rB7be09871d3e28558595bb1430048e57a36704d27

Update widget exporter

===================================================================

M	release/datafiles/widget_export.py

===================================================================

diff --git a/release/datafiles/widget_export.py b/release/datafiles/widget_export.py
index c700f25b623..fd5dd7b89ff 100644
--- a/release/datafiles/widget_export.py
+++ b/release/datafiles/widget_export.py
@@ -1,3 +1,4 @@
+# Apache License, Version 2.0
 import bpy
 from bpy.types import Operator
 from bpy.props import StringProperty
@@ -10,7 +11,7 @@ def mesh_triangulate(me):
     bmesh.ops.triangulate(bm, faces=bm.faces)
     bm.to_mesh(me)
     bm.free()
-    
+
 
 class ExportWidget(Operator, ExportHelper):
     """Export a widget mesh as a C file"""
@@ -42,30 +43,39 @@ class ExportWidget(Operator, ExportHelper):
 
         mesh_triangulate(me)
 
-        name = ob.name
         f = open(self.filepath, 'w')
-        f.write("int _WIDGET_nverts_%s = %d;\n" % (name, len(me.vertices)))
-        f.write("int _WIDGET_ntris_%s = %d;\n\n" % (name, len(me.polygons)))
-        f.write("float _WIDGET_verts_%s[][3] = {\n" % name)
+
+        f.write("static const float verts[][3] = {\n")
         for v in me.vertices:
-            f.write("    {%.6f, %.6f, %.6f},\n" % v.co[:])            
+            f.write("\t{%.6f, %.6f, %.6f},\n" % v.co[:])
         f.write("};\n\n")
-        f.write("float _WIDGET_normals_%s[][3] = {\n" % name)
+        f.write("static const float normals[][3] = {\n")
         for v in me.vertices:
-            f.write("    {%.6f, %.6f, %.6f},\n" % v.normal[:])            
+            f.write("\t{%.6f, %.6f, %.6f},\n" % v.normal[:])
         f.write("};\n\n")
-        f.write("unsigned short _WIDGET_indices_%s[] = {\n" % name)
+        f.write("static const unsigned short indices[] = {\n")
         for p in me.polygons:
-            f.write("    %d, %d, %d,\n" % p.vertices[:])            
+            f.write("\t%d, %d, %d,\n" % p.vertices[:])
+        f.write("};\n")
+
+        f.write("\n")
+
+        f.write("ManipulatorGeomInfo wm_manipulator_geom_data_%s = {\n" % ob.name)
+        f.write("\t.nverts  = %d,\n" % len(me.vertices))
+        f.write("\t.ntris   = %d,\n" % len(me.polygons))
+        f.write("\t.verts   = verts,\n")
+        f.write("\t.normals = normals,\n")
+        f.write("\t.indices = indices,\n")
         f.write("};\n")
+
         f.close()
-        
+
         return {'FINISHED'}
 
 def menu_func_export(self, context):
     self.layout.operator(ExportWidget.bl_idname, text="Widget (.c)")
 
-        
+
 def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_file_export.append(menu_func_export)




More information about the Bf-blender-cvs mailing list