Grid: finalizing shift(), adding shift_zero()
This commit is contained in:
parent
5bae00234c
commit
9963a21821
@ -292,15 +292,24 @@ class Grid:
|
|||||||
else:
|
else:
|
||||||
raise NotImplementedError(mode)
|
raise NotImplementedError(mode)
|
||||||
|
|
||||||
def shift(self, shift_x: int = None, shift_y: int = None):
|
def shift(self, shift_x: int = 0, shift_y: int = 0, shift_z: int = 0):
|
||||||
self.minX, self.minY = self.minX + shift_x, self.minY + shift_y
|
self.minX, self.minY, self.minZ = self.minX + shift_x, self.minY + shift_y, self.minZ + shift_z
|
||||||
self.maxX, self.maxY = self.maxX + shift_x, self.maxY + shift_y
|
self.maxX, self.maxY, self.minZ = self.maxX + shift_x, self.maxY + shift_y, self.minZ + shift_z
|
||||||
coords = self.__grid
|
coords = self.__grid
|
||||||
self.__grid = {}
|
self.__grid = {}
|
||||||
for c, v in coords.items():
|
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)
|
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,
|
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]]:
|
stop_at_first: Any = None) -> Union[None, List[Coordinate]]:
|
||||||
queue = deque()
|
queue = deque()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user