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()
#
|