Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2126 - trunk/scenes/csafe/python


Chronological Thread 
  • From: brownlee@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2126 - trunk/scenes/csafe/python
  • Date: Tue, 26 Feb 2008 13:49:44 -0700 (MST)

Author: brownlee
Date: Tue Feb 26 13:49:44 2008
New Revision: 2126

Modified:
   trunk/scenes/csafe/python/csafe_demo.py
Log:
fixed an issue with Linux menubars, added additional commandline options

Modified: trunk/scenes/csafe/python/csafe_demo.py
==============================================================================
--- trunk/scenes/csafe/python/csafe_demo.py     (original)
+++ trunk/scenes/csafe/python/csafe_demo.py     Tue Feb 26 13:49:44 2008
@@ -33,6 +33,8 @@
 """
 
 # Import wxManta gui and some system modules.
+import wxversion
+wxversion.ensureMinimal("2.8")
 import wxManta
 import getopt, sys
 
@@ -64,46 +66,45 @@
         wx.DefaultPosition, wx.Size(400, 450))
         self.panel = scrolled.ScrolledPanel(self,-1, style= wx.TAB_TRAVERSAL)
         self.scene = SceneInfo.Scene()
-        #self.SetForegroundColour(wx.Colour(255,0,0))
         self.SetBackgroundColour(self.scene.bgColor)
-#        menuBar = wx.MenuBar()
-#        menuFile = wx.Menu()
-#        menuFile.Append(101, "&About", "")
-#        menuFile.Append(102, "&Save", "")
-#        menuFile.Append(103, "Save As...", "")
-#        menuFile.Append(104, "Load", "")
-#      menuFile.Append(107, "Import NrrdList")
-#      menuFile.Append(108, "Export NrrdList")
-#      menuFile.Append(106, "Import Transfer Function")
-#        menuFile.Append(105, "Export Transfer Function")
-#      menuFile.Append(109, "&Quit", "")
-#        menuBar.Append(menuFile, "File")
-#        
-#        menuScene = wx.Menu()
-#        menuScene.Append(201, "&Add/Remove Files", "Add and remove Nrrd 
files to the scene")
-#      menuScene.Append(204, "Add &Histogram", "Add a histogram to the 
panel")
-#        menuScene.Append(202, "Scene Preferences")
-#        menuScene.Append(203, "&Generate")
-#        menuBar.Append(menuScene, "Scene")
-#        
-#        menuHelp = wx.Menu()
-#        menuBar.Append(menuHelp, "Help")
-#      self.SetMenuBar(menuBar)
-#
-#        self.Bind(wx.EVT_MENU, self.Menu101, id=101)
-#        self.Bind(wx.EVT_MENU, self.Menu102, id=102)
-#        self.Bind(wx.EVT_MENU, self.Menu103, id=103)
-#        self.Bind(wx.EVT_MENU, self.Menu104, id=104)
-#        self.Bind(wx.EVT_MENU, self.Menu105, id=105)
-#        self.Bind(wx.EVT_MENU, self.Menu106, id=106)
-#        self.Bind(wx.EVT_MENU, self.Menu201, id=201)
-#        self.Bind(wx.EVT_MENU, self.Menu202, id=202)
-#      self.Bind(wx.EVT_MENU, self.Menu107, id=107)
-#      self.Bind(wx.EVT_MENU, self.Menu108, id=108)
-#      self.Bind(wx.EVT_MENU, self.Menu109, id=109)
-#      self.Bind(wx.EVT_MENU, self.Menu203, id=203)
-#      self.Bind(wx.EVT_MENU, self.Menu204, id=204)
-#      self.SetBackgroundColour(self.scene.bgColor)
+        menuBar = wx.MenuBar()
+        menuFile = wx.Menu()
+        menuFile.Append(101, "&About", "")
+        menuFile.Append(102, "&Save", "")
+        menuFile.Append(103, "Save As...", "")
+        menuFile.Append(104, "Load", "")
+       menuFile.Append(107, "Import NrrdList")
+       menuFile.Append(108, "Export NrrdList")
+       menuFile.Append(106, "Import Transfer Function")
+        menuFile.Append(105, "Export Transfer Function")
+       menuFile.Append(109, "&Quit", "")
+        menuBar.Append(menuFile, "File")
+        
+        menuScene = wx.Menu()
+        menuScene.Append(201, "&Add/Remove Files", "Add and remove Nrrd 
files to the scene")
+       menuScene.Append(204, "Add &Histogram", "Add a histogram to the 
panel")
+        menuScene.Append(202, "Scene Preferences")
+        menuScene.Append(203, "&Generate")
+        menuBar.Append(menuScene, "Scene")
+        
+        menuHelp = wx.Menu()
+        menuBar.Append(menuHelp, "Help")
+       self.SetMenuBar(menuBar)
+
+        self.Bind(wx.EVT_MENU, self.Menu101, id=101)
+        self.Bind(wx.EVT_MENU, self.Menu102, id=102)
+        self.Bind(wx.EVT_MENU, self.Menu103, id=103)
+        self.Bind(wx.EVT_MENU, self.Menu104, id=104)
+        self.Bind(wx.EVT_MENU, self.Menu105, id=105)
+        self.Bind(wx.EVT_MENU, self.Menu106, id=106)
+        self.Bind(wx.EVT_MENU, self.Menu201, id=201)
+        self.Bind(wx.EVT_MENU, self.Menu202, id=202)
+       self.Bind(wx.EVT_MENU, self.Menu107, id=107)
+       self.Bind(wx.EVT_MENU, self.Menu108, id=108)
+       self.Bind(wx.EVT_MENU, self.Menu109, id=109)
+       self.Bind(wx.EVT_MENU, self.Menu203, id=203)
+       self.Bind(wx.EVT_MENU, self.Menu204, id=204)
+       self.SetBackgroundColour(self.scene.bgColor)
 
     def Menu101(self, evt):
         info = wx.AboutDialogInfo()
@@ -294,47 +295,47 @@
     def InitializeScene(self,frame, engine):
     
         self.scene.mantaFrame = frame
-        menuBar = frame.menuBar
-    
-        menuFile = frame.file_menu
-        dialog_id = wx.NewId()
-        menuFile.Append(dialog_id, "&About", "")
-        self.Bind(wx.EVT_MENU, self.Menu101, id=dialog_id)
-        menuFile.Append(102, "&Save", "")
-        menuFile.Append(103, "Save As...", "")
-        dialog_id = wx.NewId()
-        menuFile.Append(dialog_id, "Load", "")
-        self.Bind(wx.EVT_MENU, self.Menu104, id=dialog_id)
-       menuFile.Append(107, "Import NrrdList")
-       menuFile.Append(108, "Export NrrdList")
-       menuFile.Append(106, "Import Transfer Function")
-        menuFile.Append(105, "Export Transfer Function")
-       menuFile.Append(109, "&Quit", "")
-        #menuBar.Append(menuFile, "File")
-        
-        menuScene = wx.Menu()
-        menuScene.Append(201, "&Add/Remove Files", "Add and remove Nrrd 
files to the scene")
-       menuScene.Append(204, "Add &Histogram", "Add a histogram to the 
panel")
-        menuScene.Append(202, "Scene Preferences")
-        menuScene.Append(203, "&Generate")
-        menuBar.Append(menuScene, "Scene")
-        
-        menuHelp = wx.Menu()
-        menuBar.Append(menuHelp, "Help")
-#      self.SetMenuBar(menuBar)
-
-        
-        self.Bind(wx.EVT_MENU, self.Menu102, id=102)
-        self.Bind(wx.EVT_MENU, self.Menu103, id=103)
-        self.Bind(wx.EVT_MENU, self.Menu105, id=105)
-        self.Bind(wx.EVT_MENU, self.Menu106, id=106)
-        self.Bind(wx.EVT_MENU, self.Menu201, id=201)
-        self.Bind(wx.EVT_MENU, self.Menu202, id=202)
-       self.Bind(wx.EVT_MENU, self.Menu107, id=107)
-       self.Bind(wx.EVT_MENU, self.Menu108, id=108)
-       self.Bind(wx.EVT_MENU, self.Menu109, id=109)
-       self.Bind(wx.EVT_MENU, self.Menu203, id=203)
-       self.Bind(wx.EVT_MENU, self.Menu204, id=204)
+#        menuBar = frame.menuBar
+#    
+#        menuFile = frame.file_menu
+#        dialog_id = wx.NewId()
+#        menuFile.Append(dialog_id, "&About", "")
+#        self.Bind(wx.EVT_MENU, self.Menu101, id=dialog_id)
+#        menuFile.Append(102, "&Save", "")
+#        menuFile.Append(103, "Save As...", "")
+#        dialog_id = wx.NewId()
+#        menuFile.Append(dialog_id, "Load", "")
+#        self.Bind(wx.EVT_MENU, self.Menu104, id=dialog_id)
+#      menuFile.Append(107, "Import NrrdList")
+#      menuFile.Append(108, "Export NrrdList")
+#      menuFile.Append(106, "Import Transfer Function")
+#        menuFile.Append(105, "Export Transfer Function")
+#      menuFile.Append(109, "&Quit", "")
+#        #menuBar.Append(menuFile, "File")
+#        
+#        menuScene = wx.Menu()
+#        menuScene.Append(201, "&Add/Remove Files", "Add and remove Nrrd 
files to the scene")
+#      menuScene.Append(204, "Add &Histogram", "Add a histogram to the 
panel")
+#        menuScene.Append(202, "Scene Preferences")
+#        menuScene.Append(203, "&Generate")
+#        menuBar.Append(menuScene, "Scene")
+#        
+#        menuHelp = wx.Menu()
+#        menuBar.Append(menuHelp, "Help")
+##     self.SetMenuBar(menuBar)
+#
+#        
+#        self.Bind(wx.EVT_MENU, self.Menu102, id=102)
+#        self.Bind(wx.EVT_MENU, self.Menu103, id=103)
+#        self.Bind(wx.EVT_MENU, self.Menu105, id=105)
+#        self.Bind(wx.EVT_MENU, self.Menu106, id=106)
+#        self.Bind(wx.EVT_MENU, self.Menu201, id=201)
+#        self.Bind(wx.EVT_MENU, self.Menu202, id=202)
+#      self.Bind(wx.EVT_MENU, self.Menu107, id=107)
+#      self.Bind(wx.EVT_MENU, self.Menu108, id=108)
+#      self.Bind(wx.EVT_MENU, self.Menu109, id=109)
+#      self.Bind(wx.EVT_MENU, self.Menu203, id=203)
+#      self.Bind(wx.EVT_MENU, self.Menu204, id=204)
        self.SetBackgroundColour(self.scene.bgColor)
     
     
@@ -471,23 +472,9 @@
         self.slider.SetTickFreq(1,1)
         self.Bind(wx.EVT_SLIDER, self.OnSlider, self.slider)
        
-#      self.Bind(wx.EVT_BUTTON, self.OnClickBack, self.backB)
-#      self.Bind(wx.EVT_BUTTON, self.OnClickPlay, self.playB)
-#      self.Bind(wx.EVT_BUTTON, self.OnClickForward, self.forwardB)
-       #animCtrlSizer.Add(self.backB, 0, wx.ALIGN_TOP, 1)
-       #animCtrlSizer.Add(self.playB, 0, wx.ALIGN_TOP, 1)
-       #animCtrlSizer.Add(self.forwardB, 0, wx.ALIGN_TOP, 1)
-      #  vs.Add(animCtrlSizer, wx.ALIGN_TOP|wx.ALL, 5)
 
        vs.Layout()
 
-#      self.SetSizer( vs )
-#      self.SetAutoLayout(True)
-       #vs.Fit( self )
-       #self.panel1.SetSizer(vs)
-       #vs.Layout()
-       #self.SetSizer(vs)
-       #vs.Fit(self)
        self.panel.SetBackgroundColour(self.scene.bgColor)
        self.panel.SetSizer(vs)
        self.SetBackgroundColour(self.scene.bgColor)
@@ -507,15 +494,8 @@
        vs.Add(hvs,0,wx.ALIGN_TOP|wx.ALIGN_CENTER,5)
 
        hvs2 = wx.BoxSizer(wx.HORIZONTAL)
-       animCtrlTitle = wx.StaticBox(self.panel, -1, "")
-        animCtrlSizer = wx.StaticBoxSizer(animCtrlTitle, wx.HORIZONTAL)
-#      animCtrlSizer.Add(self.backB, 0, wx.ALIGN_CENTER, 1)
-   #     animCtrlSizer.Add(self.playB, 0, wx.ALIGN_CENTER, 1)
-   #     animCtrlSizer.Add(self.forwardB, 0, wx.ALIGN_CENTER, 1)
-    #    hvs2.Add(animCtrlSizer,wx.ALIGN_CENTER,2)
-     #   vs.Add(hvs2, wx.BOTTOM, 5)
-        #vs.AddSpacer(100,100)
-        #animCtrlSizer.Add(self.playB )
+       #animCtrlTitle = wx.StaticBox(self.panel, -1, "")
+     #   animCtrlSizer = wx.StaticBoxSizer(animCtrlTitle, wx.HORIZONTAL)
         hvs2.Add(self.backB,0,wx.ALIGN_CENTER,2)
         hvs2.Add(self.playB,0,wx.ALIGN_CENTER,2)
         hvs2.Add(self.forwardB,0,wx.ALIGN_CENTER,2)
@@ -533,13 +513,7 @@
 
        vs.Layout()
        self.panel.SetSizer(vs)
-#      vs.Fit(self)
-#      self.panel.SetAutoLayout(True)
        self.panel.SetupScrolling()
-       #self.SetSizer(vs)
-       #self.SetAutoLayout(True)
-       #vs.Fit(self)
-       #self.SetBackgroundColour(self.scene.bgColor)
        self.panel.Refresh()
        self.Refresh()
        
@@ -567,39 +541,83 @@
 
     def OnClickForward(self, evt):
        self.test.forwardAnimation()
+       
+class Setup(wx.Object):
+    def __init__(self):
+        self.num_workers = 1
+        self.cfg = ""
+        self.nrrdlist = ""
+        self.generate = False
+        
+setup  = Setup()
 
 def initialize_scene( frame, engine ):
-        frame1 = MyFrame(None, -1, "CSAFE Demo")
-        frame1.Show(True)      
-        frame1.InitializeScene(frame, engine)
-        frame1.LayoutWindow()
+    global setup
+    frame1 = MyFrame(None, -1, "CSAFE Demo")
+    frame1.Show(True)  
+    frame1.InitializeScene(frame, engine)
+    frame1.LayoutWindow()
+    print "cfg: " + str(setup.cfg)
+    if (setup.cfg != ""):
+        Configuration.ReadConfiguration(frame1.scene, setup.cfg)
+    if (setup.nrrdlist != ""):
+        Configuration.ReadNRRDList(frame1.scene, setup.nrrdlist)
+    if (setup.generate == True):
+        frame1.BuildScene()
     
 
 def usage():
     print "Usage: python test.py [options]"
     print "Where options contains one or more of:"
-    print "-n --np=<threads>"
+    print "--np=<int>  the number of threads to use"
+    print "--cfg=<string>   load a configuration file"
+    print "--nrrdlist=<string>   load a nrrdlist"
+    print "--g   generate scene when starting up"
 
 def main():
-
-   num_workers = 1
-   
-   # Parse command line options. Note these have to conform to getopt
-   # So -np would be parsed as -n <space> p. Use --np=<threads> instead.
-   print sys.argv
-   
-
+    global setup
+    
+    # Parse command line options. Note these have to conform to getopt
+    # So -np would be parsed as -n <space> p. Use --np=<threads> instead.
+    print sys.argv
+    
+        # Add additional command line args here.
+    try:
+        args = wxManta.parseCommandLine(sys.argv)
+        for i in range(len(args)):
+            print args[i]
+            if (args[i][0] == "np"):
+                setup.num_workers = int(float(args[i][1][0]))
+                print "setting np to: " + str(setup.num_workers)
+            elif (args[i][0] == "cfg"):
+                setup.cfg = args[i][1][0]
+                print "loading configuraiton file: " + str(setup.cfg)
+            elif (args[i][0] == "nrrdlist"):
+                setup.nrrdlist = args[i][1][0]
+                print "loading nrrdlist: " + str(setup.nrrdlist)
+            elif (args[i][0] == "g"):
+                setup.generate = True
+                print "generating scene on startup"
+            else:
+                print "unable to understand command: " + str(args[i])
+    except :
+        print "Inorrect commandline usage"
+        usage()
+            
+        
+    
     
###########################################################################
     # Create the application.
-   app = wxManta.MantaApp( initialize_scene,
-                            num_workers, (512,512), False, None, 
begin_rendering=False)
-
-
+    app = wxManta.MantaApp( initialize_scene,
+                            setup.num_workers, (512,512), False, None, 
begin_rendering=False)
+    
+    
     
###########################################################################
     # Perform any additional setup
-
+    
+    
     # Start rendering.
-   app.MainLoop()
+    app.MainLoop()
 
 if __name__ == "__main__":
     print "starting\n"




  • [Manta] r2126 - trunk/scenes/csafe/python, brownlee, 02/26/2008

Archive powered by MHonArc 2.6.16.

Top of page