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