X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_mesh.py;h=e9724f27f3d94166469099df98b70cfed1c09b87;hb=328ac951d8df830e1c9ee469b4ab073e9163606d;hp=dbb3a269fcdab5f711bab6920da3f6f9b696e1ff;hpb=7533ecca549e09eab5ef229292de8908370c395c;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_mesh.py b/blender/io_mspgl/export_mesh.py index dbb3a269..e9724f27 100644 --- a/blender/io_mspgl/export_mesh.py +++ b/blender/io_mspgl/export_mesh.py @@ -191,9 +191,10 @@ class MeshExporter: return strips, loose - def export(self, context, out_file): + def export(self, context, out_file, objs=None, progress=None): if self.compound: - objs = context.selected_objects + if objs is None: + objs = context.selected_objects check = objs while check: children = [] @@ -203,7 +204,7 @@ class MeshExporter: children.append(c) objs += children check = children - else: + elif objs is None: objs = [context.active_object] if not objs: @@ -215,7 +216,8 @@ class MeshExporter: from .mesh import Mesh from .util import Progress - progress = Progress(context) + if not progress: + progress = Progress(context) progress.set_task("Preparing", 0.0, 0.0) mesh = None @@ -228,7 +230,8 @@ class MeshExporter: else: mesh.splice(Mesh(bmesh)) - progress.set_task("Smoothing", 0.05, 0.35) + if progress: + progress.set_task("Smoothing", 0.05, 0.35) if self.smoothing=="NONE": mesh.flatten_faces() mesh.split_smooth(progress) @@ -279,7 +282,8 @@ class MeshExporter: texunits.insert(0, unit) for i, u in texunits: - progress.set_task("Splitting UVs", 0.35+0.3*i/len(texunits), 0.35+0.3*(i+1)/len(texunits)) + if progress: + progress.set_task("Splitting UVs", 0.35+0.3*i/len(texunits), 0.35+0.3*(i+1)/len(texunits)) mesh.split_uv(i, progress) if self.tbn_vecs and u.name==self.tbn_uvtex: mesh.compute_uv() @@ -290,10 +294,12 @@ class MeshExporter: strips = [] loose = mesh.faces if self.use_strips: - progress.set_task("Creating strips", 0.65, 0.95) + if progress: + progress.set_task("Creating strips", 0.65, 0.95) strips, loose = self.stripify(mesh, progress) - progress.set_task("Writing file", 0.95, 1.0) + if progress: + progress.set_task("Writing file", 0.95, 1.0) from .outfile import open_output out_file = open_output(out_file) @@ -370,7 +376,8 @@ class MeshExporter: out_file.write("indices", l.vertices[0].index, l.vertices[1].index) out_file.end() - progress.set_task("Done", 1.0, 1.0) + if progress: + progress.set_task("Done", 1.0, 1.0) for m in bmeshes: bpy.data.meshes.remove(m)