next up previous contents index
Next: Animation Up: User-defined graphics Previous: Adding a label

Interface to picking

When an atom is picked with the mouse, the Tcl variable vmd_pick_mol gets set to the moleule id of the picked molecule, and vmd_pick_atom contains the atom index ???. The Tcl command trace ??? can be used to call a function when those values change.

As an example of what can be done with this, the following statements will put a sphere around each atom when it has been picked with the mouse. To turn it off, execute trace vdelete vmd_pick_atom w sphere_pick.

proc sphere_pick {name element op} {
     # get the atom and molecule picked
     global vmd_pick_atom vmd_pick_mol
     # get the coordinates
     set sel [atomselect $vmd_pick_mol "index $vmd_pick_atom"]
     lassign [$sel get {x y z}] coords
     draw sphere $coords radius 1.0
}
trace variable vmd_pick_atom w sphere_pick



Andrew Dalke
Tue May 14 16:49:45 CDT 1996