def __init__(self, canvas, position): # call parent ctor SubjectMixin.__init__(self) self.canvas = canvas self._position = position self._observers = {'enter' : [], 'exit' : [], 'drag' : [], 'buttonDown' : [], 'buttonUp' : [], 'buttonDClick' : [], 'motion' : []} # all canvas objects have a vtk prop that can be added to a # vtk renderer. self.props = []
def __init__(self, renderwindowinteractor, renderer): self._rwi = renderwindowinteractor self._ren = renderer # need this to do same mouse capturing as original RWI under Win self._rwi_use_capture = \ vtk.wx.wxVTKRenderWindowInteractor._useCapture # we can't switch on Line/Point/Polygon smoothing here, # because the renderwindow has already been initialised # we do it in main_frame.py right after we create the RWI # parent 2 ctor SubjectMixin.__init__(self) self._cobjects = [] # dict for mapping from prop back to cobject self.prop_to_glyph = {} self._previousRealCoords = None self._potentiallyDraggedObject = None self._draggedObject = None self._ren.SetBackground(1.0,1.0,1.0) self._ren.GetActiveCamera().SetParallelProjection(1) # set a sensible initial zoom self._zoom(0.004) istyle = vtk.vtkInteractorStyleUser() #istyle = vtk.vtkInteractorStyleImage() self._rwi.SetInteractorStyle(istyle) self._rwi.Bind(wx.EVT_RIGHT_DOWN, self._handler_rd) self._rwi.Bind(wx.EVT_RIGHT_UP, self._handler_ru) self._rwi.Bind(wx.EVT_LEFT_DOWN, self._handler_ld) self._rwi.Bind(wx.EVT_LEFT_UP, self._handler_lu) self._rwi.Bind(wx.EVT_MIDDLE_DOWN, self._handler_md) self._rwi.Bind(wx.EVT_MIDDLE_UP, self._handler_mu) self._rwi.Bind(wx.EVT_MOUSEWHEEL, self._handler_wheel) self._rwi.Bind(wx.EVT_MOTION, self._handler_motion) self._rwi.Bind(wx.EVT_LEFT_DCLICK, self._handler_ldc) #self._rwi.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter) #self._rwi.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeave) # If we use EVT_KEY_DOWN instead of EVT_CHAR, capital versions # of all characters are always returned. EVT_CHAR also performs # other necessary keyboard-dependent translations. # * we unbind the char handler added by the wxRWI (else alt-w # for example gets interpreted as w for wireframe e.g.) self._rwi.Unbind(wx.EVT_CHAR) self._rwi.Bind(wx.EVT_CHAR, self._handler_char) #self._rwi.Bind(wx.EVT_KEY_UP, self.OnKeyUp) self._observer_ids = [] self.event = DeVIDECanvasEvent()
def close(self): """Take care of any cleanup here. """ SubjectMixin.close(self)
def close(self): SubjectMixin.close(self)
def __init__(self, devide_app): self._devide_app = devide_app SubjectMixin.__init__(self)
def __init__(self): list.__init__(self) SubjectMixin.__init__(self)