Skip to content

Commit 4ae7235

Browse files
Merge pull request #5 from WebsiteDeveloper/tesselate-meshes
* Add latest changes
2 parents f1712e5 + 056d74e commit 4ae7235

File tree

4 files changed

+51
-17
lines changed

4 files changed

+51
-17
lines changed
1 KB
Binary file not shown.

import-export-clausewitz/__init__.py

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import bpy
22
from bpy_types import (Operator)
33
from bpy_extras.io_utils import (ImportHelper, ExportHelper)
4-
from bpy.props import (StringProperty, BoolProperty, EnumProperty)
4+
from bpy.props import *
55
from . import (importer, exporter)
66

77
bl_info = {
@@ -59,6 +59,42 @@ def execute(self, context):
5959

6060
return {'FINISHED'}
6161

62+
#
63+
# The error message operator. When invoked, pops up a dialog
64+
# window with the given message.
65+
#
66+
class MessageOperator(bpy.types.Operator):
67+
bl_idname = "error.message"
68+
bl_label = "Message"
69+
message = StringProperty(name="")
70+
71+
def execute(self, context):
72+
self.report({'INFO'}, self.message)
73+
print(self.message)
74+
return {'FINISHED'}
75+
76+
def invoke(self, context, event):
77+
wm = context.window_manager
78+
return wm.invoke_popup(self, width=500, height=500)
79+
80+
def draw(self, context):
81+
self.layout.alignment = 'CENTER'
82+
self.layout.label("Message")
83+
row = self.layout.row() #split(0.80)
84+
row.prop(self, "message")
85+
row = self.layout.row()
86+
row.alignment = 'CENTER'
87+
row.operator("error.ok")
88+
89+
#
90+
# The OK button in the error dialog
91+
#
92+
class OkOperator(bpy.types.Operator):
93+
bl_idname = "error.ok"
94+
bl_label = "OK"
95+
def execute(self, context):
96+
return {'FINISHED'}
97+
6298
def menu_func_export(self, context):
6399
self.layout.operator(ClausewitzExporter.bl_idname, text="Export .mesh (Clausewitz Engine)")
64100

@@ -69,9 +105,12 @@ def register():
69105
bpy.utils.register_module(__name__)
70106
bpy.types.INFO_MT_file_export.append(menu_func_export)
71107
bpy.types.INFO_MT_file_import.append(menu_func_import)
72-
108+
bpy.utils.register_class(OkOperator)
109+
bpy.utils.register_class(MessageOperator)
73110

74111
def unregister():
75112
bpy.utils.unregister_module(__name__)
76113
bpy.types.INFO_MT_file_export.remove(menu_func_export)
77114
bpy.types.INFO_MT_file_import.remove(menu_func_import)
115+
bpy.utils.unregister_class(OkOperator)
116+
bpy.utils.unregister_class(MessageOperator)

import-export-clausewitz/exporter.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,12 @@ def export_mesh(self, name):
4040
verts = []
4141
tangents = []
4242

43-
transform = mathutils.Matrix()
44-
transform.identity()
45-
transform[0][0] = bpy.data.objects[name].scale[0]
46-
transform[1][1] = bpy.data.objects[name].scale[1]
47-
transform[2][2] = bpy.data.objects[name].scale[2]
48-
print(transform)
49-
#mathutils.Matrix. Vector((1.0, 1.0, 1.0))
50-
51-
5243
for i in range(0, len(bm.verts)):
53-
verts.append(bm.verts[i].co * transform)
44+
verts.append(bm.verts[i].co * bpy.data.objects[name].matrix_world)
5445
bm.verts[i].normal_update()
55-
bm.verts[i].normal.normalize()
56-
normals.append((0.0, 0.0, 0.0))
46+
normal_temp = bm.verts[i].normal
47+
normal_temp.normalize()
48+
normals.append(normal_temp)
5749

5850
bm.faces.ensure_lookup_table()
5951

@@ -112,8 +104,11 @@ def export_mesh(self, name):
112104
for mtex_slot in mat_slot.material.texture_slots:
113105
if mtex_slot:
114106
if hasattr(mtex_slot.texture , 'image'):
115-
print(mtex_slot.texture.name)
116-
diff_file = os.path.basename(mtex_slot.texture.image.filepath)
107+
if mtex_slot.texture.image is None:
108+
bpy.ops.error.message('INVOKE_SCREEN',
109+
message = "The Texture Image file is not loaded")
110+
else:
111+
diff_file = os.path.basename(mtex_slot.texture.image.filepath)
117112
else:
118113
diff_file = os.path.basename(bpy.data.meshes[name].uv_textures[0].data[0].image.filepath)
119114

import-export-clausewitz/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ def TransposeCoordinateArray2D(data):
109109

110110
return result
111111
else:
112-
return result
112+
return result

0 commit comments

Comments
 (0)