Beispiel #1
0
    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)
Beispiel #2
0
    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
Beispiel #3
0
    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)
Beispiel #5
-1
	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 )