def __init__(self, gadget=None, bufferOptions=set(), **kw): GLWidget.__init__(self, bufferOptions, **kw) self._qtWidget().setFocusPolicy(QtCore.Qt.ClickFocus) # Force the IECoreGL lazy loading to kick in /now/. Otherwise we can get IECoreGL objects # being returned from the GafferUIBindings without the appropriate boost::python converters # having been registered first. IECoreGL.Renderer self.__requestedDepthBuffer = self.BufferOptions.Depth in bufferOptions self.__enterConnection = self.enterSignal().connect( Gaffer.WeakMethod(self.__enter)) self.__leaveConnection = self.leaveSignal().connect( Gaffer.WeakMethod(self.__leave)) self.__keyPressConnection = self.keyPressSignal().connect( Gaffer.WeakMethod(self.__keyPress)) self.__keyReleaseConnection = self.keyReleaseSignal().connect( Gaffer.WeakMethod(self.__keyRelease)) self.__buttonPressConnection = self.buttonPressSignal().connect( Gaffer.WeakMethod(self.__buttonPress)) self.__buttonReleaseConnection = self.buttonReleaseSignal().connect( Gaffer.WeakMethod(self.__buttonRelease)) self.__buttonDoubleClickConnection = self.buttonDoubleClickSignal( ).connect(Gaffer.WeakMethod(self.__buttonDoubleClick)) self.__mouseMoveConnection = self.mouseMoveSignal().connect( Gaffer.WeakMethod(self.__mouseMove)) self.__dragBeginConnection = self.dragBeginSignal().connect( Gaffer.WeakMethod(self.__dragBegin)) self.__dragEnterConnection = self.dragEnterSignal().connect( Gaffer.WeakMethod(self.__dragEnter)) self.__dragMoveConnection = self.dragMoveSignal().connect( Gaffer.WeakMethod(self.__dragMove)) self.__dragLeaveConnection = self.dragLeaveSignal().connect( Gaffer.WeakMethod(self.__dragLeave)) self.__dropConnection = self.dropSignal().connect( Gaffer.WeakMethod(self.__drop)) self.__dragEndConnection = self.dragEndSignal().connect( Gaffer.WeakMethod(self.__dragEnd)) self.__wheelConnection = self.wheelSignal().connect( Gaffer.WeakMethod(self.__wheel)) self.__viewportGadget = None if isinstance(gadget, GafferUI.ViewportGadget): self.setViewportGadget(gadget) else: self.setViewportGadget(GafferUI.ViewportGadget(gadget)) self._qtWidget().installEventFilter(_eventFilter)
def __init__(self, face_renderer, parent=None, **kwargs): """ Creates a view of the specified partition using the supplied face renderer. face_renderer should be a cell handler suitable for passing to the iterate_cells routine. It is used to create the faces this RubikView will render. """ GLWidget.__init__(self, parent) self.partition = None self.face_renderer = None self.solid_faces = [] self.solid_face_list = DisplayList(self.draw_solid_faces) self.show_axis = False
def __init__(self, gadget=None, bufferOptions=set(), cameraMode=CameraMode.Mode2D): GLWidget.__init__(self, bufferOptions) self.gtkWidget().add_events(gtk.gdk.BUTTON_PRESS_MASK) self.gtkWidget().add_events(gtk.gdk.BUTTON_RELEASE_MASK) self.gtkWidget().add_events(gtk.gdk.POINTER_MOTION_MASK) self.gtkWidget().add_events(gtk.gdk.KEY_PRESS_MASK) self.gtkWidget().add_events(gtk.gdk.KEY_RELEASE_MASK) self.gtkWidget().add_events(gtk.gdk.ENTER_NOTIFY_MASK) self.gtkWidget().set_flags(gtk.CAN_FOCUS) self.gtkWidget().connect("button_press_event", self.__buttonPress) self.gtkWidget().connect("button_release_event", self.__buttonRelease) self.gtkWidget().connect("motion_notify_event", self.__motion) self.gtkWidget().connect("key_press_event", self.__keyPress) self.gtkWidget().connect("configure_event", self.__configure) self.gtkWidget().connect("enter_notify_event", self.__enterNotify) self.gtkWidget().connect("scroll_event", self.__scroll) self.__camera = IECore.Camera() self.__cameraController = IECore.CameraController(self.__camera) self.__renderer = IECoreGL.Renderer() self.__renderer.setOption("gl:mode", IECore.StringData("deferred")) self.setCameraMode(cameraMode) self.setBackgroundColor(IECore.Color3f(0)) self.setGadget(gadget) self.__lastButtonPressGadget = None self.__dragDropEvent = None self.__cameraInMotion = False self.__baseState = IECoreGL.State(True)
def __init__( self, gadget=None, bufferOptions=set(), **kw ) : GLWidget.__init__( self, bufferOptions, **kw ) # Force the IECoreGL lazy loading to kick in /now/. Otherwise we can get IECoreGL objects # being returned from the GafferUIBindings without the appropriate boost::python converters # having been registered first. IECoreGL.Renderer self.__requestedDepthBuffer = self.BufferOptions.Depth in bufferOptions self.__keyPressConnection = self.keyPressSignal().connect( Gaffer.WeakMethod( self.__keyPress ) ) self.__keyReleaseConnection = self.keyReleaseSignal().connect( Gaffer.WeakMethod( self.__keyRelease ) ) self.__buttonPressConnection = self.buttonPressSignal().connect( Gaffer.WeakMethod( self.__buttonPress ) ) self.__buttonReleaseConnection = self.buttonReleaseSignal().connect( Gaffer.WeakMethod( self.__buttonRelease ) ) self.__buttonDoubleClickConnection = self.buttonDoubleClickSignal().connect( Gaffer.WeakMethod( self.__buttonDoubleClick ) ) self.__mouseMoveConnection = self.mouseMoveSignal().connect( Gaffer.WeakMethod( self.__mouseMove ) ) self.__dragBeginConnection = self.dragBeginSignal().connect( Gaffer.WeakMethod( self.__dragBegin ) ) self.__dragEnterConnection = self.dragEnterSignal().connect( Gaffer.WeakMethod( self.__dragEnter ) ) self.__dragMoveConnection = self.dragMoveSignal().connect( Gaffer.WeakMethod( self.__dragMove ) ) self.__dragLeaveConnection = self.dragLeaveSignal().connect( Gaffer.WeakMethod( self.__dragLeave ) ) self.__dropConnection = self.dropSignal().connect( Gaffer.WeakMethod( self.__drop ) ) self.__dragEndConnection = self.dragEndSignal().connect( Gaffer.WeakMethod( self.__dragEnd ) ) self.__wheelConnection = self.wheelSignal().connect( Gaffer.WeakMethod( self.__wheel ) ) self.__viewportGadget = None if isinstance( gadget, GafferUI.ViewportGadget ) : self.setViewportGadget( gadget ) else : self.setViewportGadget( GafferUI.ViewportGadget( gadget ) ) self._qtWidget().installEventFilter( _eventFilter )