示例#1
0
    def load_config (self, file): 
        debug ("In VtkXMLDataReader::load_config ()")
        f_name = Common.get_abs_file_name (file.name,
                                           file.readline ()[:-1])
        if os.path.isfile (f_name):
            self.file_name = f_name
        else:
            self.file_name = get_file_name (f_name)
        
        Base.Objects.DataSource.initialize (self, self.file_name)
        sd = file.readline()[:-1]
        vd = file.readline()[:-1]
        td = file.readline()[:-1]
        # create the DataReader
        self.create_reader ()
        # load the settings.
        p = vtkPipeline.vtkMethodParser.VtkPickler ()
        p.load (self.reader, file)
        # Correct the filename because the stored filename uses an
        # absolute path.
        self.set_file_name(self.file_name)
        self.reader.Update ()
        
        pa, ca = get_attribute_lists(self.reader.GetOutput())
        self.point_attr, self.cell_attr = pa, ca
        self.scalar_lst = pa['scalars'] + ca['scalars']
        self.vector_lst = pa['vectors'] + ca['vectors']
        self.tensor_lst = pa['tensors'] + ca['tensors']

        if sd:
            self.set_scalar_name(sd)
        if vd:
            self.set_vector_name(vd)
        if td:
            self.set_tensor_name(td)
        
        self.setup_names ()
        self.update_references ()
示例#2
0
 def load_config (self, file): 
     debug ("In VtkDataReader::load_config ()")
     f_name = Common.get_abs_file_name (file.name,
                                        file.readline ()[:-1])
     if os.path.isfile (f_name):
         self.file_name = f_name
     else:
         self.file_name = get_file_name (f_name)
         
     Base.Objects.DataSource.initialize (self, self.file_name)
     # create the DataReader
     self.create_reader ()
     # load the settings.
     p = vtkPipeline.vtkMethodParser.VtkPickler ()
     p.load (self.reader, file)
     # Correct the filename because the stored filename uses an
     # absolute path.
     self.set_file_name (self.file_name)
     self.reader.Update ()
     self.scalar_lst, self.vector_lst, self.tensor_lst = \
                      get_attribute_lists (self.file_name)
     self.setup_names ()
     self.update_references ()
示例#3
0
    def load_config (self, input):
        """Load configuration for this object.

         file -- input can be either a file or a dictionary.
         """        
        debug ("In LutHandler::load_config ()")
        isfile = 1
        if type(input) == type({}):
            isfile = 0
            base_file_name = input['base_file_name']
            inp = input
        else:
            base_file_name = input.name
            pos = input.tell()
            val = input.read(1)
            input.seek(pos)
            if val == '{':
                isfile = 0
                inp = eval(input.readline())
            else:
                inp = input
                
        if isfile:
            val = inp.readline ()
            lut_v, r_on, v_r_on, v_d_r = (self.lut_var.get(),
                                          self.range_on_var.get(),
                                          self.v_range_on_var.get(),
                                          self.visible_data_range)
            try:
                lut_v, r_on, v_r_on, v_d_r = eval (val)
            except (TypeError, ValueError): # old format
                lut_v = int (val)

            if lut_v in [2, 4]:
                # these values were used before reverse_lut existed
                self.reverse_lut_var.set(1)
            lut_v = [0, 1, 1, 2, 2][lut_v]
            file_name = inp.readline ()[:-1]
        else:
            lut_v, r_on = (inp['lut_var'], inp['range_on_var'])
            v_r_on, v_d_r = (inp['v_range_on_var'],
                             inp['visible_data_range'])
            self.reverse_lut_var.set(inp['reverse_lut_var'])
            file_name = inp['rel_file_name']            

        self.lut_var.set (lut_v)
        self.range_on_var.set (r_on)
        self.v_range_on_var.set (v_r_on)
        self.visible_data_range = v_d_r

        if file_name:
            file_name = Common.get_abs_file_name (base_file_name,
                                                  file_name)
            if not isfile:
                if not os.path.isfile(file_name):
                    file_name = inp['file_name']
                
            if not os.path.isfile (file_name):
                msg = "Unable to open Lookup Table file: " + file_name
                msg = msg + "\n\nPlease try selecting the file manually."
                Common.print_err (msg)
                file_name = tk_fopen (title="Open LuT file", 
                                      filetypes=[("Lookup table files",
                                                  "*.lut"), 
                                                 ("All files", "*")])

        p = vtkPipeline.vtkMethodParser.VtkPickler ()
        if isfile:
            for obj in (self.lut, self.sc_bar, self.sc_bar.GetProperty (),
                        self.sc_bar.GetPositionCoordinate (),
                        self.sc_bar.GetPosition2Coordinate ()):
                p.load (obj, inp)
        else:
            for key, obj in (('lut_config', self.lut),
                             ('sc_bar_config', self.sc_bar),
                             ('sc_bar_prop_config',
                              self.sc_bar.GetProperty()),
                             ('sc_bar_pos_config',
                              self.sc_bar.GetPositionCoordinate()),
                             ('sc_bar_pos2_config',
                              self.sc_bar.GetPosition2Coordinate())):
                p.load (obj, inp[key])

        if hasattr(self.sc_bar, "GetTitleTextProperty"):
            color = self.sc_bar.GetProperty().GetColor()
            self.sc_bar.GetTitleTextProperty().SetColor(color)
            self.sc_bar.GetLabelTextProperty().SetColor(color)

        self._setup_config(file_name)