def state_from_dialog(self, scale_bar_dialog):

        d = scale_bar_dialog

        self.is_visible = d.isVisible()
        self.geometry = d.toplevel_widget.wm_geometry()

        self.show_scalebar = d.show_scalebar.get()
        self.bar_length = d.bar_length.get()
        self.bar_thickness = d.bar_thickness.get()
        self.bar_rgba = d.bar_color.rgba
        self.label_text = d.label_text.get()
        self.label_x_offset = d.label_x_offset.get()
        self.label_y_offset = d.label_y_offset.get()
        self.label_rgba = d.label_color.rgba
        self.orientation = d.orientation.get()
        self.preserve_position = d.preserve_position.get()
        self.screen_x_position = d.screen_x_position.get()
        self.screen_y_position = d.screen_y_position.get()
        self.move_scalebar = d.move_scalebar.get()
        self.frozen_models = map(lambda m: (m.id, m.subid), d.frozen_models())

        if d.model:
            from SessionUtil.stateclasses import Model_State
            self.model = Model_State()
            self.model.state_from_model(d.model)
        else:
            self.model = None
    def state_from_chain_piece(self, chain_piece):

        cp = chain_piece
        self.lan_chain_session_id = cp.lan_chain.session_id
        from SessionUtil.stateclasses import Xform_State
        xfs = Xform_State()
        xfs.state_from_xform(cp.xform)
        self.xform_state = xfs
        if hasattr(cp.xform, 'id_number'):
            self.xform_id_number = cp.xform.id_number
        self.surface_shown = cp.surface_shown()
        self.rgba = cp.color()
        g = cp.surface_piece
        if g:
            (self.surface_resolution, self.density_threshold,
             self.smoothing_factor,
             self.smoothing_iterations) = g.surfacing_parameters
        else:
            self.surface_resolution = None
            self.density_threshold = None
            self.smoothing_factor = None
            self.smoothing_iterations = None

        if cp.surf_model:
            from SessionUtil.stateclasses import Model_State
            sms = Model_State()
            sms.state_from_model(cp.surf_model)
            self.surface_model_state = sms
        else:
            self.surface_model_state = None
예제 #3
0
    def state_from_marker_set(self, marker_set):

        ms = marker_set
        self.name = ms.name

        if ms.molecule:
            from SessionUtil.stateclasses import Model_State
            self.marker_model = Model_State()
            self.marker_model.state_from_model(ms.molecule)
            from SimpleSession import sessionID
            self.molecule_session_id = sessionID(ms.molecule)
            self.color = ms.molecule.color.rgba()
        else:
            self.marker_model = None
            self.molecule_session_id = None
            self.color = None

        if ms.curve_model:
            from SessionUtil.stateclasses import Model_State
            cm = Model_State()
            cm.state_from_model(ms.curve_model)
            self.curve_parameters = ms.curve_parameters
            self.curve_model = cm
        else:
            self.curve_model = None
            self.curve_parameters = None

        self.next_marker_id = ms.next_marker_id
        self.file_path = ms.file_path

        self.markers = []
        for m in ms.markers():
            s = Marker_State()
            s.state_from_marker(m)
            self.markers.append(s)

        self.links = []
        for l in ms.links():
            s = Link_State()
            s.state_from_link(l)
            self.links.append(s)

        if hasattr(ms, 'extra_attribtues'):  # from reading XML
            self.extra_attributes = ms.extra_attributes
        else:
            self.extra_attributes = None
    def state_from_data_region(self, data_region):

        dr = data_region

        for attr in ('region', 'representation', 'surface_levels',
                     'surface_colors', 'surface_brightness_factor',
                     'transparency_factor', 'solid_levels', 'solid_colors',
                     'solid_brightness_factor', 'transparency_depth',
                     'default_rgba'):
            setattr(self, attr, getattr(dr, attr))

        s = Rendering_Options_State()
        s.state_from_rendering_options(dr.rendering_options)
        self.rendering_options = s

        #
        # Assume the surface and Solid models correspond to current
        # data region settings.  So only whether the model exists, is visible,
        # and its transform are saved.
        #
        self.surface_model = None
        m = dr.surface_model()
        if m:
            from SessionUtil.stateclasses import Model_State
            s = Model_State()
            s.state_from_model(m)
            self.surface_model = s

        self.solid_model = None
        if dr.solid:
            m = dr.solid.model()
            if m:
                from SessionUtil.stateclasses import Model_State
                s = Model_State()
                s.state_from_model(m)
                self.solid_model = s

        rls = Region_List_State()
        rls.state_from_region_list(dr.region_list)
        self.region_list = rls

        self.session_volume_id = id(dr)
    def state_from_group_piece(self, group_piece):

        gp = group_piece

        self.name = gp.name
        self.children_states = model_piece_states(gp.children)

        if gp.surf_model:
            from SessionUtil.stateclasses import Model_State
            sms = Model_State()
            sms.state_from_model(gp.surf_model)
            self.surface_model_state = sms
        else:
            self.surface_model_state = None
예제 #6
0
    def state_from_surface_model(self, sm, plist):

        self.name = sm.name

        from SessionUtil.stateclasses import Model_State
        ms = Model_State()
        ms.state_from_model(sm)
        self.surface_model = ms

        self.pieces_are_selectable = sm.piecesAreSelectable
        self.one_transparent_layer = sm.oneTransparentLayer

        splist = []
        for p in plist:
            sp = Surface_Piece_State()
            sp.state_from_surface_piece(p)
            splist.append(sp)
        self.surface_piece_states = splist
예제 #7
0
    def state_from_dialog(self, icosahedron_dialog):

        d = icosahedron_dialog

        self.is_visible = d.isVisible()
        t = d.uiMaster().winfo_toplevel()
        self.geometry = t.wm_geometry()

        self.radius = d.radius.value(d.default_radius)
        self.sphere_factor = d.sphere_factor.value(0)
        self.orientation = d.orientation.get()
        from CGLtk import Hybrid
        self.subdivision_factor = Hybrid.float_variable_value(
            d.subdivision_factor, 1)
        self.style = d.surface_style.get()
        self.color = d.color.rgba

        if d.surface_model is None:
            self.surface_model = None
        else:
            from SessionUtil.stateclasses import Model_State
            self.surface_model = Model_State()
            self.surface_model.state_from_model(d.surface_model)