def keyfunc2( key, mx, my, tm ): if chr(27) == key: print _pylon.exit( 0 ) global sim2Outset global sim2 if key == ',': #pylon.wait_sec_f(10.0/25.0) #sim2.stop() rnum = 3 sim2Outset = None print "'simulation2' = ",pylon.sim_num_objects( "simulation2" ) #while pylon.sim_num_objects( "simulation2" ) > 0: #print "'simulation2' = ",pylon.sim_num_objects( "simulation2" ) #pylon.wait_sec_f(0.1) sim2Outset = sim2.newObject("sim2Outset_"+str(tm)) sim2Outset.setOptions( pylon.solid_stationary | pylon.solid_concave | pylon.solid_sphere ) #sim2Outset.setProperties( pylon.object_draw_children ) #sim2Outset.setProperties( pylon.object_debug ) sim2Outset.setProperties( 0 ) pylon.object_add_sphere( sim2Outset.simname, sim2Outset.name, 1.5, 20, 20, possibleImages[rnum], 1, 1, possibleTriProps[rnum]|pylon.triangle_invert_normals ) sim2Outset.setVisibility(pylon.key_ispressed('v')) #sim2Outset.setInvisible() #sim2Outset.setVisible() sim2Outset.build() #sim2.resume() if key == 'v': sim2Outset.setInvisible()
def keyfunc1( key, mx, my, tm ): # the exiting condition if chr(27) == key: print _pylon.exit( 0 ) if key == '\r' or key == '\n': global going if going: print "Stopping Physics Calculation Thread" going = False _pylon_calc.lock() else: print "Starting Physics Calculation Thread" going = True _pylon_calc.unlock() if key == 'o': sim2.halt() l = 0 while l < 10: #pylon.wait_sec_f(1.0/25.0) positionrange = 1.5 rpos = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * positionrange rot = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * 360.0 currentObject = sim2.newObject( "Object_"+str(pylon.get_runtime()) ) currentObject.setPos(rpos) currentObject.setRot(rot) currentObject.setMass(20000) currentObject.setBounce(0.25) currentObject.setFriction(0.5) currentObject.setOptions( pylon.solid_volatile | pylon.solid_convex | pylon.solid_sphere ) currentObject.setProperties( pylon.object_draw_children ) rnum = 1 print pylon.object_add_sphere( currentObject.simname, currentObject.name, .25, 10, 10, possibleImages[rnum], 1, 1, possibleTriProps[rnum] ) currentObject.setCollisionCallBack( "game", "collisionfunction1" ) currentObject.setStepCallBack( "game", "stepfunction1" ) currentObject.setHitFilterCallBack( "game", "hitfilter1" ) currentObject.build() l += 1 sim2.resume() if key == ',': #if pylon.sim_remove_object( sim2Outset.simname, sim2Outset.name ): #print " AKHBSDjkHAKJJSD" #sim2.halt() print "clearing sim2" if sim2.clearAllObjects(): print "cannot clear sim2" if key == 'v': global sim2Outset sim2Outset.setVisible()
def keyfunc3( key, mx, my, tm ): global sim2Outset if key == 'l': if pylon.sim_remove_object( sim2Outset.simname, sim2Outset.name ): print " AKHBSDjkHAKJJSD" rnum = 3 sim2Outset = None while sim2Outset == None: sim2Outset = sim2.newObject("sim2Outset_"+str(tm)) sim2Outset.setOptions( pylon.solid_stationary | pylon.solid_concave | pylon.solid_sphere ) sim2Outset.setProperties( 0 ) pylon.object_add_sphere( sim2Outset.simname, sim2Outset.name, 1.5, 20, 20, possibleImages[rnum], 1, 1, possibleTriProps[rnum]|pylon.triangle_invert_normals ) sim2Outset.setVisibility(pylon.key_ispressed('v')) sim2Outset.build()
minrad = 0.5 numOSpheres = NumInitObjs while loop < numOSpheres: positionrange = 1.5 rpos = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * positionrange rot = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * 360.0 currentObject = sim2.newObject( "Object"+str(loop) ) currentObject.setPos(rpos) currentObject.setRot(rot) currentObject.setMass(20000) currentObject.setBounce(0.25) currentObject.setFriction(0.5) currentObject.setOptions( pylon.solid_volatile | pylon.solid_convex | pylon.solid_sphere ) currentObject.setProperties( pylon.object_draw_children ) rnum = 1 print pylon.object_add_sphere( currentObject.simname, currentObject.name, .25, 10, 10, possibleImages[rnum], 1, 1, possibleTriProps[rnum] ) currentObject.setCollisionCallBack( "game", "collisionfunction1" ) currentObject.setStepCallBack( "game", "stepfunction1" ) currentObject.setHitFilterCallBack( "game", "hitfilter1" ) currentObject.build() loop = loop + 1 sim2.setCollisionIterations( 3 ) cam.radus = 2 TestSphereSim = Simulation("TestSphereSim",True) loop = 0 rnum = 0 numOSpheres = NumInitObjs