From: Mikko Rasa Date: Sun, 23 Jun 2019 20:02:41 +0000 (+0300) Subject: Export the entire scene by default X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=commitdiff_plain;h=d3813a0ab6ee2f8b9af775c28b51b512abe6cd09 Export the entire scene by default Options have been added to export only selected object or limit the export to active layers. --- diff --git a/blender/io_mspgl/__init__.py b/blender/io_mspgl/__init__.py index 3ce60c4c..43a3fac8 100644 --- a/blender/io_mspgl/__init__.py +++ b/blender/io_mspgl/__init__.py @@ -131,6 +131,8 @@ class ExportMspGLScene(bpy.types.Operator, ExportMspGLBase): filename_ext = ".scene" + selected_only = bpy.props.BoolProperty(name="Selected objects only", description="Only export the selected objects") + active_layers = bpy.props.BoolProperty(name="Active layers only", description="Only export objects on the active layers", default=True) resource_collection = bpy.props.BoolProperty(name="Resource collection", description="Put resources to a single collection file", default=True) def create_exporter(self): @@ -139,6 +141,8 @@ class ExportMspGLScene(bpy.types.Operator, ExportMspGLBase): def draw(self, context): col = self.layout.column() + col.prop(self, "selected_only") + col.prop(self, "active_layers") col.prop(self, "resource_collection") class ExportMspGLCamera(bpy.types.Operator, ExportMspGLBase): diff --git a/blender/io_mspgl/export_scene.py b/blender/io_mspgl/export_scene.py index 68b58987..b28c8e04 100644 --- a/blender/io_mspgl/export_scene.py +++ b/blender/io_mspgl/export_scene.py @@ -3,11 +3,20 @@ import os class SceneExporter: def __init__(self): + self.selected_only = False + self.active_layers = True self.resource_collection = True self.show_progress = True def export_to_file(self, context, out_fn): - objs = [o for o in context.selected_objects if o.type=="MESH" and not o.lod_for_parent] + if self.selected_only: + objs = context.selected_objects + else: + objs = context.scene.objects + if self.active_layers: + layers = context.scene.layers + objs = [o for o in objs if any(a and b for a, b in zip(layers, o.layers))] + objs = [o for o in objs if o.type=="MESH" and not o.lod_for_parent] objs = [o for o in objs if (not o.compound or o.parent not in objs)] path, base = os.path.split(out_fn)