def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event=='add marker': marker = args[0] self.add_ring_actor(marker) elif event=='remove marker': marker = args[0] self.remove_ring_actor(marker) elif event=='move marker': # ring actor will update automatically because it shares # the sphere source marker, pos = args textActor = self.textActors[marker] textActor.SetPosition(pos) elif event=='color marker': marker, color = args actor = self.get_actor_for_marker(marker) actor.update() elif event=='label marker': marker, label = args marker.set_label(label) text = vtk.vtkVectorText() text.SetText(marker.get_label()) textMapper = vtk.vtkPolyDataMapper() textMapper.SetInput(text.GetOutput()) textActor = self.textActors[marker] textActor.SetMapper(textMapper) elif event=='observers update plane': self.update_plane() self.update_rings() self.Render()
def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event=='color marker': marker, color = args marker.set_color(color) elif event=='label marker': marker, label = args marker.set_label(label) if shared.debug: print "Create VTK-Text", marker.get_label() text = vtk.vtkVectorText() text.SetText(marker.get_label()) textMapper = vtk.vtkPolyDataMapper() textMapper.SetInput(text.GetOutput()) textActor = self.textActors[marker] textActor.SetMapper(textMapper) elif event=='move marker': marker, center = args marker.set_center(center) #update the select boxes and text actor textActor = self.textActors[marker] size = marker.get_size() textActor.SetScale(size, size, size) x,y,z = marker.get_center() textActor.SetPosition(x+size, y+size, z+size) if self.boxes.has_key(marker): selectActor = self.boxes[marker] boxSource = vtk.vtkCubeSource() boxSource.SetBounds(marker.GetBounds()) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(boxSource.GetOutput()) selectActor.SetMapper(mapper) elif event=='labels on': actors = self.textActors.values() for actor in actors: actor.VisibilityOn() elif event=='labels off': actors = self.textActors.values() for actor in actors: actor.VisibilityOff() #elif event=='select marker': # marker = args[0] # actor = create_box_actor_around_marker(marker) # if shared.debug: print "PlaneWidgetsXYZ.update_viewer(): self.renderer.AddActor(actor)" # self.renderer.AddActor(actor) # self.boxes[marker] = actor #elif event=='unselect marker': # marker = args[0] # actor = self.boxes[marker] # print "pwxyz: u m", repr(marker), repr(actor) # self.renderer.RemoveActor(actor) # del self.boxes[marker] elif event=="set axes directions": self.add_axes_labels() EventHandler().notify('observers update plane') self.Render()
def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event == 'add marker': marker = args[0] self.add_ring_actor(marker) elif event == 'remove marker': marker = args[0] self.remove_ring_actor(marker) elif event == 'move marker': # ring actor will update automatically because it shares # the sphere source marker, pos = args textActor = self.textActors[marker] textActor.SetPosition(pos) elif event == 'color marker': marker, color = args actor = self.get_actor_for_marker(marker) actor.update() elif event == 'label marker': marker, label = args marker.set_label(label) text = vtk.vtkVectorText() text.SetText(marker.get_label()) textMapper = vtk.vtkPolyDataMapper() textMapper.SetInput(text.GetOutput()) textActor = self.textActors[marker] textActor.SetMapper(textMapper) elif event == 'observers update plane': self.update_plane() self.update_rings() self.Render()
def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event=='add marker': marker = args[0] self.add_ring_actor(marker) elif event=='remove marker': marker = args[0] self.remove_ring_actor(marker) elif event=='move marker': # ring actor will update automatically because it shares # the sphere source marker, pos = args textActor = self.textActors[marker.uuid] textActor.SetPosition(pos) elif event=='color marker': marker, color = args actor = self.get_actor_for_marker(marker) actor.update() elif event=='label marker': marker, label = args self.label_ring_actor(marker, label) elif event=='color marker': marker, color = args actor = self.get_actor_for_marker(marker) actor.update() elif event=='select marker': marker = args[0] actor = self.get_actor_for_marker(marker) actor.set_selected(True) elif event=='unselect marker': marker = args[0] actor = self.get_actor_for_marker(marker) if actor!=None: actor.set_selected(False) elif event=='observers update plane': self.update_plane() elif event=="set axes directions": self.add_axes_labels() self.update_rings() self.update_rois() self.Render()
def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event=='add marker': marker = args[0] self.add_marker(marker) elif event=='remove marker': marker = args[0] self.remove_marker(marker) elif event=='color marker': marker, color = args marker.set_color(color) elif event=='label marker': marker, label = args marker.set_label(label) print "Create VTK-Text", marker.get_label() text = vtk.vtkVectorText() text.SetText(marker.get_label()) textMapper = vtk.vtkPolyDataMapper() textMapper.SetInput(text.GetOutput()) textActor = self.textActors[marker] textActor.SetMapper(textMapper) elif event=='move marker': marker, center = args marker.set_center(center) #update the select boxes and text actor textActor = self.textActors[marker] size = marker.get_size() textActor.SetScale(size, size, size) x,y,z = marker.get_center() textActor.SetPosition(x+size, y+size, z+size) if self.boxes.has_key(marker): selectActor = self.boxes[marker] boxSource = vtk.vtkCubeSource() boxSource.SetBounds(marker.GetBounds()) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(boxSource.GetOutput()) selectActor.SetMapper(mapper) elif event=='labels on': actors = self.textActors.values() for actor in actors: actor.VisibilityOn() elif event=='labels off': actors = self.textActors.values() for actor in actors: actor.VisibilityOff() elif event=='select marker': marker = args[0] boxSource = vtk.vtkCubeSource() boxSource.SetBounds(marker.GetBounds()) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(boxSource.GetOutput()) actor = vtk.vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor( marker.get_color() ) actor.GetProperty().SetRepresentationToWireframe() actor.GetProperty().SetLineWidth(2.0) print "PlaneWidgetsXYZ.update_viewer(): self.renderer.AddActor(actor)" self.renderer.AddActor(actor) self.boxes[marker] = actor elif event=='unselect marker': marker = args[0] actor = self.boxes[marker] self.renderer.RemoveActor(actor) self.Render()
def update_viewer(self, event, *args): MarkerWindowInteractor.update_viewer(self, event, *args) if event=='add marker': marker = args[0] self.add_marker(marker) elif event=='remove marker': marker = args[0] self.remove_marker(marker) elif event=='color marker': marker, color = args marker.set_color(color) elif event=='label marker': marker, label = args marker.set_label(label) if debug: print "Create VTK-Text", marker.get_label() text = vtk.vtkVectorText() text.SetText(marker.get_label()) textMapper = vtk.vtkPolyDataMapper() textMapper.SetInput(text.GetOutput()) textActor = self.textActors[marker] textActor.SetMapper(textMapper) elif event=='move marker': marker, center = args marker.set_center(center) #update the select boxes and text actor textActor = self.textActors[marker] size = marker.get_size() textActor.SetScale(size, size, size) x,y,z = marker.get_center() textActor.SetPosition(x+size, y+size, z+size) if self.boxes.has_key(marker): selectActor = self.boxes[marker] boxSource = vtk.vtkCubeSource() boxSource.SetBounds(marker.GetBounds()) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(boxSource.GetOutput()) selectActor.SetMapper(mapper) elif event=='labels on': actors = self.textActors.values() for actor in actors: actor.VisibilityOn() elif event=='labels off': actors = self.textActors.values() for actor in actors: actor.VisibilityOff() elif event=='select marker': marker = args[0] boxSource = vtk.vtkCubeSource() boxSource.SetBounds(marker.GetBounds()) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(boxSource.GetOutput()) actor = vtk.vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor( marker.get_color() ) actor.GetProperty().SetRepresentationToWireframe() actor.GetProperty().SetLineWidth(2.0) if debug: print "PlaneWidgetsXYZ.update_viewer(): self.renderer.AddActor(actor)" self.renderer.AddActor(actor) self.boxes[marker] = actor elif event=='unselect marker': marker = args[0] actor = self.boxes[marker] self.renderer.RemoveActor(actor) self.Render()