Spaces:
Running
on
L40S
Running
on
L40S
import importlib | |
__attributes = { | |
'OctreeRenderer': 'octree_renderer', | |
'GaussianRenderer': 'gaussian_render', | |
'MeshRenderer': 'mesh_renderer', | |
} | |
__submodules = [] | |
__all__ = list(__attributes.keys()) + __submodules | |
def __getattr__(name): | |
if name not in globals(): | |
if name in __attributes: | |
module_name = __attributes[name] | |
module = importlib.import_module(f".{module_name}", __name__) | |
globals()[name] = getattr(module, name) | |
elif name in __submodules: | |
module = importlib.import_module(f".{name}", __name__) | |
globals()[name] = module | |
else: | |
raise AttributeError(f"module {__name__} has no attribute {name}") | |
return globals()[name] | |
# For Pylance | |
if __name__ == '__main__': | |
from .octree_renderer import OctreeRenderer | |
from .gaussian_render import GaussianRenderer | |
from .mesh_renderer import MeshRenderer |