Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r1649 - trunk/SwigInterface


Chronological Thread 
  • From: brownlee@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r1649 - trunk/SwigInterface
  • Date: Wed, 15 Aug 2007 21:58:47 -0600 (MDT)

Author: brownlee
Date: Wed Aug 15 21:58:45 2007
New Revision: 1649

Modified:
   trunk/SwigInterface/wxManta.py
Log:
updated basic wxPython manta interface to include a camera frame

Modified: trunk/SwigInterface/wxManta.py
==============================================================================
--- trunk/SwigInterface/wxManta.py      (original)
+++ trunk/SwigInterface/wxManta.py      Wed Aug 15 21:58:45 2007
@@ -174,6 +174,135 @@
 
 
###############################################################################
 
###############################################################################
+# CAMERA FRAME          CAMERA FRAME          CAMERA FRAME          CAMERA 
FRAME
+###############################################################################
+###############################################################################
+
+class CameraFrame(wx.Frame):
+    def __init__(self, parent, engine):
+        wx.Frame.__init__(self, parent=parent, title="Camera")
+       
+       data = engine.getCamera(0).getBasicCameraData()
+       eye = data.eye
+       lookat = data.lookat
+       up = data.up
+       hfov = data.hfov
+       vfov = data.vfov
+
+       panel = wx.Panel(self, -1)
+       self.engine = engine
+       self.parent = parent
+       sizer = wx.BoxSizer(wx.VERTICAL)
+       
+       hSizer0 = wx.BoxSizer(wx.HORIZONTAL)
+       self.channelST = wx.StaticText(panel, -1, "Channel: ")
+       self.channelTCL = wx.TextCtrl(panel, -1, "0", size=(125,-1))
+       hSizer0.Add(self.channelST)
+       hSizer0.Add(self.channelTCL)
+       
+       hSizer1 = wx.BoxSizer(wx.HORIZONTAL)
+       self.eyeST = wx.StaticText(panel, -1, "eye x,y,z: " )
+       self.eyeXTCL = wx.TextCtrl(panel, -1, str(eye.x()), size=(125,-1))
+       self.eyeYTCL = wx.TextCtrl(panel, -1, str(eye.y()), size=(125, -1))
+       self.eyeZTCL = wx.TextCtrl(panel, -1, str(eye.z()), size=(125,-1))
+       hSizer1.Add(self.eyeST)
+       hSizer1.Add(self.eyeXTCL)
+       hSizer1.Add(self.eyeYTCL)
+       hSizer1.Add(self.eyeZTCL)
+
+       hSizer2 = wx.BoxSizer(wx.HORIZONTAL)
+       self.lookatST =  wx.StaticText(panel, -1, "lookat x,y,z: ")
+       self.lookXTCL = wx.TextCtrl(panel, -1, str(lookat.x()), size=(125,-1))
+       self.lookYTCL = wx.TextCtrl(panel, -1, str(lookat.y()), size=(125,-1))
+       self.lookZTCL = wx.TextCtrl(panel, -1, str(lookat.z()), 
size=(125,-1))  
+       hSizer2.Add(self.lookatST)
+       hSizer2.Add(self.lookXTCL)
+       hSizer2.Add(self.lookYTCL)
+       hSizer2.Add(self.lookZTCL)
+       
+       hSizer3 = wx.BoxSizer(wx.HORIZONTAL)
+       self.upST = wx.StaticText(panel, -1, "up vector x,y,z: ")
+       self.upXTCL = wx.TextCtrl(panel, -1, str(up.x()), size=(125,-1))
+       self.upYTCL = wx.TextCtrl(panel, -1, str(up.y()), size=(125,-1))
+       self.upZTCL = wx.TextCtrl(panel, -1, str(up.z()), size=(125,-1))
+       hSizer3.Add(self.upST)
+       hSizer3.Add(self.upXTCL)
+       hSizer3.Add(self.upYTCL)
+       hSizer3.Add(self.upZTCL)
+
+       hSizer4 = wx.BoxSizer(wx.HORIZONTAL)
+       self.fovST = wx.StaticText(panel, -1, "fov horizontal, vertical: ")
+       self.fovXTCL = wx.TextCtrl(panel, -1, str(hfov), size = (125, -1))
+       self.fovYTCL = wx.TextCtrl(panel, -1, str(vfov), size = (125,-1))
+       hSizer4.Add(self.fovST)
+       hSizer4.Add(self.fovXTCL)
+       hSizer4.Add(self.fovYTCL)
+       
+       hSizer5 = wx.BoxSizer(wx.HORIZONTAL)
+       self.okButton = wx.Button(panel, wx.ID_OK)
+       self.cancelButton = wx.Button(panel, wx.ID_CANCEL)
+       self.applyButton = wx.Button(panel, wx.ID_APPLY)
+       hSizer5.Add(self.okButton)
+       hSizer5.Add(self.cancelButton)
+       hSizer5.Add(self.applyButton)
+
+       sizer.Add(hSizer0, wx.ALIGN_CENTER, 2)
+       sizer.Add(hSizer1, wx.ALIGN_CENTER, 2)
+       sizer.Add(hSizer2, wx.ALIGN_CENTER,2)
+       sizer.Add(hSizer3, wx.ALIGN_CENTER,2)
+       sizer.Add(hSizer4, wx.ALIGN_CENTER,2)
+       sizer.Add(hSizer5, wx.ALIGN_CENTER,2)
+       panel.SetSizer(sizer)
+       selfSizer = wx.BoxSizer()
+       selfSizer.Add(panel, -1, wx.EXPAND)
+       self.SetSizer(selfSizer)
+       self.SetAutoLayout(True)
+
+       self.Bind(wx.EVT_BUTTON, self.OnClickOK, self.okButton)
+       self.Bind(wx.EVT_BUTTON, self.OnClickCancel, self.cancelButton)
+       self.Bind(wx.EVT_BUTTON, self.OnClickApply, self.applyButton)
+       self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
+
+    def OnClickOK(self, evt):
+       self.ApplySettings()
+       self.Close(True)
+
+    def OnClickApply(self, evt):
+       self.ApplySettings()
+
+    def ApplySettings(self):
+       channel = int(self.channelTCL.GetValue())
+       ex = float(self.eyeXTCL.GetValue())
+       ey = float(self.eyeYTCL.GetValue())
+       ez = float(self.eyeZTCL.GetValue())
+       
+       lx = float(self.lookXTCL.GetValue())
+       ly = float(self.lookYTCL.GetValue())
+       lz = float(self.lookZTCL.GetValue())
+
+       ux = float(self.upXTCL.GetValue())
+       uy = float(self.upYTCL.GetValue())
+       uz = float(self.upZTCL.GetValue())
+
+       eye = manta_new(Vector(ex,ey,ez))
+       lookat = manta_new(Vector(lx,ly,lz))
+       up = manta_new(Vector(ux, uy,uz))
+       fovx = float(self.fovXTCL.GetValue())
+       fovy = float(self.fovYTCL.GetValue())
+
+       data = manta_new(BasicCameraData(eye, lookat, up, fovx, fovy))
+       self.engine.getCamera(channel).setBasicCameraData(data)
+
+    def OnClickCancel(self, evt):
+       self.Close(True)
+
+    def OnCloseWindow(self, evt):
+       self.Destroy()
+
+       
+
+###############################################################################
+###############################################################################
 # LIGHT FRAME          LIGHT FRAME          LIGHT FRAME          LIGHT FRAME 
  
 
###############################################################################
 
###############################################################################
        
@@ -408,6 +537,10 @@
         self.dialog_map[light_dialog_id] = LightFrame
         self.Bind(wx.EVT_MENU, self.OnShowDialog,
                   manta_menu.Append(light_dialog_id, "Edit Lights"))
+       camera_dialog_id = wx.NewId()
+       self.dialog_map[camera_dialog_id] = CameraFrame
+       self.Bind(wx.EVT_MENU, self.OnShowDialog, 
+               manta_menu.Append(camera_dialog_id, "Edit Camera"))
         self.menuBar.Append(manta_menu, "&Manta")
 
         file_menu = wx.Menu()




  • [Manta] r1649 - trunk/SwigInterface, brownlee, 08/15/2007

Archive powered by MHonArc 2.6.16.

Top of page