def __init__(self, object):

        if object.__class__.__name__ == 'atom_builder':
            self.atom_object = object

            self.visual = vis.sphere(
                pos=self.atom_object.pos,
                radius=visual.atom_radii[self.atom_object.element],
                color=visual.atom_colors[self.atom_object.element])
            visual.all_visual_atoms.append(self)

        if object.__class__.__name__ == 'bond_builder':
            self.bond_object = object

            if self.bond_object.number_of_bonds == 1:
                self.bond_object.bonds = 'single'
            if self.bond_object.number_of_bonds == 2:
                self.bond_object.bonds = 'double'

            self.visual = vis.cylinder(
                radius=self.bond_object.number_of_bonds * 0.05,
                pos=self.bond_object.atom1.pos,
                axis=self.bond_object.atom2.pos - self.bond_object.atom1.pos,
                color=visual.bond_color[self.bond_object.bonds])

            visual.all_visual_bonds.append(self)
Пример #2
0
    def __init__(self, object):

        if object.__class__.__name__ == 'atom':
            self.atom_object = object
            self.visual = vis.sphere(pos=object.pos,
                                     radius=visual.atom_radii[object.element],
                                     color=visual.atom_colors[object.element])
            visual.all_visual_atoms.append(self)

        if object.__class__.__name__ == 'bond':
            self.bond_object = object
            self.visual = vis.cylinder(radius=0.05,
                                       pos=object.atom1.pos,
                                       axis=object.atom2.pos -
                                       object.atom1.pos,
                                       color=(0.4, 0.7, 0.9))

            visual.all_visual_bonds.append(self)