""" Displays an Outline for any data input. This code is distributed under the conditions of the BSD license. See LICENSE.txt for details. Copyright (c) 2001-2002, Prabhu Ramachandran. """ __author__ = "Prabhu Ramachandran " __version__ = "$Revision: 1.6 $" __date__ = "$Date: 2005/08/02 18:30:13 $" import Base.Objects, Common import Tkinter, tkColorChooser import vtk import vtkPipeline.vtkMethodParser debug = Common.debug class Outline (Base.Objects.Module): """ Displays an Outline for any data input.""" def __init__ (self, mod_m): debug ("In Outline::__init__ ()") Common.state.busy () Base.Objects.Module.__init__ (self, mod_m) data_src = self.mod_m.get_data_source () self.type = data_src.get_grid_type () self.outline = vtk.vtkOutlineFilter () self.outline.SetInput (mod_m.GetOutput ()) self.mapper = self.map = vtk.vtkPolyDataMapper () self.map.SetInput (self.outline.GetOutput ()) self.actor = self.act = vtk.vtkActor () self.act.SetMapper (self.map) self.act.GetProperty ().SetColor (*Common.config.fg_color) self.renwin.add_actors (self.act) # used for the pipeline browser self.pipe_objs = self.act self.renwin.Render () Common.state.idle () def __del__ (self): debug ("In Outline::__del__ ()") if self.act: self.renwin.remove_actors (self.act) self.renwin.Render () def SetInput (self, source): debug ("In Outline::SetInput ()") Common.state.busy () self.outline.SetInput (source) Common.state.idle () def save_config (self, file): debug ("In Outline::save_config ()") p = vtkPipeline.vtkMethodParser.VtkPickler () for obj in (self.act, self.act.GetProperty ()): p.dump (obj, file) def load_config (self, file): debug ("In Outline::load_config ()") p = vtkPipeline.vtkMethodParser.VtkPickler () for obj in (self.act, self.act.GetProperty ()): p.load (obj, file) # need this in case you load the module for different data. self.outline.SetInput (self.mod_m.GetOutput ()) self.renwin.Render () def config_changed (self): debug ("In Outline::config_changed ()") self.act.GetProperty ().SetColor (*Common.config.fg_color) def make_main_gui (self): debug ("In Outline::make_main_gui ()") "Create the GUI configuration controls for this object." self.make_actor_gui (representation=0, scalar=0)