Grid.range[XYZ]: make ranges reverable
This commit is contained in:
parent
709b0f471b
commit
5bf2ec1c47
@ -51,16 +51,25 @@ class Grid:
|
|||||||
self.minZ = min(pos.z, self.minZ)
|
self.minZ = min(pos.z, self.minZ)
|
||||||
self.maxZ = max(pos.z, self.maxZ)
|
self.maxZ = max(pos.z, self.maxZ)
|
||||||
|
|
||||||
def rangeX(self, pad: int = 0):
|
def rangeX(self, pad: int = 0, reverse=False):
|
||||||
return range(self.minX - pad, self.maxX + pad + 1)
|
if reverse:
|
||||||
|
return range(self.maxX + pad, self.minX - pad - 1, -1)
|
||||||
|
else:
|
||||||
|
return range(self.minX - pad, self.maxX + pad + 1)
|
||||||
|
|
||||||
def rangeY(self, pad: int = 0):
|
def rangeY(self, pad: int = 0, reverse=False):
|
||||||
return range(self.minY - pad, self.maxY + pad + 1)
|
if reverse:
|
||||||
|
return range(self.maxY + pad, self.minY - pad - 1, -1)
|
||||||
|
else:
|
||||||
|
return range(self.minY - pad, self.maxY + pad + 1)
|
||||||
|
|
||||||
def rangeZ(self, pad: int = 0):
|
def rangeZ(self, pad: int = 0, reverse=False):
|
||||||
if not self.mode3D:
|
if not self.mode3D:
|
||||||
raise ValueError("rangeZ not available in 2D space")
|
raise ValueError("rangeZ not available in 2D space")
|
||||||
return range(self.minZ - pad, self.maxZ + pad + 1)
|
if reverse:
|
||||||
|
return range(self.maxZ + pad, self.minZ - pad - 1, -1)
|
||||||
|
else:
|
||||||
|
return range(self.minZ - pad, self.maxZ + pad + 1)
|
||||||
|
|
||||||
def toggle(self, pos: Coordinate):
|
def toggle(self, pos: Coordinate):
|
||||||
if pos in self.__grid:
|
if pos in self.__grid:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user