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
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
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
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)