from bulbdef import *

ggid2pos = {}
pos2ggid = {}


#def init(gid_begin):
#
#  # make a list of available granule cells
#  from misc import Ellipsoid
#  from math import exp
#  
#  radius = gran_connect_radius
#  
#  ggid2pos.clear()
#  pos2ggid.clear()
#  up = Ellipsoid(bulb_center, gran_bnd_up)
#  dw = Ellipsoid(bulb_center, gran_bnd_dw)
#  
#  d = gran_voxel
#center = bulb_center
#  upbnd = gran_bnd_up
#  gindex = 0
#  for x in range(int((center[0]-upbnd[0]/2)/d)*d-d, int((center[0]+upbnd[0]/2)/d)*d+d+d, d):
#    for y in range(int((center[1]-upbnd[1]/2)/d)*d-d, int((center[1]+upbnd[1]/2)/d)*d+d+d, d):
#      for z in range(int((center[2]-upbnd[2]/2)/d)*d-d, int((center[2]+upbnd[2]/2)/d)*d+d+d, d):
#        
#        p =(x, y, z)
#        if up.normalRadius(p) < 1.0 and dw.normalRadius(p) >= 1.0: # inside boundaries
#          ggid = gid_begin+gindex
#              
#          ggid2pos.update({ ggid:p })
#          pos2ggid.update({ p:ggid })
#          
#          gindex += 1
          



def init():
  with open('granules.txt', 'r') as fi:
    line = fi.readline()
    while line:
      token = line.split()
      gid = int(token[0])
      pos = (float(token[1]), float(token[2]), float(token[3]))
      ggid2pos.update({ gid:pos })
      pos2ggid.update({ pos:gid })
      line = fi.readline()