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

TclCommands.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr                                                                       
00003  *cr            (C) Copyright 1995-2019 The Board of Trustees of the           
00004  *cr                        University of Illinois                       
00005  *cr                         All Rights Reserved                        
00006  *cr                                                                   
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: TclCommands.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.59 $       $Date: 2020/11/04 20:57:00 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *  prototypes for VMD<->Tcl functions
00019  *
00020  ***************************************************************************/
00021 #ifndef TCLCOMMANDS_H
00022 #define TCLCOMMANDS_H
00023 //forward definition
00024 class AtomSel;
00025 class VMDApp;
00026 
00027 // for the core VMD commands
00028 int Vmd_Init(Tcl_Interp *);
00029 
00030 // for 'molinfo'
00031 int molecule_tcl(ClientData, Tcl_Interp *interp, int argc, const char *argv[]);
00032 
00033 // for 'vec*' and 'trans*'
00034 int Vec_Init(Tcl_Interp *);
00035 
00036 // for 'atomselect'
00037 int Atomsel_Init(Tcl_Interp *);
00038 
00039 // get the atom selection associated with the given tcl selection
00040 // (the one of the form 'atomselect%u')
00041 AtomSel *tcl_commands_get_sel(Tcl_Interp *, const char *str);
00042 
00043 // for accessing the graphics
00044 int graphics_tcl(ClientData, Tcl_Interp *interp, int argc, const char *argv[]);
00045 
00046 // for accessing the colors
00047 int tcl_colorinfo(ClientData, Tcl_Interp *interp, int argc, const char *argv[]);
00048 
00049 // for the graphlayout command
00050 int obj_graphlayout(ClientData cd, Tcl_Interp *interp, int argc, Tcl_Obj * const objv[]);
00051 
00052 // for the measure commands
00053 int obj_measure(ClientData, Tcl_Interp *, int, Tcl_Obj *const []);
00054 
00055 // for the mdff cc command
00056 int obj_mdff_cc(ClientData cd, Tcl_Interp *interp, int argc, Tcl_Obj * const objv[]);
00057 
00058 // for the voltool command
00059 int obj_voltool(ClientData cd, Tcl_Interp *interp, int argc, Tcl_Obj * const objv[]);
00060 
00061 // for the segmentation commands
00062 int obj_segmentation(ClientData cd, Tcl_Interp *interp, int argc, Tcl_Obj * const objv[]);
00063 
00064 #if 0
00065 // for the volgradient command
00066 int obj_volgradient(ClientData cd, Tcl_Interp *interp, int argc, Tcl_Obj * const objv[]);
00067 #endif
00068 
00069 // for the volmap commands
00070 int obj_volmap(ClientData, Tcl_Interp *, int, Tcl_Obj *const []);
00071 
00072 // get a matrix from a string; 
00073 // returns TCL_OK if good
00074 // If bad, returns TCL_ERROR and sets the interp->result to the error message
00075 // The name of the function should be passed in 'fctn' so the error message
00076 // can be constructed correctly
00077 int tcl_get_matrix(const char *fctn, Tcl_Interp *interp,
00078                    Tcl_Obj *s, float *mat);
00079 
00082 int tcl_get_weights(Tcl_Interp *interp, VMDApp *app, AtomSel *sel, 
00083                     Tcl_Obj *weight_obj, float *data);
00084 
00086 int atomsel_default_weights(AtomSel *sel, float *weights);
00087 
00089 int get_weights_from_tcl_list(Tcl_Interp *interp, VMDApp *app, AtomSel *sel,
00090                               Tcl_Obj *weights_obj, float *weights);
00091 
00094 int get_attribute_index(VMDApp *app, char const *string);
00095 
00097 int get_weights_from_attribute(VMDApp *app, AtomSel *sel,
00098                                char const *weights_string, float *weights);
00099 
00100 // Get a vector from a string
00101 int tcl_get_vector(const char *s, float *val, Tcl_Interp *interp);
00102 
00103 // Get an array of floating point vectors values from a string
00104 int tcl_get_vecarray(const char *s, int &num, float *&val, Tcl_Interp *interp);
00105 
00106 // Get an array of floating point values from a string
00107 int tcl_get_array(const char *s, int &num, float *&val, Tcl_Interp *interp);
00108 
00109 // Get an array of floating point values from a string
00110 int tcl_get_intarray(const char *s, int &num, int *&val, Tcl_Interp *interp);
00111 
00112 // append the matrix information to the interp->result field
00113 void tcl_append_matrix(Tcl_Interp *interp, const float *mat);
00114 
00115 #if defined(VMDTKCON)
00116 // set up and write console log messages
00117 int tcl_vmdcon(ClientData nodata, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
00118 #endif
00119 
00120 // fastpbc
00121 int obj_fastpbc(ClientData, Tcl_Interp *, int, Tcl_Obj *const []);
00122 
00123 #endif
00124 

Generated on Thu Apr 25 02:43:37 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002