# data
cubeDimension = 5
size=2
point = [ 3, 3, 3 ]
cubesThatContainsIt = [
([ 3, 3, 3 ], [ 4, 4, 4 ]),
([ 2, 3, 3 ], [ 3, 4, 4 ]),
([ 2, 2, 3 ], [ 3, 3, 4 ]),
([ 2, 2, 2 ], [ 3, 3, 3 ])
]
]
def _generate_cubes(n, x0, y0, z0, k):
if x0>=n or y0>=n or z0>=n or x0<0 or y0<0 or z0<0:
return
for x in range(max(x0-k+1, 0), min(x0+1, n-k+1)):
for y in range(max(y0-k+1, 0), min(y0+1, n-k+1)):
for z in range(max(z0-k+1, 0), min(z0+1, n-k+1)):
yield ((x, y, z) (x+k-1, y+k-1, z+k-1))