From 8400999b2fdfc57a0a17b112253372a028ba2dd4 Mon Sep 17 00:00:00 2001 From: Seth Trowbridge Date: Wed, 29 Oct 2025 16:56:47 -0400 Subject: [PATCH] misc tweaks --- __init__.py | 17 ++++++++--------- utils.py | 1 + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/__init__.py b/__init__.py index 6cc4804..2ce48a8 100644 --- a/__init__.py +++ b/__init__.py @@ -3,15 +3,14 @@ from .utils import parse_scene_objects, parse_object, release_object, recompute, ############################################################## -class OBJECT_OT_parse_all_objects(bpy.types.Operator): +class OBJECT_OT_parse_scene_objects(bpy.types.Operator): """Collect control ranges for all objects in the scene""" - bl_idname = "object.parse_all_objects" + bl_idname = "object.parse_scene_objects" bl_label = "Collect Control Ranges" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): - for obj in context.scene.objects: - parse_scene_objects(obj) + parse_scene_objects() return {'FINISHED'} @@ -57,11 +56,11 @@ class OBJECT_PT_control_tools(bpy.types.Panel): def draw(self, context): layout = self.layout - layout.label(text="Control Range Operations:") - layout.operator("object.collect_control_ranges", text="Collect Control Ranges") + layout.label(text="All Objects:") + layout.operator("object.parse_scene_objects", text="Parse All Objects") layout.separator() - layout.label(text="Active Object Operations:") + layout.label(text="Active Object:") layout.operator("object.parse_object", text="Parse Object") layout.operator("object.release_object", text="Release Object") @@ -78,7 +77,7 @@ def register(): unregister_existing_handler() register_handler() - bpy.utils.register_class(OBJECT_OT_parse_all_objects) + bpy.utils.register_class(OBJECT_OT_parse_scene_objects) bpy.utils.register_class(OBJECT_OT_parse_object) bpy.utils.register_class(OBJECT_OT_release_object) bpy.utils.register_class(OBJECT_PT_control_tools) # Register panel @@ -86,7 +85,7 @@ def register(): def unregister(): unregister_existing_handler() - bpy.utils.unregister_class(OBJECT_OT_parse_all_objects) + bpy.utils.unregister_class(OBJECT_OT_parse_scene_objects) bpy.utils.unregister_class(OBJECT_OT_parse_object) bpy.utils.unregister_class(OBJECT_OT_release_object) bpy.utils.unregister_class(OBJECT_PT_control_tools) # Register panel diff --git a/utils.py b/utils.py index 42e8a60..d22ce37 100644 --- a/utils.py +++ b/utils.py @@ -138,6 +138,7 @@ def release_object(obj:bpy.types.Object)->None: for i, record in enumerate(cached_objects): if obj is record.obj: + obj.matrix_world = record.mat del cached_objects[i] return