Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

AtomSel Class Reference

This interacts with the AtomParser. More...

#include <AtomSel.h>

Inheritance diagram for AtomSel:

AtomSelThr List of all members.

Public Types

enum  { TS_LAST = -2, TS_NOW = -1 }
enum  { NO_PARSE = -1, NO_EVAL = -2, PARSE_SUCCESS = 0 }
 return codes for the change() method. NO_PARSE if the string is not correct NO_EVAL if there was some problem finding the atoms in the selection otherwise PARSE_SUCCESS. NO_EVAL will still allow the atom selection to be used, although warning messages will be printed; whether this is the best semantics is questionable but since I don't know how to produce this kind of error we may as well let it slide. More...


Public Methods

int molid () const
 molid of "my" molecule. More...

 AtomSel (VMDApp *vmdapp, SymbolTable *, int mymolid)
 ~AtomSel ()
int change (const char *newcmd, DrawMolecule *)
 provide new settings; does a 'find' at the end if a mol has been previously provided and returns the results for the given molecule, find atoms for the molecule. Stores the indices in 'on' for quick retrieval later. If newcmd is NULL, use existing atom selection text return one of the above enum's. More...

float * coordinates (MoleculeList *) const
 get the current coordinates (or NULL if it doesn't exist/ no molecule) FIXME: This is just a wrapper around timestep() and should be eliminated. More...

Timesteptimestep (MoleculeList *) const
 get the current timestep (or NULL if it doesn't exist/ no molecule). More...


Static Public Methods

int get_frame_value (const char *s, int *val)
 given a string ("first", "last", "now", or a value) return the timestep value in *val returns -1 if there was a problem on error, if val > 0, the value of s wasn't understood if val < 0, the value was negative. More...


Public Attributes

char * cmdStr
 string with the selection command. More...

int * on
 per-atom 'selected' flags; 1=on, 0=off. More...

unsigned int * on256
 per-256-atom first, last, selected count. More...

int num_atoms
 number of atoms in mol. More...

int num_atoms256
 number of atoms in mol. More...

int selected
 number of selected atoms the molecule. More...

int firstsel
 index of first selected atom. More...

int lastsel
 index of final selected atom. More...

int which_frame
int do_update

Detailed Description

This interacts with the AtomParser.

Definition at line 45 of file AtomSel.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
TS_LAST 
TS_NOW 

Definition at line 67 of file AtomSel.h.

anonymous enum
 

return codes for the change() method. NO_PARSE if the string is not correct NO_EVAL if there was some problem finding the atoms in the selection otherwise PARSE_SUCCESS. NO_EVAL will still allow the atom selection to be used, although warning messages will be printed; whether this is the best semantics is questionable but since I don't know how to produce this kind of error we may as well let it slide.

Enumeration values:
NO_PARSE 
NO_EVAL 
PARSE_SUCCESS 

Definition at line 81 of file AtomSel.h.


Constructor & Destructor Documentation

AtomSel::AtomSel VMDApp   vmdapp,
SymbolTable  ,
int    mymolid
 

Definition at line 2341 of file AtomSel.C.

References cmdStr, do_update, firstsel, lastsel, NO_PARSE, NULL, num_atoms, num_atoms256, on, on256, selected, TS_NOW, and which_frame.

AtomSel::~AtomSel  
 

Definition at line 2361 of file AtomSel.C.

References cmdStr, firstsel, lastsel, NO_PARSE, NULL, num_atoms, num_atoms256, on, on256, and selected.


Member Function Documentation

int AtomSel::change const char *    newcmd,
DrawMolecule  
 

provide new settings; does a 'find' at the end if a mol has been previously provided and returns the results for the given molecule, find atoms for the molecule. Stores the indices in 'on' for quick retrieval later. If newcmd is NULL, use existing atom selection text return one of the above enum's.

Definition at line 2376 of file AtomSel.C.

References analyze_selection_aligned_dispatch, cmdStr, VMDApp::cpucaps, ParseTree::evaluate, firstsel, lastsel, BaseMolecule::nAtoms, NO_EVAL, NO_PARSE, NULL, num_atoms, num_atoms256, on, on256, SymbolTable::parse, PARSE_SUCCESS, selected, stringdup, ParseTree::use_context, and which_frame.

Referenced by access_tcl_atomsel, MoleculeList::add_rep, atomsel_new, VolMapCreate::calculate_minmax, DrawMolItem::change_sel, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateDistance::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, SaveTrajectoryFltkMenu::do_save, make_tcl_atomsel, measure_gofr, measure_rdf, py_atomselect, py_update, and AtomSelThr::update.

float * AtomSel::coordinates MoleculeList   const
 

get the current coordinates (or NULL if it doesn't exist/ no molecule) FIXME: This is just a wrapper around timestep() and should be eliminated.

Definition at line 2468 of file AtomSel.C.

References NULL, Timestep::pos, and timestep.

Referenced by assign_atoms, atomselect_move, atomselect_moveby, build_xyzr_from_sel, calc_density_bounds, VolMapCreate::calculate_minmax, center, center_of_mass, centerperresidue, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateDistance::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, contacts, fit, mdff_cc, mdff_sim, measure_clustsize, measure_dipole, measure_hbonds, measure_inertia, measure_rgyr, measure_rmsd_perresidue, measure_sasa_thread, minmax, VMDApp::molecule_from_selection_list, py_fit, py_hbonds, py_move, py_moveby, py_rmsd, py_rmsd_q, sasa, sasa_perresidue, vmd_measure_center, vmd_measure_centerperresidue, vmd_measure_contacts, vmd_measure_fit, vmd_measure_hbonds, vmd_measure_minmax, vmd_measure_rmsd, vmd_measure_rmsd_qcp, vmd_measure_sasa, vmd_measure_sasaperresidue, vmd_measure_surface, vmd_measure_volinterior, and vmd_volmap_ils.

int AtomSel::get_frame_value const char *    s,
int *    val
[static]
 

given a string ("first", "last", "now", or a value) return the timestep value in *val returns -1 if there was a problem on error, if val > 0, the value of s wasn't understood if val < 0, the value was negative.

Definition at line 2502 of file AtomSel.C.

References TS_LAST, and TS_NOW.

Referenced by access_tcl_atomsel, make_tcl_atomsel, and molecule_tcl.

int AtomSel::molid   const [inline]
 

molid of "my" molecule.

Definition at line 58 of file AtomSel.h.

Referenced by access_tcl_atomsel, assign_atoms, atomsel_repr, atomsel_set, atomselect_move, atomselect_moveby, AtomSelThr::AtomSelThr, build_xyzr_from_sel, calc_cc, calc_density_bounds, VolMapCreate::calculate_max_radius, VolMapCreate::calculate_minmax, center_of_mass, VolMapCreate::compute_all, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateDistance::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, contacts, fit, fpbc_join, fpbc_recenter, fpbc_unwrap, fpbc_wrap, get_molecule, get_weights_from_attribute, getmolid, mask, mdff_cc, mdff_sim, measure_avpos, measure_avpos_perresidue, measure_center_perresidue, measure_cluster, measure_dipole, measure_gofr, measure_inertia, measure_rdf, measure_rmsd_perresidue, measure_rmsdmat_qcp, measure_rmsdmat_qcp_ooc, measure_rmsf, measure_rmsf_perresidue, measure_sasa_perresidue, measure_sasa_thread, VMDApp::molecule_from_selection_list, py_hbonds, py_mol_write, py_move, py_moveby, py_rmsdmat_q, tcl_get_weights, text_cmd_animate, timestep, vmd_measure_cluster, vmd_measure_clustsize, vmd_measure_contacts, vmd_measure_hbonds, vmd_measure_inertia, vmd_measure_minmax, vmd_measure_pbc_neighbors, vmd_measure_rmsdmat_qcp, vmd_measure_sasa, vmd_measure_sasaperresidue, vmd_measure_symmetry, vmd_measure_trans_overlap, vmd_measure_volinterior, vmd_volmap_ils, and vmd_volmap_new_fromtype.

Timestep * AtomSel::timestep MoleculeList   const
 

get the current timestep (or NULL if it doesn't exist/ no molecule).

Definition at line 2476 of file AtomSel.C.

References DrawMolecule::current, DrawMolecule::get_frame, DrawMolecule::get_last_frame, MoleculeList::mol_from_id, molid, NULL, TS_LAST, TS_NOW, and which_frame.

Referenced by VolMapCreateCoulombPotentialMSM::compute_frame, coordinates, measure_gofr, measure_rdf, measure_surface, and VMDApp::molecule_from_selection_list.


Member Data Documentation

char* AtomSel::cmdStr
 

string with the selection command.

Definition at line 57 of file AtomSel.h.

Referenced by access_tcl_atomsel, add_rep_to_browser, AtomSel, atomsel_repr, atomsel_str, change, VolMapCreateCoulombPotentialMSM::compute_init, VolMapCreateCoulombPotential::compute_init, VolMapCreateDistance::compute_init, VolMapCreateOccupancy::compute_init, VolMapCreateInterp::compute_init, VolMapCreateDensity::compute_init, VolMapCreateMask::compute_init, contacts, molinfo_get, VMDApp::molrep_get_selection, py_hbonds, py_move, py_moveby, GraphicsFltkMenu::update_rep, and ~AtomSel.

int AtomSel::do_update
 

Definition at line 69 of file AtomSel.h.

Referenced by AtomSel, VMDApp::molrep_get_selupdate, VMDApp::molrep_set_selupdate, and GraphicsFltkMenu::update_rep.

int AtomSel::firstsel
 

index of first selected atom.

Definition at line 64 of file AtomSel.h.

Referenced by access_tcl_atomsel, Tool::assign_rep, AtomSel, atomsel_default_weights, atomsel_get, atomsel_set, atomselect_moveby, build_set_values, build_xyzr_from_coords, calc_density_bounds, QuickSurf::calc_surf, VolMapCreate::calculate_max_radius, center_convert_single_soa, center_convert_soa, center_of_mass, change, cluster_get_fitrmsd, cluster_get_rgyrd, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, fpbc_exec_wrapatomic, fpbc_exec_wrapcompound, fpbc_recenter, fpbc_unwrap, fpbc_wrap, get_weights_from_attribute, getbonds, measure_avpos, measure_avpos_perresidue, measure_center, measure_center_perresidue, measure_clustsize, measure_dipole, measure_fit, measure_inertia, measure_move, measure_rgyr, measure_rmsd, measure_rmsd_perresidue, measure_rmsf, measure_sasa, measure_sasa_perresidue, measure_sasa_thread, measure_sumweights, measure_surface, VMDApp::molecule_from_selection_list, moveby, py_moveby, setbonds, Tool::target, tcl_get_weights, Tool::tug, vmd_gpu_selection_indexlist, vmd_measure_clustsize, and ~AtomSel.

int AtomSel::lastsel
 

index of final selected atom.

Definition at line 65 of file AtomSel.h.

Referenced by access_tcl_atomsel, Tool::assign_rep, AtomSel, atomsel_default_weights, atomsel_get, atomsel_set, atomselect_moveby, build_set_values, build_xyzr_from_coords, calc_density_bounds, QuickSurf::calc_surf, VolMapCreate::calculate_max_radius, center_of_mass, change, cluster_get_fitrmsd, cluster_get_rgyrd, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, fpbc_exec_wrapatomic, fpbc_exec_wrapcompound, fpbc_recenter, fpbc_unwrap, fpbc_wrap, get_weights_from_attribute, getbonds, measure_avpos, measure_avpos_perresidue, measure_center, measure_center_perresidue, measure_clustsize, measure_dipole, measure_fit, measure_inertia, measure_move, measure_rgyr, measure_rmsf, measure_sasa, measure_sasa_perresidue, measure_sasa_thread, measure_sumweights, measure_surface, VMDApp::molecule_from_selection_list, moveby, py_moveby, setbonds, Tool::target, tcl_get_weights, Tool::tug, vmd_gpu_selection_indexlist, vmd_measure_clustsize, and ~AtomSel.

int AtomSel::num_atoms
 

number of atoms in mol.

Definition at line 61 of file AtomSel.h.

Referenced by access_tcl_atomsel, assign_atoms, AtomSel, atomsel_default_weights, atomsel_get, atomsel_set, atomselection_subscript, AtomSelThr::AtomSelThr, calc_density_bounds, QuickSurf::calc_surf, VolMapCreate::calculate_minmax, change, cluster_get_rmsd, VolMapCreateDistance::compute_frame, VolMapCreate::compute_init, contacts, fit, get_weights_from_attribute, get_weights_from_tcl_list, gpu_ooc_bench, iter_next, mdff_cc, measure_avpos, measure_clustsize, measure_dipole, measure_fit, measure_gofr, measure_hbonds, measure_inertia, measure_move, measure_pbc_neighbors, measure_rdf, measure_rmsd, measure_rmsd_perresidue, measure_rmsd_qcp, measure_rmsdmat_qcp, measure_rmsf, measure_rmsf_perresidue, measure_sasa, measure_sasa_perresidue, measure_sasa_thread, measure_sumweights, measure_surface, measure_trans_overlap, minmax, py_hbonds, qcp_soa_gpu_ooc, reset_origin, PickModeMoveRep::rotate, tcl_get_weights, PickModeMoveRep::translate, AtomSelThr::update, vmd_measure_cluster, vmd_measure_clustsize, vmd_measure_contacts, vmd_measure_hbonds, vmd_measure_minmax, vmd_measure_symmetry, vmd_volmap_ils, vmd_volmap_new_fromtype, and ~AtomSel.

int AtomSel::num_atoms256
 

number of atoms in mol.

Definition at line 62 of file AtomSel.h.

Referenced by AtomSel, change, and ~AtomSel.

int* AtomSel::on
 

per-atom 'selected' flags; 1=on, 0=off.

Definition at line 59 of file AtomSel.h.

Referenced by access_tcl_atomsel, assign_atoms, Tool::assign_rep, DrawMolItem::atom_displayed, AtomSel, atomsel_default_weights, atomsel_get, atomsel_set, atomselect_moveby, atomselection_subscript, AtomSelThr::AtomSelThr, build_set_values, build_xyzr_from_coords, calc_density_bounds, QuickSurf::calc_surf, VolMapCreate::calculate_max_radius, VolMapCreate::calculate_minmax, center_convert_single_soa, center_convert_soa, center_of_mass, change, cluster_get_fitrmsd, cluster_get_rgyrd, compoundmapper, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateDistance::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, contacts, SaveTrajectoryFltkMenu::do_save, fpbc_exec_wrapatomic, fpbc_exec_wrapcompound, fpbc_recenter, fpbc_unwrap, fpbc_wrap, get_weights_from_attribute, getbonds, iter_next, measure_avpos, measure_avpos_perresidue, measure_center, measure_center_perresidue, measure_clustsize, measure_dipole, measure_fit, measure_gofr, measure_hbonds, measure_inertia, measure_move, measure_pbc_neighbors, measure_rdf, measure_rgyr, measure_rmsd, measure_rmsd_perresidue, measure_rmsf, measure_sasa, measure_sasa_perresidue, measure_sasa_thread, measure_sumweights, measure_surface, minmax, VMDApp::molecule_from_selection_list, moveby, py_atomselect, py_mol_write, py_moveby, py_write, PickModeMoveRep::rotate, setbonds, Tool::target, tcl_get_weights, text_cmd_animate, PickModeMoveRep::translate, Tool::tug, AtomSelThr::update, vmd_gpu_selection_indexlist, vmd_measure_clustsize, vmd_measure_contacts, vmd_measure_minmax, vmd_measure_symmetry, vmd_volmap_ils, and ~AtomSel.

unsigned int* AtomSel::on256
 

per-256-atom first, last, selected count.

Definition at line 60 of file AtomSel.h.

Referenced by AtomSel, change, and ~AtomSel.

int AtomSel::selected
 

number of selected atoms the molecule.

Definition at line 63 of file AtomSel.h.

Referenced by access_tcl_atomsel, assign_atoms, AtomSel, atomsel_get, atomsel_set, AtomSelThr::AtomSelThr, build_xyzr_from_coords, QuickSurf::calc_surf, center_convert_single_soa, center_convert_soa, centerperresidue, change, cluster_get_fitrmsd, compoundmapper, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, contacts, fit, fpbc_exec_recenter, fpbc_exec_wrapatomic, fpbc_exec_wrapcompound, fpbc_join, fpbc_recenter, fpbc_unwrap, fpbc_wrap, getbonds, Symmetry::guess, Symmetry::impose, iter_len, mask, mdff_cc, mdff_sim, measure_avpos, measure_clustsize, measure_dipole, measure_fit, measure_gofr, measure_move, measure_pbc_neighbors, measure_rdf, measure_rmsd, measure_rmsd_perresidue, measure_rmsd_qcp, measure_rmsdmat_qcp, measure_rmsdmat_qcp_ooc, measure_rmsdmat_qcp_thread, measure_rmsf, measure_rmsf_perresidue, measure_sasa, measure_sasa_perresidue, measure_sasa_thread, measure_sumweights, measure_surface, measure_trans_overlap, VMDApp::molecule_from_selection_list, VMDApp::molrep_numselected, parse_two_selections_return_weight, parse_weight, py_hbonds, py_move, py_moveby, py_rmsd, py_rmsd_q, py_rmsdmat_q, py_rmsdperresidue, py_rmsf, py_rmsfperresidue, qcp_soa_gpu, rotate, sasa_perresidue, Symmetry::score_axis, Symmetry::score_inversion, Symmetry::score_plane, Symmetry::score_rotary_reflection, setbonds, Symmetry::Symmetry, tcl_get_weights, AtomSelThr::update, vmd_cuda_calc_density, vmd_cuda_compare_sel_refmap, vmd_gpu_selection_indexlist, vmd_measure_avpos, vmd_measure_center, vmd_measure_centerperresidue, vmd_measure_clustsize, vmd_measure_fit, vmd_measure_pbc_neighbors, vmd_measure_rgyr, vmd_measure_rmsd, vmd_measure_rmsd_qcp, vmd_measure_rmsdmat_qcp, vmd_measure_rmsdmat_qcp_ooc, vmd_measure_rmsdperresidue, vmd_measure_rmsf, vmd_measure_rmsfperresidue, vmd_measure_sasaperresidue, vmd_measure_sumweights, vmd_measure_symmetry, vmd_measure_volinterior, vmd_volmap_ils, vmd_volmap_new_fromtype, ~AtomSel, and Symmetry::~Symmetry.

int AtomSel::which_frame
 

Definition at line 68 of file AtomSel.h.

Referenced by access_tcl_atomsel, AtomSel, atomsel_get, atomsel_new, atomsel_repr, atomsel_set, AtomSelThr::AtomSelThr, VolMapCreate::calculate_minmax, change, VolMapCreate::compute_all, VolMapCreateCoulombPotentialMSM::compute_frame, VolMapCreateCoulombPotential::compute_frame, VolMapCreateDistance::compute_frame, VolMapCreateOccupancy::compute_frame, VolMapCreateInterp::compute_frame, VolMapCreateDensity::compute_frame, VolMapCreateMask::compute_frame, get_weights_from_attribute, getframe, mdff_cc, measure_gofr, measure_rdf, py_atomselect, py_write, setframe, tcl_get_weights, timestep, AtomSelThr::update, vmd_measure_cluster, and vmd_measure_clustsize.


The documentation for this class was generated from the following files:
Generated on Tue Dec 3 02:46:48 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002