keep a more accurate track of boundaries
This commit is contained in:
parent
0ddf7596e0
commit
c5428a4ea5
@ -34,22 +34,29 @@ class Grid:
|
||||
def __init__(self, default=False):
|
||||
self.__default = default
|
||||
self.__grid = {}
|
||||
self.minX = 0
|
||||
self.minY = 0
|
||||
self.maxX = 0
|
||||
self.maxY = 0
|
||||
self.minZ = 0
|
||||
self.maxZ = 0
|
||||
self.minX = None
|
||||
self.minY = None
|
||||
self.maxX = None
|
||||
self.maxY = None
|
||||
self.minZ = None
|
||||
self.maxZ = None
|
||||
self.mode3D = False
|
||||
|
||||
def __trackBoundaries(self, pos: Coordinate):
|
||||
self.minX = pos.x if pos.x < self.minX else self.minX
|
||||
self.minY = pos.y if pos.y < self.minY else self.minY
|
||||
self.maxX = pos.x if pos.x > self.maxX else self.maxX
|
||||
self.maxY = pos.y if pos.y > self.maxY else self.maxY
|
||||
if self.minX is None:
|
||||
self.minX, self.maxX, self.minY, self.maxY = pos.x, pos.x, pos.y, pos.y
|
||||
else:
|
||||
self.minX = pos.x if pos.x < self.minX else self.minX
|
||||
self.minY = pos.y if pos.y < self.minY else self.minY
|
||||
self.maxX = pos.x if pos.x > self.maxX else self.maxX
|
||||
self.maxY = pos.y if pos.y > self.maxY else self.maxY
|
||||
|
||||
if self.mode3D:
|
||||
self.minZ = pos.z if pos.z < self.minZ else self.minZ
|
||||
self.maxZ = pos.z if pos.z > self.maxZ else self.maxZ
|
||||
if self.minZ is None:
|
||||
self.minZ = self.maxZ = pos.z
|
||||
else:
|
||||
self.minZ = pos.z if pos.z < self.minZ else self.minZ
|
||||
self.maxZ = pos.z if pos.z > self.maxZ else self.maxZ
|
||||
|
||||
def rangeX(self, pad: int = 0, reverse=False):
|
||||
if reverse:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user