亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gtkvtkrenderwindow.py

?? a very goog book
?? PY
?? 第 1 頁 / 共 2 頁
字號:
"""Description:  Provides a simple VTK widget for pyGtk.  This embeds a  vtkRenderWindow inside a GTK widget.  This is based on  vtkTkRenderWidget.py.  The GtkVTKRenderWindowBase class provides the  abstraction necessary for someone to use their own interaction  behaviour.  The method names are similar to those in  vtkInteractorStyle.h.  The class uses the gtkgl.GtkGLArea widget (gtkglarea).  This avoids  a lot of problems with flicker.  There is a working example at the bottom.Credits:  Thanks to Dave Reed for testing the code under various platforms and  for his suggestion to use the GtkGLArea widget to avoid flicker  related issues.Created by Prabhu Ramachandran, March 2001.Using GtkGLArea, March, 2002.Bugs:  (*) There is a focus related problem.  Tkinter has a focus object  that handles focus events.  I dont know of an equivalent object  under GTK.  So, when an 'enter_notify_event' is received on the  GtkVTKRenderWindow I grab the focus but I dont know what to do when  I get a 'leave_notify_event'.  (*) Will not work under Win32 because it uses the XID of a window in  OnRealize.  Suggestions to fix this will be appreciated."""import gtk, GDK, gtkglimport vtkimport mathclass GtkVTKRenderWindowBase(gtkgl.GtkGLArea):    """ A base class that enables one to embed a vtkRenderWindow into    a pyGTK widget.  This class embeds the RenderWindow correctly.    Provided are some empty methods that can be overloaded to provide    a user defined interaction behaviour.  The event handling    functions have names that are somewhat similar to the ones in the    vtkInteractorStyle class included with VTK. """    def __init__(self, *args):        l = list(args)        attr = (gtkgl.RGBA, gtkgl.DOUBLEBUFFER)        l.insert(0, self)        l.insert(1, attr)        apply(gtkgl.GtkGLArea.__init__, l)        self._RenderWindow = vtk.vtkRenderWindow()        # private attributes        self.__Created = 0        # used by the LOD actors        self._DesiredUpdateRate = 15        self._StillUpdateRate = 0.0001        self.ConnectSignals()                # need this to be able to handle key_press events.        self.set_flags(gtk.CAN_FOCUS)        # default size        self.set_usize(300, 300)            def ConnectSignals(self):        self.connect("realize", self.OnRealize)        self.connect("expose_event", self.OnExpose)        self.connect("configure_event", self.OnConfigure)        self.connect("button_press_event", self.OnButtonDown)        self.connect("button_release_event", self.OnButtonUp)        self.connect("motion_notify_event", self.OnMouseMove)        self.connect("enter_notify_event", self.OnEnter)        self.connect("leave_notify_event", self.OnLeave)        self.connect("key_press_event", self.OnKeyPress)        self.connect("delete_event", self.OnDestroy)        self.add_events(GDK.EXPOSURE_MASK| GDK.BUTTON_PRESS_MASK |                        GDK.BUTTON_RELEASE_MASK |                        GDK.KEY_PRESS_MASK |                        GDK.POINTER_MOTION_MASK |                        GDK.POINTER_MOTION_HINT_MASK |                        GDK.ENTER_NOTIFY_MASK | GDK.LEAVE_NOTIFY_MASK)            def GetRenderWindow(self):        return self._RenderWindow    def GetRenderer(self):        self._RenderWindow.GetRenderers().InitTraversal()        return self._RenderWindow.GetRenderers().GetNextItem()    def SetDesiredUpdateRate(self, rate):        """Mirrors the method with the same name in        vtkRenderWindowInteractor."""        self._DesiredUpdateRate = rate    def GetDesiredUpdateRate(self):        """Mirrors the method with the same name in        vtkRenderWindowInteractor."""        return self._DesiredUpdateRate             def SetStillUpdateRate(self, rate):        """Mirrors the method with the same name in        vtkRenderWindowInteractor."""        self._StillUpdateRate = rate    def GetStillUpdateRate(self):        """Mirrors the method with the same name in        vtkRenderWindowInteractor."""        return self._StillUpdateRate    def Render(self):        if self.__Created:            self._RenderWindow.Render()    def OnRealize(self, *args):        if self.__Created == 0:            # you can't get the xid without the window being realized.            self.realize()            win_id = str(self.get_window().xid)            self._RenderWindow.SetWindowInfo(win_id)            self.__Created = 1        return gtk.TRUE        def OnConfigure(self, wid, event=None):        sz = self._RenderWindow.GetSize()        if (event.width != sz[0]) or (event.height != sz[1]):            self._RenderWindow.SetSize(event.width, event.height)        return gtk.TRUE    def OnExpose(self, *args):        self.Render()        return gtk.TRUE    def OnDestroy(self, event=None):        self.hide()        del self._RenderWindow        self.destroy()        return gtk.TRUE    def OnButtonDown(self, wid, event):        """Mouse button pressed."""        self._RenderWindow.SetDesiredUpdateRate(self._DesiredUpdateRate)        return gtk.TRUE        def OnButtonUp(self, wid, event):        """Mouse button released."""        self._RenderWindow.SetDesiredUpdateRate(self._StillUpdateRate)        return gtk.TRUE    def OnMouseMove(self, wid, event):        """Mouse has moved."""        return gtk.TRUE    def OnEnter(self, wid, event):        """Entering the vtkRenderWindow."""        return gtk.TRUE    def OnLeave(self, wid, event):        """Leaving the vtkRenderWindow."""        return gtk.TRUE        def OnKeyPress(self, wid, event):        """Key pressed."""        return gtk.TRUE    def OnKeyRelease(self, wid, event):        "Key released."        return gtk.TRUEclass GtkVTKRenderWindow(GtkVTKRenderWindowBase):    """ An example of a fully functional GtkVTKRenderWindow that is    based on the vtkRenderWidget.py provided with the VTK sources."""    def __init__(self, *args):        l = list(args)        l.insert(0, self)        apply(GtkVTKRenderWindowBase.__init__, l)                self._CurrentRenderer = None        self._CurrentCamera = None        self._CurrentZoom = 1.0        self._CurrentLight = None        self._ViewportCenterX = 0        self._ViewportCenterY = 0                self._Picker = vtk.vtkCellPicker()        self._PickedAssembly = None        self._PickedProperty = vtk.vtkProperty()        self._PickedProperty.SetColor(1, 0, 0)        self._PrePickedProperty = None                self._OldFocus = None        # these record the previous mouse position        self._LastX = 0        self._LastY = 0    def OnButtonDown(self, wid, event):        self._RenderWindow.SetDesiredUpdateRate(self._DesiredUpdateRate)        return self.StartMotion(wid, event)        def OnButtonUp(self, wid, event):        self._RenderWindow.SetDesiredUpdateRate(self._StillUpdateRate)        return self.EndMotion(wid, event)    def OnMouseMove(self, wid, event=None):        if ((event.state & GDK.BUTTON1_MASK) == GDK.BUTTON1_MASK):            if ((event.state & GDK.SHIFT_MASK) == GDK.SHIFT_MASK):                m = self.get_pointer()                self.Pan(m[0], m[1])                return gtk.TRUE            else:                m = self.get_pointer()                self.Rotate(m[0], m[1])                return gtk.TRUE        elif ((event.state & GDK.BUTTON2_MASK) == GDK.BUTTON2_MASK):            m = self.get_pointer()            self.Pan(m[0], m[1])            return gtk.TRUE        elif ((event.state & GDK.BUTTON3_MASK) == GDK.BUTTON3_MASK):            m = self.get_pointer()            self.Zoom(m[0], m[1])            return gtk.TRUE        else:            return gtk.FALSE    def OnEnter(self, wid, event=None):        self.grab_focus()        w = self.get_pointer()        self.UpdateRenderer(w[0], w[1])        return gtk.TRUE    def OnLeave(self, wid, event):        return gtk.TRUE    def OnKeyPress(self, wid, event=None):        if (event.keyval == GDK.r) or (event.keyval == GDK.R):            self.Reset()            return gtk.TRUE        elif (event.keyval == GDK.w) or (event.keyval == GDK.W):            self.Wireframe()            return gtk.TRUE        elif (event.keyval == GDK.s) or (event.keyval == GDK.S):            self.Surface()            return gtk.TRUE        elif (event.keyval == GDK.p) or (event.keyval == GDK.P):            m = self.get_pointer()            self.PickActor(m[0], m[1])            return gtk.TRUE        else:            return gtk.FALSE    def GetZoomFactor(self):

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线欧美日韩精品| 首页亚洲欧美制服丝腿| 成人精品亚洲人成在线| 精品少妇一区二区三区在线视频| 免费人成精品欧美精品| 日韩亚洲欧美在线| 麻豆91在线看| 欧美国产精品一区二区| aaa亚洲精品| 亚洲一区中文日韩| 日韩一区二区视频| 懂色av中文一区二区三区| 亚洲欧洲www| 4438x成人网最大色成网站| 麻豆成人久久精品二区三区红 | 久久久综合激的五月天| 国产美女视频一区| 日韩美女视频一区二区 | 中文字幕一区二区在线播放| 91麻豆swag| 日韩黄色免费电影| 国产色91在线| 欧美三区免费完整视频在线观看| 麻豆久久一区二区| 亚洲免费观看高清完整版在线观看 | 精品久久一区二区| 粉嫩蜜臀av国产精品网站| 伊人开心综合网| 日韩一区二区三区观看| 99久久99久久精品免费观看 | eeuss鲁一区二区三区| 洋洋av久久久久久久一区| 欧美一卡2卡三卡4卡5免费| 盗摄精品av一区二区三区| 亚洲风情在线资源站| 久久亚洲一级片| 欧美日韩另类一区| 国产成人h网站| 午夜一区二区三区视频| 久久理论电影网| 欧美巨大另类极品videosbest | 亚洲韩国一区二区三区| 国产视频在线观看一区二区三区| 精品视频123区在线观看| 成人福利电影精品一区二区在线观看| 亚洲444eee在线观看| 中文字幕高清不卡| 欧美成人aa大片| 欧美一区中文字幕| 色综合久久88色综合天天免费| 蜜乳av一区二区| 亚洲一区二区影院| 日韩一区有码在线| 日本一二三不卡| 精品国产一区二区在线观看| 欧美日韩国产区一| 色婷婷综合中文久久一本| 国产一区二区女| 免费国产亚洲视频| 天堂久久久久va久久久久| 亚洲精品v日韩精品| 中文字幕一区免费在线观看| 久久精品综合网| 精品久久久久99| 日韩一级高清毛片| 欧美日韩国产高清一区二区| 色哟哟在线观看一区二区三区| 成人一级黄色片| 国产91富婆露脸刺激对白| 国产在线国偷精品免费看| 久热成人在线视频| 毛片基地黄久久久久久天堂| 亚洲成av人片在线| 午夜精品福利视频网站| 亚洲国产精品久久艾草纯爱 | 欧美国产在线观看| 久久天天做天天爱综合色| 精品美女在线观看| 精品国产成人系列| 久久综合色鬼综合色| 2021久久国产精品不只是精品| 日韩一区二区三区av| 日韩欧美一级在线播放| 精品美女被调教视频大全网站| 日韩女优毛片在线| 久久一二三国产| 欧美国产精品劲爆| 亚洲视频你懂的| 一区二区三区小说| 性做久久久久久久久| 青娱乐精品视频在线| 狠狠色狠狠色综合| 成人精品免费视频| 色欧美片视频在线观看在线视频| 91麻豆精品秘密| 欧美日韩mp4| 精品国产乱码久久久久久浪潮| 久久在线观看免费| 亚洲人成精品久久久久久| 亚洲一二三专区| 免费在线观看不卡| 国产成人综合亚洲91猫咪| 不卡的av电影| 欧美日本视频在线| 亚洲精品一区二区三区精华液| 亚洲国产精品成人综合| 洋洋成人永久网站入口| 免费久久精品视频| 床上的激情91.| 欧美视频一区在线观看| 精品剧情v国产在线观看在线| 国产精品乱人伦| 日韩综合在线视频| 成人一区二区三区视频 | 蜜桃91丨九色丨蝌蚪91桃色| 国产精品影视网| 欧美网站大全在线观看| 中文字幕永久在线不卡| 免费成人av资源网| fc2成人免费人成在线观看播放| 欧美老肥妇做.爰bbww| 欧美国产1区2区| 日韩黄色一级片| 91丨porny丨中文| 欧美成人三级在线| 一区二区三区四区亚洲| 久久99久久99精品免视看婷婷| av资源站一区| 欧美变态凌虐bdsm| 亚洲国产精品久久人人爱| 国产大陆精品国产| 3atv在线一区二区三区| 综合久久综合久久| 国模少妇一区二区三区| 欧美日韩精品一二三区| 国产精品不卡在线观看| 久久国产精品免费| 欧美肥大bbwbbw高潮| 亚洲色图视频网站| 国产91丝袜在线18| 欧美r级电影在线观看| 亚洲一区在线观看免费| 成人av网站在线观看免费| 日韩精品一区二区三区在线观看 | 不卡视频一二三四| 欧美mv日韩mv亚洲| 青娱乐精品在线视频| 欧美自拍偷拍午夜视频| 国产精品成人免费在线| 国产传媒欧美日韩成人| 精品国产一区二区亚洲人成毛片| 日日夜夜免费精品视频| 欧美吞精做爰啪啪高潮| 一区二区欧美在线观看| 97久久超碰国产精品电影| 国产亚洲欧美色| 国产精品一区二区在线观看不卡| 91精品久久久久久久91蜜桃 | 欧美一区二区三区播放老司机| 亚洲天堂2016| 99视频热这里只有精品免费| 日本一区二区久久| 国产91精品一区二区麻豆网站| 久久综合色之久久综合| 韩国成人福利片在线播放| 欧美成人性战久久| 韩国理伦片一区二区三区在线播放| 日韩视频免费直播| 蜜臀av性久久久久蜜臀aⅴ流畅 | 精品人伦一区二区色婷婷| 免费美女久久99| 日韩美一区二区三区| 久久国产精品免费| 久久九九久久九九| 国产成人av资源| 亚洲色大成网站www久久九九| 99久久综合国产精品| 亚洲青青青在线视频| 日本精品裸体写真集在线观看| 亚洲一区二区三区四区五区中文| 精品视频一区 二区 三区| 免费三级欧美电影| 久久久天堂av| 成人av免费网站| 亚洲黄色免费网站| 91精品国产丝袜白色高跟鞋| 极品少妇xxxx精品少妇| 久久久亚洲综合| 99国产一区二区三精品乱码| 亚洲精品高清在线| 91精品国产91久久综合桃花| 国产一区不卡精品| 中文字幕综合网| 欧美韩日一区二区三区| 91视频国产观看| 亚洲第一久久影院| 久久女同互慰一区二区三区| 成人激情午夜影院| 日韩一区欧美二区| 欧美激情中文不卡|