def mouseMoveEvent(self, event): ''' Inform the scene viewer of a mouse move event and update the OpenGL scene to reflect this change to the viewport. ''' event.accept() if not self._ignore_mouse_events and self._selection_mode != SelectionMode.NONE: x = event.x() y = event.y() xdiff = float(x - self._selection_position_start[0]) ydiff = float(y - self._selection_position_start[1]) if abs(xdiff) < 0.0001: xdiff = 1 if abs(ydiff) < 0.0001: ydiff = 1 xoff = float(self._selection_position_start[0]) / xdiff + 0.5 yoff = float(self._selection_position_start[1]) / ydiff + 0.5 scene = self._selection_box.getScene() scene.beginChange() attributes = self._selection_box.getGraphicspointattributes() attributes.setBaseSize([xdiff, ydiff, 0.999]) attributes.setGlyphOffset([xoff, -yoff, 0]) self._selection_box.setVisibilityFlag(True) scene.endChange() elif not self._ignore_mouse_events and self._handle_mouse_events: SceneviewerWidget.mouseMoveEvent(self, event)
def mouseMoveEvent(self, event): ''' Inform the scene viewer of a mouse move event and update the OpenGL scene to reflect this change to the viewport. ''' event.accept() if not self._ignore_mouse_events and self._selection_mode != SelectionMode.NONE: x = event.x() y = event.y() xdiff = float(x - self._selection_position_start[0]) ydiff = float(y - self._selection_position_start[1]) if abs(xdiff) < 0.0001: xdiff = 1 if abs(ydiff) < 0.0001: ydiff = 1 xoff = float(self._selection_position_start[0]) / xdiff + 0.5 yoff = float(self._selection_position_start[1]) / ydiff + 0.5 scene = self._selection_box.getScene() scene.beginChange() attributes = self._selection_box.getGraphicspointattributes() attributes.setBaseSize([xdiff, ydiff, 0.999]) attributes.setGlyphOffset([xoff, -yoff, 0]) self._selection_box.setVisibilityFlag(True) scene.endChange() elif not self._ignore_mouse_events and self._handle_mouse_events: SceneviewerWidget.mouseMoveEvent(self, event)