""" Walking area module SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca Contributor Milad milad.aghamohamadnia@concordia.ca """ from typing import List, TypeVar Edge = TypeVar['Edge'] Node = TypeVar['Node'] class WalkingArea: """ WalkingArea class """ def __init__(self): self._node = None self._edges = None self._shape = None @property def node(self) -> Node: """ The node at which this walking area is located :return: Node """ return self._node @node.setter def node(self, value): """ The node at which this walking area is located setter :param value: Node """ self._node = value @property def edges(self) -> List[Edge]: """ The (road) edges which uniquely define the walking area :return: [Edge] """ return self._edges @edges.setter def edges(self, value): """ The (road) edges which uniquely define the walking area setter :param value: [Edge] """ self._edges = value @property def shape(self) -> List[List[float]]: """ List of positions (positions in m) :return: [[x, y, (z)]] """ return self._shape @shape.setter def shape(self, value): """ List of positions setter :param value: [[x, y, (z)]] """ self._shape = value