mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 01:41:57 +00:00
Improve performance in aggregate mode by removing hide_select.
Additionally, update rendering of objects outside the aggregate to use 'WIRE' instead of 'BOUNDS'.
This commit is contained in:
committed by
Bruno Perdigão
parent
3dd83598e9
commit
833cc0604c
@@ -99,14 +99,15 @@ class BIMObjectAggregateProperties(PropertyGroup):
|
||||
)
|
||||
|
||||
|
||||
class NotEditingObjects(bpy.types.PropertyGroup):
|
||||
class Objects(bpy.types.PropertyGroup):
|
||||
obj: PointerProperty(type=bpy.types.Object)
|
||||
|
||||
|
||||
class BIMAggregateProperties(PropertyGroup):
|
||||
in_aggregate_mode: BoolProperty(name="In Edit Mode", update=update_aggregate_mode_decorator)
|
||||
editing_aggregate: PointerProperty(name="Editing Aggregate", type=bpy.types.Object)
|
||||
not_editing_objects: CollectionProperty(type=NotEditingObjects)
|
||||
editing_objects: CollectionProperty(type=Objects)
|
||||
not_editing_objects: CollectionProperty(type=Objects)
|
||||
aggregate_decorator: BoolProperty(
|
||||
name="Display Aggregate",
|
||||
default=False,
|
||||
|
||||
@@ -141,10 +141,12 @@ class Aggregate(bonsai.core.tool.Aggregate):
|
||||
is_element_assembly = False
|
||||
if not obj.data and not is_element_assembly:
|
||||
continue
|
||||
obj.original.display_type = "BOUNDS"
|
||||
obj.hide_select = True
|
||||
obj.original.display_type = "WIRE"
|
||||
not_editing_obj = props.not_editing_objects.add()
|
||||
not_editing_obj.obj = obj.original
|
||||
else:
|
||||
editing_obj = props.editing_objects.add()
|
||||
editing_obj.obj = obj.original
|
||||
|
||||
props.in_aggregate_mode = True
|
||||
return {"FINISHED"}
|
||||
@@ -156,10 +158,10 @@ class Aggregate(bonsai.core.tool.Aggregate):
|
||||
objs = [o.obj for o in props.not_editing_objects]
|
||||
for obj in objs:
|
||||
obj.original.display_type = "TEXTURED"
|
||||
obj.hide_select = False
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if not element:
|
||||
continue
|
||||
|
||||
props.in_aggregate_mode = False
|
||||
props.not_editing_objects.clear()
|
||||
props.editing_objects.clear()
|
||||
|
||||
Reference in New Issue
Block a user