hub/imports/geometry/citygml_classes/citygml_base.py

38 lines
879 B
Python
Raw Normal View History

2021-06-03 11:27:48 -04:00
"""
CityGmlBase module abstract class to template the different level of details
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2022 Concordia CERC group
Project Coder Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
2021-06-03 11:27:48 -04:00
"""
2021-06-03 10:12:06 -04:00
from abc import ABC
import numpy as np
from imports.geometry.helpers.geometry_helper import GeometryHelper
2021-06-03 10:12:06 -04:00
class CityGmlBase(ABC):
2021-06-03 11:27:48 -04:00
"""
CityGmlBase class inherited by the specific level of detail classes.
"""
2021-06-03 10:12:06 -04:00
def __init__(self):
self._surfaces = []
@property
def surfaces(self):
2021-06-03 11:27:48 -04:00
"""
Get parsed surfaces
2021-06-03 11:27:48 -04:00
"""
2021-06-03 10:12:06 -04:00
return self._surfaces
2021-06-03 10:12:06 -04:00
@classmethod
def _solid(cls, city_object_member):
2021-06-03 10:12:06 -04:00
raise NotImplementedError
@classmethod
def _multi_surface(cls, city_object_member):
2021-06-03 10:12:06 -04:00
raise NotImplementedError
@classmethod
def _multi_curve(cls, city_object_member):
2021-06-03 10:12:06 -04:00
raise NotImplementedError