Package dsc_suite :: Package routing :: Module estimations
[hide private]
[frames] | no frames]

Source Code for Module dsc_suite.routing.estimations

1 -def middle_point_manhatten(a, b, z_weight=1.0):
2 """ 3 a, b ... coordinates in packing format 4 5 so its [x, y, w, h] or [x, y, z, w, h, d] 6 """ 7 from exceptions import ValueError 8 9 dims = len(a)/2 10 assert(len(a) == len(b)) 11 12 length = 0.0 13 if dims == 2: # 2D packing 14 length += abs((a[0]+a[2]/2) - (b[0]+b[2]/2)) # x 15 length += abs((a[1]+a[3]/2) - (b[1]+b[3]/2)) # y 16 elif dims == 3: # 3D packing 17 length += abs((a[0]+a[3]/2) - (b[0]+b[3]/2)) # x 18 length += abs((a[1]+a[4]/2) - (b[1]+b[4]/2)) # y 19 length += z_weight*abs((a[2]+a[5]/2) - (b[2]+b[5]/2)) # z 20 else: 21 raise ValueError("wrong packing format") 22 23 return length
24