Commit 2ce381795a77483bca45d360475ac0fb8ddf2e88

Authored by tfmoraes
1 parent 133f8acf

Measures is working again

Showing 1 changed file with 13 additions and 4 deletions   Show diff stats
invesalius/data/viewer_slice.py
@@ -98,12 +98,12 @@ class Viewer(wx.Panel): @@ -98,12 +98,12 @@ class Viewer(wx.Panel):
98 self._warped = False 98 self._warped = False
99 99
100 def __init_gui(self): 100 def __init_gui(self):
101 - interactor = wxVTKRenderWindowInteractor(self, -1, size=self.GetSize()) 101 + self.interactor = wxVTKRenderWindowInteractor(self, -1, size=self.GetSize())
102 102
103 scroll = wx.ScrollBar(self, -1, style=wx.SB_VERTICAL) 103 scroll = wx.ScrollBar(self, -1, style=wx.SB_VERTICAL)
104 self.scroll = scroll 104 self.scroll = scroll
105 sizer = wx.BoxSizer(wx.HORIZONTAL) 105 sizer = wx.BoxSizer(wx.HORIZONTAL)
106 - sizer.Add(interactor, 1, wx.EXPAND|wx.GROW) 106 + sizer.Add(self.interactor, 1, wx.EXPAND|wx.GROW)
107 107
108 background_sizer = wx.BoxSizer(wx.HORIZONTAL) 108 background_sizer = wx.BoxSizer(wx.HORIZONTAL)
109 background_sizer.AddSizer(sizer, 1, wx.EXPAND|wx.GROW|wx.ALL, 2) 109 background_sizer.AddSizer(sizer, 1, wx.EXPAND|wx.GROW|wx.ALL, 2)
@@ -115,9 +115,7 @@ class Viewer(wx.Panel): @@ -115,9 +115,7 @@ class Viewer(wx.Panel):
115 self.Update() 115 self.Update()
116 self.SetAutoLayout(1) 116 self.SetAutoLayout(1)
117 117
118 - self.interactor = interactor  
119 self.pick = vtk.vtkWorldPointPicker() 118 self.pick = vtk.vtkWorldPointPicker()
120 -  
121 self.interactor.SetPicker(self.pick) 119 self.interactor.SetPicker(self.pick)
122 120
123 def OnContextMenu(self, evt): 121 def OnContextMenu(self, evt):
@@ -223,6 +221,8 @@ class Viewer(wx.Panel): @@ -223,6 +221,8 @@ class Viewer(wx.Panel):
223 "LeftButtonPressEvent": self.OnInsertAngularMeasurePoint 221 "LeftButtonPressEvent": self.OnInsertAngularMeasurePoint
224 }, 222 },
225 } 223 }
  224 +
  225 +
226 if state == const.SLICE_STATE_CROSS: 226 if state == const.SLICE_STATE_CROSS:
227 self.__set_cross_visibility(1) 227 self.__set_cross_visibility(1)
228 ps.Publisher().sendMessage('Activate ball reference') 228 ps.Publisher().sendMessage('Activate ball reference')
@@ -276,6 +276,15 @@ class Viewer(wx.Panel): @@ -276,6 +276,15 @@ class Viewer(wx.Panel):
276 else: 276 else:
277 self.interactor.Bind(wx.EVT_LEFT_DCLICK, None) 277 self.interactor.Bind(wx.EVT_LEFT_DCLICK, None)
278 278
  279 + # Measures are using vtkPropPicker because they need to get which actor
  280 + # was picked.
  281 + if state in (const.STATE_MEASURE_DISTANCE, const.STATE_MEASURE_ANGLE):
  282 + self.pick = vtk.vtkPropPicker()
  283 + self.interactor.SetPicker(self.pick)
  284 + else:
  285 + self.pick = vtk.vtkWorldPointPicker()
  286 + self.interactor.SetPicker(self.pick)
  287 +
279 self.style = style 288 self.style = style
280 self.interactor.SetInteractorStyle(style) 289 self.interactor.SetInteractorStyle(style)
281 self.interactor.Render() 290 self.interactor.Render()