RNA: Object.select_set use boolean, only select

- Was setting active state, making it necessary to backup/restore
  active object in cases where this isn't needed.
  Existing scripts are explicitly setting the active object when needed.

- Use a boolean select arg (toggle selection wasn't used anywhere).

- Add an optional view layer argument since scripts should be able to
  operate outside the user context.
This commit is contained in:
Campbell Barton
2018-11-08 08:51:03 +11:00
parent c121bc6219
commit f12d2adc87
13 changed files with 27 additions and 42 deletions

View File

@@ -18,7 +18,7 @@ bpy.ops.object.select_all(action='DESELECT')
for obj in selection:
obj.select_set(action='SELECT')
obj.select_set(True)
# some exporters only use the active object
view_layer.objects.active = obj
@@ -31,7 +31,7 @@ for obj in selection:
# Can be used for multiple formats
# bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)
obj.select_set(action='DESELECT')
obj.select_set(False)
print("written:", fn)
@@ -39,4 +39,4 @@ for obj in selection:
view_layer.objects.active = obj_active
for obj in selection:
obj.select_set(action='SELECT')
obj.select_set(True)

View File

@@ -67,7 +67,7 @@ def main(context, event):
# now we have the object under the mouse cursor,
# we could do lots of stuff but for the example just select.
if best_obj is not None:
best_obj.select_set(action='SELECT')
best_obj.select_set(True)
context.view_layer.objects.active = best_obj