verts1 = [] radii1 = [] colors1 =[] master = orgaToMasterGeom[h1] print master for pos, rot, ingr, ptInd in h1.molecules: level = ingr.maxLevel px = ingr.transformPoints(pos, rot, ingr.positions[level]) for ii in range(len(ingr.radii[level])): verts1.append( px[level][ii] ) radii1.append( ingr.radii[level][ii] *2.) colors1.append( ingr.color) print len(verts1) bg = bl.newEmpty('spheres') bl.addObjectToScene(scn,bg) meshsphere=Mesh.Primitives.UVsphere(int(10),int(10),1) meshsphere.name="basesphere" for face in meshsphere.faces: face.smooth=1 basesphere=bl.getCurrentScene().objects.new(meshsphere,"basesphere") basesphere.restrictSelect=True if len(verts1): sphs = bl.instancesSphere('spheres',verts1,radii1,meshsphere,colors1,scn,parent=bg) #need create all the sphere.. #sph = Spheres('spheres', inheritMaterial=False, centers=verts1, # materials=colors1, radii=radii1, visible=1) #vi.AddObject(sph, parent=master) # display extra cellular meshes
verts1 = [] radii1 = [] colors1 = [] master = orgaToMasterGeom[h1] print(master) for pos, rot, ingr, ptInd in h1.molecules: level = ingr.maxLevel px = ingr.transformPoints(pos, rot, ingr.positions[level]) for ii in range(len(ingr.radii[level])): verts1.append(px[level][ii]) radii1.append(ingr.radii[level][ii] * 2.0) colors1.append(ingr.color) print(len(verts1)) bg = bl.newEmpty("spheres") bl.addObjectToScene(scn, bg) meshsphere = Mesh.Primitives.UVsphere(int(10), int(10), 1) meshsphere.name = "basesphere" for face in meshsphere.faces: face.smooth = 1 basesphere = bl.getCurrentScene().objects.new(meshsphere, "basesphere") basesphere.restrictSelect = True if len(verts1): sphs = bl.instancesSphere("spheres", verts1, radii1, meshsphere, colors1, scn, parent=bg) # need create all the sphere.. # sph = Spheres('spheres', inheritMaterial=False, centers=verts1, # materials=colors1, radii=radii1, visible=1) # vi.AddObject(sph, parent=master)
from Blender import Material from Blender import Mathutils from Blender import Window, Scene, Draw bb=[[0, -400.0, -400.0], [400.0, 400.0, 400.0]] sc = bl.getCurrentScene() #display fill box fbb = bl.box('fillpBB',cornerPoints=bb) #maybe /10. bl.addObjectToScene(sc,fbb) #fbb = Box('fillpBB', cornerPoints=bb, visible=1) #vi.AddObject(fbb) # create master for extra cellular compartment # bg = bl.newEmpty('extra cellular') orgaToMasterGeom = {} g = Geom('extra cellular', visible=0) orgaToMasterGeom[0] = g orgaToMasterGeom[h1] = g bl.addObjectToScene(sc,bg) # display organelle mesh for orga in h1.organelles: # create master for organelle bg = bl.newEmpty('organelle_%d'%orga.number) g = Geom('organelle_%d'%orga.number) bl.addObjectToScene(sc,bg) gs = Geom('surface') bgs = bl.newEmpty('surface') bl.addObjectToScene(sc,bgs, parent=bg)
verts1 = [] radii1 = [] colors1 = [] master = orgaToMasterGeom[h1] print(master) for pos, rot, ingr, ptInd in h1.molecules: level = ingr.maxLevel px = ingr.transformPoints(pos, rot, ingr.positions[level]) for ii in range(len(ingr.radii[level])): verts1.append(px[level][ii]) radii1.append(ingr.radii[level][ii] * 2.) colors1.append(ingr.color) print(len(verts1)) bg = bl.newEmpty('spheres') bl.addObjectToScene(scn, bg) meshsphere = Mesh.Primitives.UVsphere(int(10), int(10), 1) meshsphere.name = "basesphere" for face in meshsphere.faces: face.smooth = 1 basesphere = bl.getCurrentScene().objects.new(meshsphere, "basesphere") basesphere.restrictSelect = True if len(verts1): sphs = bl.instancesSphere('spheres', verts1, radii1, meshsphere, colors1, scn,