2022-05-16 09:35:19 -04:00
|
|
|
"""
|
|
|
|
Vegetation class
|
|
|
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
|
|
|
Copyright © 2022 Concordia CERC group
|
|
|
|
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
|
|
|
|
"""
|
|
|
|
|
|
|
|
from typing import List
|
2023-01-24 10:51:50 -05:00
|
|
|
from hub.city_model_structure.greenery.soil import Soil
|
|
|
|
from hub.city_model_structure.greenery.plant import Plant
|
2022-05-16 09:35:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
class Vegetation:
|
|
|
|
def __init__(self, name, soil, soil_thickness, plants):
|
|
|
|
self._name = name
|
|
|
|
self._management = None
|
|
|
|
self._air_gap = None
|
|
|
|
self._soil = soil
|
|
|
|
self._soil_thickness = soil_thickness
|
|
|
|
self._plants = plants
|
|
|
|
|
|
|
|
@property
|
|
|
|
def name(self):
|
|
|
|
"""
|
|
|
|
Get vegetation name
|
|
|
|
:return: string
|
|
|
|
"""
|
|
|
|
return self._name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def management(self):
|
|
|
|
"""
|
|
|
|
Get management
|
|
|
|
:return: string
|
|
|
|
"""
|
|
|
|
return self._management
|
|
|
|
|
|
|
|
@management.setter
|
|
|
|
def management(self, value):
|
|
|
|
"""
|
|
|
|
Set management
|
|
|
|
:param value: string
|
|
|
|
"""
|
|
|
|
self._management = value
|
|
|
|
|
|
|
|
@property
|
|
|
|
def air_gap(self):
|
|
|
|
"""
|
|
|
|
Get air gap in m
|
|
|
|
:return: float
|
|
|
|
"""
|
|
|
|
return self._air_gap
|
|
|
|
|
|
|
|
@air_gap.setter
|
|
|
|
def air_gap(self, value):
|
|
|
|
"""
|
|
|
|
Set air gap in m
|
|
|
|
:param value: float
|
|
|
|
"""
|
|
|
|
self._air_gap = value
|
|
|
|
|
|
|
|
@property
|
|
|
|
def soil(self) -> Soil:
|
|
|
|
"""
|
|
|
|
Get soil
|
|
|
|
:return: Soil
|
|
|
|
"""
|
|
|
|
return self._soil
|
|
|
|
|
|
|
|
@property
|
|
|
|
def soil_thickness(self):
|
|
|
|
"""
|
|
|
|
Get soil thickness in m
|
|
|
|
:return: float
|
|
|
|
"""
|
|
|
|
return self._soil_thickness
|
|
|
|
|
|
|
|
@property
|
|
|
|
def plants(self) -> List[Plant]:
|
|
|
|
"""
|
|
|
|
Get list plants in the vegetation
|
|
|
|
:return: List[Plant]
|
|
|
|
"""
|
|
|
|
return self._plants
|