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

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

?? gtkglextvtkrenderwindow.py

?? a very goog book
?? PY
?? 第 1 頁 / 共 2 頁
字號:
"""Description:  This provides a VTK widget for pyGtk.  This embeds a vtkRenderWindow  inside a GTK widget.  This is based on GtkVTKRenderWindow.py.    The extensions here allow the use of gtkglext rather than gtkgl and  pygtk-2 rather than pygtk-0.  It requires pygtk-2.0.0 or later.  There is a working example at the bottom.Credits:  John Hunter <jdhunter@ace.bsd.uchicago.edu> developed and tested  this code based on VTK's GtkVTKRenderWindow.py and extended it to  work with pygtk-2.0.0.License:  VTK license."""import math, sysimport pygtkpygtk.require('2.0')import gtkimport gtk.gtkglfrom gtk import gdkimport vtkclass GtkGLExtVTKRenderWindowBase(gtk.gtkgl.DrawingArea):    """ 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):        gtk.gtkgl.DrawingArea.__init__(self)        self.set_double_buffered(gtk.FALSE)        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_size_request(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()            if sys.platform=='win32':                win_id = str(self.widget.window.handle)            else:                win_id = str(self.widget.window.xid)            self._RenderWindow.SetWindowInfo(win_id)            self.__Created = 1        return gtk.TRUE    def Created(self):        return self.__Created        def OnConfigure(self, widget, event):        self.widget=widget        self._RenderWindow.SetSize(event.width, event.height)        self.Render()        return gtk.TRUE    def OnExpose(self, *args):        self.Render()        return gtk.TRUE    def OnDestroy(self, *args):        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 GtkGLExtVTKRenderWindow(GtkGLExtVTKRenderWindowBase):    """ An example of a fully functional GtkGLExtVTKRenderWindow that    is based on the vtkRenderWidget.py provided with the VTK    sources."""    def __init__(self, *args):        GtkGLExtVTKRenderWindowBase.__init__(self)        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)        return gtk.TRUE    def OnButtonUp(self, wid, event):        self._RenderWindow.SetDesiredUpdateRate(self._StillUpdateRate)        return self.EndMotion(wid, event)        return gtk.TRUE    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])            else:                m = self.get_pointer()                self.Rotate(m[0], m[1])        elif ((event.state & gdk.BUTTON2_MASK) == gdk.BUTTON2_MASK):            m = self.get_pointer()            self.Pan(m[0], m[1])        elif ((event.state & gdk.BUTTON3_MASK) == gdk.BUTTON3_MASK):            m = self.get_pointer()            self.Zoom(m[0], m[1])        else:            return gtk.FALSE        return gtk.TRUE    def OnEnter(self, wid, event=None):        # a render hack because grab_focus blanks the renderwin        self.grab_focus()        w = self.get_pointer()        self.UpdateRenderer(w[0], w[1])        return gtk.TRUE        def OnKeyPress(self, wid, event=None):        #if (event.keyval == gdk.keyval_from_name("q") or        #    event.keyval == gdk.keyval_from_name("Q")):        #    gtk.mainquit()                            if (event.keyval == gdk.keyval_from_name('r') or            event.keyval == gdk.keyval_from_name('R')):            self.Reset()            return gtk.TRUE        elif (event.keyval == gdk.keyval_from_name('w') or              event.keyval == gdk.keyval_from_name('W')):            self.Wireframe()            return gtk.TRUE        elif (event.keyval == gdk.keyval_from_name('s') or              event.keyval == gdk.keyval_from_name('S')):            self.Surface()            return gtk.TRUE        elif (event.keyval == gdk.keyval_from_name('p') or              event.keyval == gdk.keyval_from_name('P')):            m = self.get_pointer()            self.PickActor(m[0], m[1])            return gtk.TRUE        else:            return gtk.FALSE    def GetZoomFactor(self):        return self._CurrentZoom    def SetZoomFactor(self, zf):        self._CurrentZoom = zf    def GetPicker(self):

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲手机成人高清视频| 26uuu色噜噜精品一区二区| 五月天激情综合| 国产一区二区三区在线观看精品| 国产亚洲一区二区在线观看| 亚洲一区二区三区小说| 色伊人久久综合中文字幕| 国产精品资源网| 亚洲综合在线五月| 国内精品伊人久久久久影院对白| 亚洲乱码国产乱码精品精的特点 | 成人在线视频首页| 国产亚洲一区二区三区四区| 色综合久久88色综合天天6 | 一二三四区精品视频| 欧美sm极限捆绑bd| 视频一区二区三区在线| 国产一区二区福利视频| 91丨国产丨九色丨pron| 久久先锋影音av| 中文av一区特黄| 亚洲自拍另类综合| 日本成人在线一区| 国产麻豆视频精品| 国产一区二区免费在线| 国产一区二区三区在线观看免费| 国产成人av一区二区三区在线| 在线一区二区视频| 一本久久a久久精品亚洲| 99r国产精品| 99re在线精品| 欧美精品一级二级三级| 91精品国产综合久久精品| 91精品国产品国语在线不卡| 久久久噜噜噜久噜久久综合| 日韩免费性生活视频播放| 2021久久国产精品不只是精品 | 欧美日韩中文另类| 国产精品欧美久久久久无广告| 亚洲欧美乱综合| 婷婷中文字幕一区三区| 色8久久精品久久久久久蜜 | 欧洲一区在线观看| 亚洲美女偷拍久久| 91精品国产免费久久综合| 成人深夜在线观看| 美国毛片一区二区| 亚洲一区二区免费视频| 国产欧美一区视频| 日韩精品一区二区三区在线观看| 色综合咪咪久久| 国产乱码精品一区二区三区五月婷 | 综合久久给合久久狠狠狠97色 | 亚洲人妖av一区二区| 精品乱人伦一区二区三区| 色妹子一区二区| 国产成人一区二区精品非洲| 日韩高清中文字幕一区| 一区二区三区欧美| 国产精品久久久久一区二区三区| 日韩一区二区在线观看| 欧美无人高清视频在线观看| 99精品欧美一区二区蜜桃免费 | 午夜日韩在线观看| 一区二区在线观看不卡| 国产精品免费观看视频| 久久久www免费人成精品| 日韩免费视频线观看| 欧美久久久一区| 欧美优质美女网站| 色噜噜狠狠一区二区三区果冻| 国产超碰在线一区| 国产成人无遮挡在线视频| 久草这里只有精品视频| 奇米影视一区二区三区小说| 视频一区在线播放| 亚洲成人午夜电影| 亚洲国产欧美一区二区三区丁香婷| 亚洲视频综合在线| 亚洲日本丝袜连裤袜办公室| 亚洲男人的天堂在线aⅴ视频| 国产精品视频一二三| 中文字幕欧美国产| 国产亚洲人成网站| 中文幕一区二区三区久久蜜桃| 国产欧美精品一区| 国产精品人人做人人爽人人添| 欧美激情中文字幕一区二区| 中文字幕国产一区二区| 中文字幕一区在线| 樱桃国产成人精品视频| 亚洲国产成人va在线观看天堂| 性做久久久久久| 奇米在线7777在线精品| 狠狠色丁香久久婷婷综合_中| 国产一区91精品张津瑜| 成人精品一区二区三区四区 | 91精品视频网| 日韩一区二区三区高清免费看看| 日韩一区二区麻豆国产| 精品噜噜噜噜久久久久久久久试看| 久久久久久久av麻豆果冻| 国产精品私房写真福利视频| 亚洲欧美韩国综合色| 五月天欧美精品| 经典三级视频一区| 99久久久精品| 3d动漫精品啪啪1区2区免费| 精品国产一区二区国模嫣然| 国产精品丝袜一区| 午夜欧美视频在线观看| 黄一区二区三区| av午夜一区麻豆| 69精品人人人人| 国产三级精品三级在线专区| 亚洲欧美国产三级| 日韩高清不卡一区| 高清国产一区二区| 欧美日韩国产高清一区二区| 精品国产一区二区三区久久久蜜月| 中文幕一区二区三区久久蜜桃| 亚洲国产精品天堂| 黑人精品欧美一区二区蜜桃 | 久久久99久久| 亚洲成人免费视频| 国产成人免费av在线| 91国偷自产一区二区三区观看| 日韩一区二区精品在线观看| 中文字幕中文字幕一区二区| 日韩1区2区日韩1区2区| 不卡视频在线观看| 91麻豆精品国产91久久久久久 | 成人黄色国产精品网站大全在线免费观看 | 91精品国产综合久久香蕉麻豆| 国产欧美精品国产国产专区| 午夜欧美视频在线观看| 成人av电影免费在线播放| 日韩欧美激情四射| 一区二区三区小说| 风间由美一区二区三区在线观看| 欧美久久高跟鞋激| 亚洲色图另类专区| 国产激情视频一区二区在线观看| 欧洲av一区二区嗯嗯嗯啊| 国产亚洲欧洲997久久综合 | 美国精品在线观看| 欧美日韩在线不卡| 亚洲人成网站影音先锋播放| 国产一区二区福利视频| 欧美一区二区三区在| 亚洲国产中文字幕在线视频综合| 成人黄动漫网站免费app| 精品国产三级a在线观看| 午夜精品久久久久久久| 色哟哟国产精品免费观看| 中文成人综合网| 国产成人一区二区精品非洲| 精品久久国产字幕高潮| 日韩成人dvd| 在线不卡免费av| 亚洲电影你懂得| 欧美最猛性xxxxx直播| 国产精品久久久久久久久晋中| 国产一区二区美女诱惑| 日韩欧美电影一二三| 日韩1区2区3区| 欧美成人精品福利| 日韩和的一区二区| 欧美精品 日韩| 天堂va蜜桃一区二区三区| 欧美视频一区二区三区| 亚洲高清久久久| 欧美色图激情小说| 天天操天天色综合| 6080yy午夜一二三区久久| 丝瓜av网站精品一区二区| 欧美日韩中文一区| 日本最新不卡在线| 日韩欧美视频一区| 国产一区二区伦理片| 国产欧美一区二区精品性| 国产精品影视在线观看| 国产欧美视频在线观看| 国产一区二区三区在线观看免费 | 日韩二区三区四区| 日韩一级免费观看| 精品在线亚洲视频| 欧美国产日韩亚洲一区| av在线免费不卡| 亚洲最大色网站| 欧美成人一区二区三区| 国产精品一二二区| 国产精品护士白丝一区av| 色八戒一区二区三区| 亚洲专区一二三| 日韩你懂的在线观看| 国产成人精品一区二| 亚洲最新视频在线播放| 日韩欧美色综合| jvid福利写真一区二区三区|