Text archives Help
- 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.