def __init__(self, mol):
self._current_shapes = []
self.mol = mol
self.tolerance = 0.3 * u.angstrom
self.original_coords = mol.positions.copy()
self.showing = ipy.HTML()
self.viewer = mol.draw3d(width='650px')
""":type viewer: moldesign.viewer.GeometryViewer"""
self.description = ipy.HTML()
self.symm_selector = ipy.Select()
self.symm_selector.observe(self.show_symmetry, names='value')
self.apply_button = ipy.Button(description='Symmetrize')
self.apply_button.on_click(self.apply_selected_symmetry)
self.reset_button = ipy.Button(description='Reset')
self.reset_button.on_click(self.reset_coords)
self.apply_all_button = ipy.Button(description='Apply all',
layout=ipy.Layout(padding='10px'))
self.apply_all_button.on_click(self.set_highest_symmetry)
self.tolerance_descrip = ipy.HTML(u'<small>tolerance/\u212B</small>',)
self.tolerance_chooser = ipy.BoundedFloatText(value=self.tolerance.value_in(u.angstrom),
min=0.0)
self.recalculate_button = ipy.Button(description='Recalculate')
self.recalculate_button.on_click(self.coords_changed)
self.symm_pane = VBox([self.description,
self.symm_selector,
HBox([self.apply_button, self.reset_button]),
self.apply_all_button,
HBox([self.tolerance_chooser, self.recalculate_button]),
self.tolerance_descrip],
layout=ipy.Layout(width='325px'))
self.symmetry = None
self.coords_changed()
self.hbox = HBox([VBox([self.viewer, self.showing]), self.symm_pane])
super().__init__([self.hbox])
symmetry.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录