Example #1
0
    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, 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 = []
Example #3
0
    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)
Example #5
0
 def close(self):
     SubjectMixin.close(self)
Example #6
0
 def __init__(self, devide_app):
     self._devide_app = devide_app
     SubjectMixin.__init__(self)
Example #7
0
 def __init__(self):
     list.__init__(self)
     SubjectMixin.__init__(self)
Example #8
0
 def close(self):
     SubjectMixin.close(self)
Example #9
0
 def __init__(self, devide_app):
     self._devide_app = devide_app
     SubjectMixin.__init__(self)
Example #10
0
    def close(self):
        """Take care of any cleanup here.
        """

        SubjectMixin.close(self)
Example #11
0
 def __init__(self):
     list.__init__(self)
     SubjectMixin.__init__(self)