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