From: Markus R. <rol...@us...> - 2007-02-15 21:06:30
|
Update of /cvsroot/simspark/simspark/spark/spark In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv26440 Modified Files: Tag: WIN32 spark.rb Log Message: - add funtion sparkResetScene() that destroys and rebuilds the current scene, installls a new world and space node and takes care to invalidate all stale references Index: spark.rb =================================================================== RCS file: /cvsroot/simspark/simspark/spark/spark/spark.rb,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -C2 -d -r1.5 -r1.5.2.1 *** spark.rb 15 Feb 2006 01:08:19 -0000 1.5 --- spark.rb 15 Feb 2007 21:06:21 -0000 1.5.2.1 *************** *** 44,47 **** --- 44,67 ---- # below is a set of utility functions for the user app # + + # rebuild scene and update all cached references + def sparkResetScene + scene = get($scenePath) + scene.unlinkChildren() + + # (re-)create world and space aspects + world = new('oxygen/World', $scenePath+'world') + world.setGravity(0.0, 0.0, -9.81) + new('oxygen/Space', $scenePath+'space') + + # invalidate all cached references + scriptServer = get($serverPath+'script') + scriptServer.updateCachedAllNodes() + + # force update references to scene objects (world, space etc.) + sceneServer = get($serverPath+'scene') + sceneServer.setActiveScene($scenePath) + end + def sparkSetupMonitor print "(spark.rb) sparkSetupMonitor\n" *************** *** 323,330 **** sceneServer.initSceneImporter("RosImporter"); ! # create world and space aspects ! world = new('oxygen/World', $scenePath+'world') ! world.setGravity(0.0, 0.0, -9.81) ! new('oxygen/Space', $scenePath+'space') # --- 343,348 ---- sceneServer.initSceneImporter("RosImporter"); ! # prepare scene ! sparkResetScene() # |