#include <stdlib.h>
#include "MoleculeList.h"
#include "tcl.h"
#include "Timestep.h"
#include "TclCommands.h"
#include "Molecule.h"
#include "MaterialList.h"
#include "VMDApp.h"
#include "Inform.h"
#include "QMData.h"
Go to the source code of this file.
Compounds | |
class | ctxt |
XXX old-style context structure; from when we used a SymbolTable instance to loop up functions for molinfo. More... | |
Defines | |
#define | generic_molinfo_data(name, func) |
#define | generic_molinfo_simulation(name, term) |
#define | generic_molinfo_pbc(name, term) |
#define | generic_molinfo_wave_int(name, term) |
#define | generic_molinfo_qmts_int(name, term) |
#define | generic_molinfo_qmts_arr(type, name, term, n) |
#define | generic_molinfo_qmts_mat(type, name, term, n, m) |
#define | generic_molinfo_qm(type, name, term) |
#define | generic_molinfo_qm_string(name, term) |
#define | generic_molinfo_qm_arr(type, name, term, n) |
#define | generic_molinfo_qm_mat(type, name, term, n) |
#define | generic_molinfo_set_data(name, func1, func2) |
#define | generic_molinfo_simulation_set(name, type) |
#define | generic_molinfo_pbc_set(name, type) |
Functions | |
void | write_matrix (Tcl_Interp *interp, const float *mat) |
int | read_matrix (Tcl_Interp *interp, const char *s, float *mat) |
int | molinfo_get (ctxt context, int molid, int argc, const char *argv[], Tcl_Interp *interp, int frame_num) |
int | molinfo_set (ctxt context, int molid, int argc, const char *argv[], const char *data[], Tcl_Interp *interp, int frame_num) |
int | molecule_tcl (ClientData data, Tcl_Interp *interp, int argc, const char *argv[]) |
|
Value: } else if (!strcmp(arg, name)) { \ char buf[20]; sprintf(buf, "%d", func); Tcl_AppendElement(interp, buf); Definition at line 81 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (!ts) Tcl_AppendElement(interp, "0"); \ else { char buf[20]; sprintf(buf, "%f", ts->term); Tcl_AppendElement(interp, buf); } Definition at line 91 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(argv[term], name)) { \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (ts) { ts->type = (float) atof(data[term]); mol->change_pbc(); } Definition at line 843 of file TclMolInfo.C. Referenced by molinfo_set. |
|
Value: } else if (!strcmp(arg, name)) { \ if (!mol->qm_data) \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), \ Tcl_NewIntObj(0)); \ else { \ char buf[QMDATA_BUFSIZ]; sprintf(buf, type, mol->qm_data->term); \ Tcl_AppendElement(interp, buf); \ } Definition at line 156 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ Tcl_Obj *tcl_result = Tcl_NewListObj(0, NULL); \ if (mol->qm_data && mol->qm_data->get_##term()) { \ char buf[20]; \ unsigned int i; \ for (i=0; i<(unsigned int)n; i++) { \ sprintf(buf, type, mol->qm_data->get_##term()[i]); \ Tcl_ListObjAppendElement(interp, tcl_result, Tcl_NewStringObj(buf, -1)); \ } \ } \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), tcl_result); Definition at line 175 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ if (mol->qm_data) { \ if (mol->qm_data->get_##term()) { \ char buf[20]; \ unsigned int i, j; \ Tcl_Obj *tcl_result = Tcl_NewListObj(0, NULL); \ for (i=0; i<(unsigned int)n; i++) { \ Tcl_Obj *rowListObj = Tcl_NewListObj(0, NULL); \ for (j=0; j<(unsigned int)n; j++) { \ sprintf(buf, type, mol->qm_data->get_##term()[i*n+j]); \ Tcl_ListObjAppendElement(interp, rowListObj, Tcl_NewStringObj(buf, -1)); \ } \ Tcl_ListObjAppendElement(interp, tcl_result, rowListObj); \ } \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), tcl_result); \ } \ } Definition at line 188 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ if (mol->qm_data) { \ char buf[QMDATA_BUFSIZ]; sprintf(buf, QMDATA_BUFSTRFMT, mol->qm_data->term); \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), Tcl_NewStringObj(buf, -1)); \ } else { \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), Tcl_NewListObj(0, NULL)); \ } Definition at line 166 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ Tcl_Obj *tcl_result = Tcl_NewListObj(0, NULL); \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (ts && ts->qm_timestep && ts->qm_timestep->get_##term()) { \ char buf[20]; \ unsigned int i; \ for (i=0; i<(unsigned int)n; i++) { \ sprintf(buf, type, ts->qm_timestep->get_##term()[i]); \ Tcl_ListObjAppendElement(interp, tcl_result, Tcl_NewStringObj(buf, -1)); \ } \ } \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), tcl_result); Definition at line 123 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (!ts || !ts->qm_timestep) \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), \ Tcl_NewIntObj(0)); \ else { \ char buf[20]; sprintf(buf, "%i", ts->qm_timestep->get_##term()); \ Tcl_AppendElement(interp, buf); \ } Definition at line 112 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(arg, name)) { \ Tcl_Obj *tcl_result = Tcl_NewListObj(0, NULL); \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (ts && ts->qm_timestep && ts->qm_timestep->term) { \ char buf[20]; \ unsigned int i, j; \ for (i=0; i<(unsigned int)n; i++) { \ Tcl_Obj *rowListObj = Tcl_NewListObj(0, NULL); \ for (j=0; j<(unsigned int)m; j++) { \ sprintf(buf, type, ts->qm_timestep->term[i*n+j]); \ Tcl_ListObjAppendElement(interp, rowListObj, Tcl_NewStringObj(buf, -1)); \ } \ Tcl_ListObjAppendElement(interp, tcl_result, rowListObj); \ } \ } \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), tcl_result); Definition at line 137 of file TclMolInfo.C. |
|
Value: } else if (!strcmp(argv[term], name)) { \ int onoff; \ if (Tcl_GetBoolean(interp, data[term], &onoff) != TCL_OK) return TCL_ERROR; \ if (onoff) { func1 ; } else { func2 ; } Definition at line 832 of file TclMolInfo.C. Referenced by molinfo_set. |
|
Value: } else if (!strcmp(arg, name)) { \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (!ts) Tcl_AppendElement(interp, "0"); \ else { char buf[20]; sprintf(buf, "%f", ts->energy[term]); Tcl_AppendElement(interp, buf); } Definition at line 85 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Value: } else if (!strcmp(argv[term], name)) { \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (ts) ts->energy[type] = (float) atof(data[term]); Definition at line 838 of file TclMolInfo.C. Referenced by molinfo_set. |
|
Value: } else if (!strcmp(arg, name)) { \ Tcl_Obj *tcl_result = Tcl_NewListObj(0, NULL); \ Timestep *ts = mol->get_frame(context.molinfo_frame_number); \ if (ts && ts->qm_timestep) { \ int i; \ char buf[32]; \ for (i=0; i<ts->qm_timestep->get_num_wavef(); i++) { \ sprintf(buf, "%d", ts->qm_timestep->get_##term(i)); \ Tcl_ListObjAppendElement(interp, tcl_result, Tcl_NewStringObj(buf, -1)); \ } \ } \ Tcl_ListObjAppendElement(interp, Tcl_GetObjResult(interp), tcl_result); Definition at line 98 of file TclMolInfo.C. Referenced by molinfo_get. |
|
Definition at line 1109 of file TclMolInfo.C. References ctxt::app, data, AtomSel::get_frame_value, BaseMolecule::id, VMDApp::materialList, ctxt::matlist, ctxt::mlist, MoleculeList::molecule, VMDApp::moleculeList, molinfo_get, molinfo_set, NULL, num, MoleculeList::num, result, MoleculeList::top, and AtomSel::TS_NOW. |
|
|
|
Definition at line 68 of file TclMolInfo.C. Referenced by molinfo_set. |
|
Definition at line 58 of file TclMolInfo.C. References mat. Referenced by molinfo_get. |