#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "Atom.h"
#include "AtomSel.h"
#include "DrawMolecule.h"
#include "MoleculeList.h"
#include "VMDApp.h"
#include "Inform.h"
#include "SymbolTable.h"
#include "ParseTree.h"
#include "JRegex.h"
#include "VolumetricData.h"
#include "PeriodicTable.h"
#include "DrawRingsUtils.h"
Go to the source code of this file.
Defines | |
#define | generic_atom_data(fctnname, datatype, field) |
#define | generic_set_atom_data(fctnname, datatype, fieldtype, field) |
#define | generic_atom_boolean(fctnname, comparison) |
#define | generic_sstruct_boolean(fctnname, comparison) |
#define | generic_set_sstruct_boolean(fctnname, newval) |
#define | fragment_data(fctn, fragtype) |
#define | atomsel_get_vel(name, offset) |
#define | set_position_data(fctn, offset) |
#define | set_force_data(fctn, offset) |
#define | set_vel_data(fctn, offset) |
Functions | |
int | atomsel_all (void *,int, int *) |
int | atomsel_none (void *, int num, int *flgs) |
int | atomsel_name (void *v, int num, const char **data, int *flgs) |
int | atomsel_type (void *v, int num, const char **data, int *flgs) |
int | atomsel_backbonetype (void *v, int num, const char **data, int *flgs) |
int | atomsel_residuetype (void *v, int num, const char **data, int *flgs) |
generic_atom_data (atomsel_atomicnumber, int, atomicnumber) static int atomsel_set_atomicnumber(void *v | |
int | atomsel_volume_array (void *v, int num, double *data, int *flgs, int array_index) |
int | atomsel_interp_volume_array (void *v, int num, double *data, int *flgs, int array_index) |
int | atomsel_gridindex_array (void *v, int num, double *data, int *flgs, int array_index) |
int | atomsel_gridindex0 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex1 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex2 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex3 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex4 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex5 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex6 (void *v, int num, double *data, int *flgs) |
int | atomsel_gridindex7 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume0 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume1 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume2 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume3 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume4 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume5 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume6 (void *v, int num, double *data, int *flgs) |
int | atomsel_volume7 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume0 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume1 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume2 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume3 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume4 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume5 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume6 (void *v, int num, double *data, int *flgs) |
int | atomsel_interp_volume7 (void *v, int num, double *data, int *flgs) |
void | atomSelParser_init (SymbolTable *atomSelParser) |
Variables | |
int | num |
int int * | data |
|
Value: static int atomsel_##name(void *v, int num, double *data, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int which_frame = ((atomsel_ctxt *)v)->which_frame; \ Timestep *ts = selframe(atom_sel_mol, which_frame); \ int i; \ if (!ts || !ts->vel) { \ for (i=0; i<num; i++) \ if (flgs[i]) data[i] = 0.0; \ return 0; \ } \ for (i=0; i<num; i++) { \ if (flgs[i]) { \ data[i] = ts->vel[3L*i + (offset)]; \ } \ } \ return 1; \ } |
|
Value: static int fctn(void *v, int num, int *data, int *) \ { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int *tmp = new int[num]; \ int i; \ for (i=num-1; i>=0; i--) { \ tmp[i] = 0; \ data[i] = -1; \ } \ \ for ( i=atom_sel_mol->fragtype.num()-1; i>=0; i--) { \ \ int j; \ for (j=atom_sel_mol->fragtype[i]->num()-1; j>=0; j--) { \ \ mark_atoms_given_residue(atom_sel_mol,(*atom_sel_mol->fragtype[i])[j], tmp); \ } \ \ for (j=num-1; j>=0; j--) { \ if (tmp[j]) { \ data[j] = i; \ tmp[j] = 0; \ } \ } \ } \ delete [] tmp; \ return 1; \ } |
|
Value: static int fctnname(void *v, int num, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ for (int i=0; i<num; i++) { \ if (flgs[i]) { \ flgs[i] = atom_sel_mol->atom(i)->comparison; \ } \ } \ return 1; \ } |
|
Value: static int fctnname(void *v, int num, datatype *data, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ for (int i=0; i<num; i++) { \ if (flgs[i]) { \ data[i] = atom_sel_mol->atom(i)->field; \ } \ } \ return 1; \ } |
|
Value: static int fctnname(void *v, int num, datatype *data, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int i; \ for (i=0; i<num; i++) { \ if (flgs[i]) { \ atom_sel_mol->atom(i)->field = (fieldtype) data[i]; \ } \ } \ return 1; \ } |
|
Value: static int fctnname(void *v, int num, int *data, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ atom_sel_mol->need_secondary_structure(0); \ for (int i=0; i<num; i++) { \ if (flgs[i] && data[i]) { \ atom_sel_mol->residue(atom_sel_mol->atom(i)->uniq_resid) \ ->sstruct = newval; \ } \ } \ return 1; \ } |
|
Value: static int fctnname(void *v, int num, int *flgs) { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ atom_sel_mol->need_secondary_structure(1); \ for (int i=0; i<num; i++) { \ int s; \ if (flgs[i]) { \ s = atom_sel_mol->residue( \ atom_sel_mol->atom(i)->uniq_resid \ )->sstruct; \ if (!comparison) { \ flgs[i] = 0; \ } \ } \ } \ return 1; \ } |
|
Value: static int fctn(void *v, int num, double *data, int *flgs) \ { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int which_frame = ((atomsel_ctxt *)v)->which_frame; \ Timestep *ts = selframe(atom_sel_mol, which_frame); \ if (!ts) return 0; \ if (!ts->force) { \ ts->force = new float[3L*num]; \ memset(ts->force, 0, 3L*num*sizeof(float)); \ } \ for (int i=num-1; i>=0; i--) { \ if (flgs[i]) { \ ts->force[3L*i + offset] = (float) data[i]; \ } \ } \ return 1; \ } |
|
Value: static int fctn(void *v, int num, double *data, int *flgs) \ { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int which_frame = ((atomsel_ctxt *)v)->which_frame; \ Timestep *ts = selframe(atom_sel_mol, which_frame); \ if (!ts) return 0; \ for (int i=num-1; i>=0; i--) { \ if (flgs[i]) { \ ts->pos[3L*i + offset] = (float) data[i]; \ } \ } \ return 1; \ } |
|
Value: static int fctn(void *v, int num, double *data, int *flgs) \ { \ DrawMolecule *atom_sel_mol = ((atomsel_ctxt *)v)->atom_sel_mol; \ int which_frame = ((atomsel_ctxt *)v)->which_frame; \ Timestep *ts = selframe(atom_sel_mol, which_frame); \ if (!ts) return 0; \ if (!ts->vel) { \ ts->vel= new float[3L*num]; \ memset(ts->vel, 0, 3L*num*sizeof(float)); \ } \ for (int i=num-1; i>=0; i--) { \ if (flgs[i]) { \ ts->vel[3L*i + offset] = (float) data[i]; \ } \ } \ return 1; \ } |
|
Definition at line 47 of file AtomSel.C. Referenced by atomSelParser_init. |
|
Definition at line 109 of file AtomSel.C. References BaseMolecule::atom, ATOMHYDROGEN, ATOMNORMAL, ATOMNUCLEICBACK, ATOMPROTEINBACK, MolAtom::atomType, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2100 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2103 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2106 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2109 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2112 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2115 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2118 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2121 of file AtomSel.C. References atomsel_gridindex_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2080 of file AtomSel.C. References data, BaseMolecule::get_volume_data, NAN, num, Timestep::pos, selframe, and VolumetricData::voxel_index_from_coord. Referenced by atomsel_gridindex0, atomsel_gridindex1, atomsel_gridindex2, atomsel_gridindex3, atomsel_gridindex4, atomsel_gridindex5, atomsel_gridindex6, and atomsel_gridindex7. |
|
Definition at line 2154 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2157 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2160 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2163 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2166 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2169 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2172 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2175 of file AtomSel.C. References atomsel_interp_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2060 of file AtomSel.C. References data, BaseMolecule::get_volume_data, NAN, num, Timestep::pos, selframe, and VolumetricData::voxel_value_interpolate_from_coord. Referenced by atomsel_interp_volume0, atomsel_interp_volume1, atomsel_interp_volume2, atomsel_interp_volume3, atomsel_interp_volume4, atomsel_interp_volume5, atomsel_interp_volume6, and atomsel_interp_volume7. |
|
Definition at line 85 of file AtomSel.C. References BaseMolecule::atom, BaseMolecule::atomNames, data, MolAtom::nameindex, and num. Referenced by atomSelParser_init. |
|
Definition at line 52 of file AtomSel.C. References num. Referenced by atomSelParser_init. |
|
Definition at line 142 of file AtomSel.C. References BaseMolecule::atom, data, num, MolAtom::residueType, RESNOTHING, RESNUCLEIC, RESPROTEIN, and RESWATERS. Referenced by atomSelParser_init. |
|
Definition at line 97 of file AtomSel.C. References BaseMolecule::atom, BaseMolecule::atomTypes, data, num, and MolAtom::typeindex. Referenced by atomSelParser_init. |
|
Definition at line 2127 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2130 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2133 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2136 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2139 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2142 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2145 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2148 of file AtomSel.C. References atomsel_volume_array, data, and num. Referenced by atomSelParser_init. |
|
Definition at line 2040 of file AtomSel.C. References data, BaseMolecule::get_volume_data, NAN, num, Timestep::pos, selframe, and VolumetricData::voxel_value_from_coord. Referenced by atomsel_volume0, atomsel_volume1, atomsel_volume2, atomsel_volume3, atomsel_volume4, atomsel_volume5, atomsel_volume6, and atomsel_volume7. |
|
|
|
|
|