Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2116 - in trunk: SwigInterface scenes/csafe/python


Chronological Thread 
  • From: brownlee@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2116 - in trunk: SwigInterface scenes/csafe/python
  • Date: Mon, 25 Feb 2008 11:33:49 -0700 (MST)

Author: brownlee
Date: Mon Feb 25 11:33:49 2008
New Revision: 2116

Modified:
   trunk/SwigInterface/wxManta.py
   trunk/scenes/csafe/python/csafe_demo.py
Log:
added visible lights to wxmanta, press i to use (l was already taken)

Modified: trunk/SwigInterface/wxManta.py
==============================================================================
--- trunk/SwigInterface/wxManta.py      (original)
+++ trunk/SwigInterface/wxManta.py      Mon Feb 25 11:33:49 2008
@@ -439,6 +439,46 @@
         self.timeView = None
         self.animationCallbackHandle = None
         
+        self.waitingToDeleteLights = False
+        self.lightsVisible = False
+        self.originalObject = None
+        self.lightsRenderables = []
+        
+    
###########################################################################
+    ## toggleVisibleLightsHelper
+    
###########################################################################
+    def toggleVisibleLightsHelper(self, proc, numProcs):
+        for i in range(len(self.lightsRenderables)):
+            manta_delete(self.lightsRenderables[i])
+        self.lightsRenderables = []
+        self.waitingToDeleteLights = False
+        
+        
+        
+    
###########################################################################
+    ## toggleVisibleLights
+    
###########################################################################
+    def toggleVisibleLights(self):
+        if (self.waitingToDeleteLights == False):
+            if (self.lightsVisible):
+                self.lightsVisible = False
+                self.engine.getScene().setObject(self.originalObject)
+                self.engine.addOneShotCallback(MantaInterface.Relative, 2, 
manta_new(createMantaOneShotCallback( self.toggleVisibleLightsHelper, ())))
+                self.waitingToDeleteLights = True
+            else:
+                self.lightsVisible = True
+                scene = self.engine.getScene()
+                group = manta_new(Group())
+                self.originalObject = scene.getObject()
+                group.add(self.originalObject)
+                lights = scene.getLights()
+                for i in range(lights.numLights()):
+                    renderable = lights.getLight(i).createRenderable()
+                    if renderable != None:
+                        group.add(renderable)
+                        self.lightsRenderables.append(renderable)
+                scene.setObject(group)
+        
     
###########################################################################
     ## OnSize
     
###########################################################################
@@ -558,6 +598,8 @@
                     change = -1
                 self.engine.addTransaction("processor count change",
                                            
manta_new(createMantaTransaction(self.changeNumWorkers, 
(self.engine.numWorkers(), change) )))
+            elif key == 'I':
+                self.toggleVisibleLights()
             elif key == 'Q':
                 print "Quitting"
                 self.Close()
@@ -580,6 +622,8 @@
             #print "Found special key '%s'" % key
             
         event.Skip()
+        
+
 
     
###########################################################################
     ## animationCallback

Modified: trunk/scenes/csafe/python/csafe_demo.py
==============================================================================
--- trunk/scenes/csafe/python/csafe_demo.py     (original)
+++ trunk/scenes/csafe/python/csafe_demo.py     Mon Feb 25 11:33:49 2008
@@ -506,8 +506,8 @@
         vs.Add(hvs2,0,wx.ALIGN_BOTTOM|wx.ALIGN_CENTER)
         #TODO: can't get the staticbox to friggin work with the buttons
 #        vs.Add( animCtrlSizer, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
-        if (self.scene.mantaFrame != None):
-            vs.Add(self.scene.mantaFrame.panel, 0,wx.ALIGN_BOTTOM)
+        #if (self.scene.mantaFrame != None):
+        #    vs.Add(self.scene.mantaFrame.panel, 0,wx.ALIGN_BOTTOM)
         
                
        self.Bind(wx.EVT_BUTTON, self.OnClickBack, self.backB)




  • [Manta] r2116 - in trunk: SwigInterface scenes/csafe/python, brownlee, 02/25/2008

Archive powered by MHonArc 2.6.16.

Top of page