From 1642f231fb41536225b899a5b3619674bfb147f0 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 24 Oct 2024 17:53:35 +0500 Subject: [PATCH] typing --- src/bonsai/bonsai/bim/export_ifc.py | 4 ++-- src/bonsai/bonsai/core/geometry.py | 6 ++++++ src/bonsai/bonsai/tool/geometry.py | 6 +++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/bonsai/bonsai/bim/export_ifc.py b/src/bonsai/bonsai/bim/export_ifc.py index cef23924e2..f38a04c3f8 100644 --- a/src/bonsai/bonsai/bim/export_ifc.py +++ b/src/bonsai/bonsai/bim/export_ifc.py @@ -40,11 +40,11 @@ from logging import Logger class IfcExporter: - def __init__(self, ifc_export_settings): + def __init__(self, ifc_export_settings: IfcExportSettings): self.ifc_export_settings = ifc_export_settings def export(self): - self.file = IfcStore.get_file() + self.file = tool.Ifc.get() self.set_header() IfcStore.update_cache() self.sync_all_objects() diff --git a/src/bonsai/bonsai/core/geometry.py b/src/bonsai/bonsai/core/geometry.py index 1c06e4e3dd..939247c5e7 100644 --- a/src/bonsai/bonsai/core/geometry.py +++ b/src/bonsai/bonsai/core/geometry.py @@ -28,6 +28,12 @@ if TYPE_CHECKING: def edit_object_placement( ifc: tool.Ifc, geometry: tool.Geometry, surveyor: tool.Surveyor, obj: Optional[bpy.types.Object] = None ) -> None: + """Sync current object placement. + + - apply and clear object scale; + - write current object position to IFC; + - update position checksums; + """ element = ifc.get_entity(obj) if not element: return diff --git a/src/bonsai/bonsai/tool/geometry.py b/src/bonsai/bonsai/tool/geometry.py index 953a27741c..4835f9ee6b 100644 --- a/src/bonsai/bonsai/tool/geometry.py +++ b/src/bonsai/bonsai/tool/geometry.py @@ -82,7 +82,11 @@ class Geometry(bonsai.core.tool.Geometry): @classmethod def clear_scale(cls, obj: bpy.types.Object) -> None: - # Note that clearing scale has no impact on cameras. + """Apply and clear object scale. + + If it's a mesh object, scale will be applied to it's mesh. + Note that clearing scale has no impact on cameras. + """ if cls.is_scaled(obj): if not obj.data: location, rotation, _ = obj.matrix_world.decompose()