Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1353 - trunk/SwigInterface


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1353 - trunk/SwigInterface
  • Date: Thu, 19 Apr 2007 21:29:35 -0600 (MDT)

Author: bigler
Date: Thu Apr 19 21:29:35 2007
New Revision: 1353

Modified:
   trunk/SwigInterface/wxManta.py
Log:

Added support for showing the time view.

Added support for changing the number of processors.


Modified: trunk/SwigInterface/wxManta.py
==============================================================================
--- trunk/SwigInterface/wxManta.py      (original)
+++ trunk/SwigInterface/wxManta.py      Thu Apr 19 21:29:35 2007
@@ -394,7 +394,9 @@
         # Basic settings.
         self.engine = createManta()
 
-        self.factory = Factory( self.engine )
+        # I thought this would be garbage collected properly, but for
+        # some reason on my laptop it crashes in the desctructor.
+        self.factory = manta_new(Factory( self.engine ))
         
         self.factory.selectImageType      ("rgba8")
         self.factory.selectLoadBalancer   ("workqueue")
@@ -474,6 +476,7 @@
         self.trackball_radius = 0.8
         self.left_mouse_is_down = False
         self.right_mouse_is_down = False
+        self.timeView = None
         
 
     
###########################################################################
@@ -577,23 +580,29 @@
     ## OnChar
     
###########################################################################
     def OnChar( self, event ):
-        print "OnChar"
         key = event.GetKeyCode()
         if (key < 256):
             key = chr(key)
-            if key == 'P':
-                print "Found a 'p'"
-            elif key == 'V':
-                print "Found a 'v'"
-            elif key == "L":
+            if key == "L":
                 LightFrame(self, self.engine).Show()
+            elif key == 'P':
+                change = 1
+                if (event.ShiftDown()):
+                    change = -1
+                self.engine.addTransaction("processor count change",
+                                           
manta_new(createMantaTransaction(self.changeNumWorkers, 
(self.engine.numWorkers(), change) )))
             elif key == 'Q':
                 print "Quitting"
                 self.Close()
+            elif key == 'T':
+                self.OnTKey(event)
+            elif key == 'V':
+                self.OnAutoView(None)
             else:
                 print "Unknown key '%s'" % key
         else:
-            print "Found special key '%s'" % key
+            pass
+            #print "Found special key '%s'" % key
             
         event.Skip()
 
@@ -828,6 +837,38 @@
             z = math.sqrt(1-rad2)
             return Vector(x,y,z)
 
+    
###########################################################################
+    ## changeNumWorkers
+    
###########################################################################
+    def changeNumWorkers(self, value, change):
+        newProcs = value.value + change
+        if (newProcs < 1):
+            newProcs = 1
+        value.value = newProcs
+        
+    
###########################################################################
+    ## OnTKey
+    
###########################################################################
+    def OnTKey(self, event):
+        if (self.timeView == None):
+            self.timeView = 
TimeViewSampler.fromPixelSampler(self.engine.getPixelSampler())
+            if (self.timeView == None):
+                self.timeView = manta_new(TimeViewSampler(vectorStr()))
+        if (event.ControlDown()):
+            factor = 1.1
+            if (event.ShiftDown()):
+                factor = 1.0/factor
+            self.engine.addTransaction("TimeView scale",
+                                       
manta_new(createMantaTransaction(self.timeView.changeScale, (factor,))))
+        else:
+            self.engine.addTransaction("TimeView toggle",
+                                       
manta_new(createMantaTransaction(self.toggleTimeView, (None,) )))
+
+    def toggleTimeView(self, args):
+        currentTimeView = TimeViewSampler.toggleTimeView(self.engine, 
self.timeView)
+        if (self.timeView != currentTimeView):
+            self.timeView = currentTimeView
+    
     def updateFramerate(self, framerate):
         text = ""
         if (framerate > 1):




  • [MANTA] r1353 - trunk/SwigInterface, bigler, 04/19/2007

Archive powered by MHonArc 2.6.16.

Top of page