Files
specklepy/src/speckleifc/level_proxy_manager.py
T
Mucahit Bilal GOKER f69ee07a94 feat (speckleifc): Level Proxies (#444)
* add level proxies class

* level proxy manager

* importer updates

* add storey name to data objects

* formatting

* fix python syntax

---------

Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2025-09-04 16:35:30 +01:00

28 lines
859 B
Python

from specklepy.objects.data_objects import DataObject
from specklepy.objects.proxies import LevelProxy
class LevelProxyManager:
def __init__(self):
self._level_proxies: dict[str, LevelProxy] = {}
@property
def level_proxies(self):
return self._level_proxies
def add_element_level_mapping(
self, level_data_object: DataObject, element_application_id: str
) -> None:
level_id = level_data_object.applicationId
assert level_id is not None
proxy = self._level_proxies.get(level_id, None)
if proxy is not None:
proxy.objects.append(element_application_id)
else:
self._level_proxies[level_id] = LevelProxy(
objects=[element_application_id],
value=level_data_object,
applicationId=level_id,
)