grid.Grid(): getActiveRegion(); returns connected !default regions

This commit is contained in:
Stefan Harmuth 2022-11-30 11:20:48 +01:00
parent c16bc0d1cf
commit b6360d18ed

View File

@ -183,6 +183,19 @@ class Grid:
else: else:
return list(self.__grid.keys()) return list(self.__grid.keys())
def getActiveRegion(self, start: Coordinate, includeDiagonal: bool = False, ignore: List[Coordinate] = None) \
-> List[Coordinate]:
if not self.get(start):
return []
if ignore is None:
ignore = []
ignore.append(start)
for c in self.getNeighboursOf(start, includeDiagonal=includeDiagonal):
if c not in ignore:
ignore = self.getActiveRegion(c, includeDiagonal, ignore)
return ignore
def values(self): def values(self):
return self.__grid.values() return self.__grid.values()