Exemplo n.º 1
0
    def __init__(self, geometry: Geometry):
        """
        Constructs the grid based on the geometry
        :param geometry:
        """
        minx, miny, maxx, maxy = geometry.get_bounding_box()

        x = np.arange(minx - CELLSIZE, maxx + 2 * CELLSIZE, CELLSIZE)
        y = np.arange(miny - CELLSIZE, maxy + 2 * CELLSIZE, CELLSIZE)

        xv, yv = np.meshgrid(x, y, indexing='ij')
        dimX = len(x)
        dimY = len(y)

        self.gridX = xv
        self.gridY = yv
        self.dimX = dimX
        self.dimY = dimY
        self.cellsize = CELLSIZE

        self.inside_cells = self.__get_inside_cells(geometry)
        self.outside_cells = self.__get_outside_cells(geometry)
        self.door_cells = self.__get_door_cells(geometry)
        self.entrance_cells = self.__get_entrance_cells(geometry)
        self.exit_cells = self.__get_exit_cells(geometry)