Grid: finalizing shift(), adding shift_zero()
This commit is contained in:
parent
5bae00234c
commit
9963a21821
@ -292,15 +292,24 @@ class Grid:
|
||||
else:
|
||||
raise NotImplementedError(mode)
|
||||
|
||||
def shift(self, shift_x: int = None, shift_y: int = None):
|
||||
self.minX, self.minY = self.minX + shift_x, self.minY + shift_y
|
||||
self.maxX, self.maxY = self.maxX + shift_x, self.maxY + shift_y
|
||||
def shift(self, shift_x: int = 0, shift_y: int = 0, shift_z: int = 0):
|
||||
self.minX, self.minY, self.minZ = self.minX + shift_x, self.minY + shift_y, self.minZ + shift_z
|
||||
self.maxX, self.maxY, self.minZ = self.maxX + shift_x, self.maxY + shift_y, self.minZ + shift_z
|
||||
coords = self.__grid
|
||||
self.__grid = {}
|
||||
for c, v in coords.items():
|
||||
nc = Coordinate(c.x + shift_x, c.y + shift_y)
|
||||
if self.mode3D:
|
||||
nc = Coordinate(c.x + shift_x, c.y + shift_y, c.z + shift_z)
|
||||
else:
|
||||
nc = Coordinate(c.x + shift_x, c.y + shift_y)
|
||||
self.set(nc, v)
|
||||
|
||||
def shift_zero(self, recalc: bool = True):
|
||||
# self.shift() to (0, 0, 0) being top, left, front
|
||||
if recalc:
|
||||
self.recalcBoundaries()
|
||||
self.shift(0 - self.minX, 0 - self.minY, 0 - self.minZ)
|
||||
|
||||
def getPath_BFS(self, pos_from: Coordinate, pos_to: Coordinate, includeDiagonal: bool, walls: List[Any] = None,
|
||||
stop_at_first: Any = None) -> Union[None, List[Coordinate]]:
|
||||
queue = deque()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user