Difference for psfgen/src/tcl_psfgen.c from version 1.31 to 1.32

version 1.31version 1.32
Line 180
Line 180
 int tcl_mutate(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_mutate(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_multiply(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_multiply(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_coord(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_coord(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_vel(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_psfset(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_bfactor(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); 
 int tcl_auto(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_auto(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_regenerate(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_regenerate(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_alias(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_alias(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
Line 199
Line 198
 int tcl_patch(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_patch(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_resetpsf(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_resetpsf(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_delatom(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); int tcl_delatom(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]);
 int tcl_rename_atom(ClientData data, Tcl_Interp *interp, int argc, CONST84 char *argv[]); 
  
 #if defined(PSFGENTCLDLL_EXPORTS) && defined(_WIN32) #if defined(PSFGENTCLDLL_EXPORTS) && defined(_WIN32)
 #  undef TCL_STORAGE_CLASS #  undef TCL_STORAGE_CLASS
Line 253
Line 251
  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
   Tcl_CreateCommand(interp,"coord",tcl_coord,   Tcl_CreateCommand(interp,"coord",tcl_coord,
  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
   Tcl_CreateCommand(interp,"vel",tcl_vel,   Tcl_CreateCommand(interp,"psfset",tcl_psfset,
         (ClientData)data, (Tcl_CmdDeleteProc*)NULL); 
   Tcl_CreateCommand(interp,"bfactor",tcl_bfactor, 
         (ClientData)data, (Tcl_CmdDeleteProc*)NULL);         (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
   Tcl_CreateCommand(interp,"auto",tcl_auto,   Tcl_CreateCommand(interp,"auto",tcl_auto,
  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
Line 289
Line 285
  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
   Tcl_CreateCommand(interp,"delatom", tcl_delatom,   Tcl_CreateCommand(interp,"delatom", tcl_delatom,
  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  (ClientData)data, (Tcl_CmdDeleteProc*)NULL);
   Tcl_CreateCommand(interp,"renameatom", tcl_rename_atom, 
         (ClientData)data, (Tcl_CmdDeleteProc*)NULL);  
    
   Tcl_PkgProvide(interp, "psfgen", "1.6.4");   Tcl_PkgProvide(interp, "psfgen", "1.6.4");
  
Line 1204
Line 1198
   return TCL_OK;   return TCL_OK;
 } }
  
 int tcl_vel(ClientData data, Tcl_Interp *interp, int tcl_psfset(ClientData data, Tcl_Interp *interp,
                                    int argc, CONST84 char *argv[]) {                                    int argc, CONST84 char *argv[]) {
   double vx,vy,vz; 
   topo_mol_ident_t target;   topo_mol_ident_t target;
   char *segid, *resid, *atomname; 
   int rc; 
   psfgen_data *psf = *(psfgen_data **)data;   psfgen_data *psf = *(psfgen_data **)data;
   PSFGEN_TEST_MOL(interp,psf);   PSFGEN_TEST_MOL(interp,psf);
    char *segid, *resid, *aname;
    int rc;
    /* We will horribly abuse notation here and use these for any vector quantity
       and just use x for scalar quantities.
    */
    double x, y, z;
  
   if ( argc < 5 ) {   /*
     Tcl_SetResult(interp,"arguments: segid resid atomname { vx vy vz }",TCL_VOLATILE);     psfset <attribute keyword> <segid> <resid> [<atomname>] <new value>
     psfgen_kill_mol(interp,psf);   */
     return TCL_ERROR;   if ( argc > 6 ) {
   }     Tcl_SetResult(interp, "Too many arguments specified", TCL_VOLATILE);
   if ( argc > 5 ) { 
     Tcl_SetResult(interp,"too many arguments specified",TCL_VOLATILE); 
     psfgen_kill_mol(interp,psf);     psfgen_kill_mol(interp,psf);
     return TCL_ERROR;     return TCL_ERROR;
   }   }
   if ( sscanf(argv[4],"%lf %lf %lf",&vx,&vy,&vz) != 3 ) {   if (argc < 4 ) {
     Tcl_SetResult(interp,"arguments: segid resid atomname { vx vy vz }",TCL_VOLATILE);     Tcl_SetResult(interp, "arguments: attribute segid [resid [aname]] value",TCL_VOLATILE);
     psfgen_kill_mol(interp,psf);     psfgen_kill_mol(interp,psf);
     return TCL_ERROR;     return TCL_ERROR;
   }   }
   segid=strtoupper(argv[1], psf->all_caps); 
   resid=strtoupper(argv[2], psf->all_caps);   rc = 0;
   atomname=strtoupper(argv[3], psf->all_caps);   segid = strtoupper(argv[2], psf->all_caps);
   target.segid = segid;   target.segid = segid;
    if (argc == 4) {
      if (!strcasecmp(argv[1], "segid")) {
        rc = topo_mol_set_segid(psf->mol, &target, argv[3]);
      } else {
        Tcl_AppendResult(interp, "Invalid segment attribute: ", argv[1], NULL);
        rc = -1;
      }
    } else {
      resid = strtoupper(argv[3], psf->all_caps);
   target.resid = resid;   target.resid = resid;
   target.aname = atomname;     if (argc == 5) {
   rc = topo_mol_set_vel(psf->mol,&target,vx,vy,vz);       if (!strcasecmp(argv[1], "resname")) {
   free(segid);         rc = topo_mol_set_resname(psf->mol, &target, argv[4]);
   free(resid);       } else {
   free(atomname);         Tcl_AppendResult(interp, "Invalid residue attribute: ", argv[1], NULL);
   if (rc) {         rc = -2;
     Tcl_AppendResult(interp,"ERROR: failed on vel",NULL); 
     psfgen_kill_mol(interp,psf); 
     return TCL_ERROR; 
   }   }
      } else {
   return TCL_OK;       aname = strtoupper(argv[4], psf->all_caps);
        target.aname = aname;
        if (!strcasecmp(argv[1], "name")) {
          rc = topo_mol_set_name(psf->mol, &target, argv[5]);
        } else if (!strcasecmp(argv[1], "mass")) {
          if (sscanf(argv[5], "%lf", &x) != 1 ) {
            Tcl_SetResult(interp, "mass must be float value", TCL_VOLATILE);
            rc = -3;
          }
          if (!rc) rc = topo_mol_set_mass(psf->mol, &target, x);    
        } else if (!strcasecmp(argv[1], "charge")) {
          if (sscanf(argv[5], "%lf", &x) != 1 ) {
            Tcl_SetResult(interp, "charge must be float value", TCL_VOLATILE);
            rc = -3;
          }
          if (!rc) rc = topo_mol_set_charge(psf->mol, &target, x);
        } else if (!strcasecmp(argv[1], "beta")) { 
          if (sscanf(argv[5], "%lf", &x) != 1 ) {
            Tcl_SetResult(interp, "bfactor must be float value", TCL_VOLATILE);
            rc = -3;
          }
          if (!rc) rc = topo_mol_set_bfactor(psf->mol, &target, x); 
        } else if (!strcasecmp(argv[1], "coord")) {
          if ( sscanf(argv[5],"%lf %lf %lf", &x, &y, &z) != 3 ) {  
            Tcl_SetResult(interp, "coord must be 3 float values", TCL_VOLATILE);
            rc = -4;
          }
          if (!rc) rc = topo_mol_set_xyz(psf->mol, &target, x, y, z);
        } else if (!strcasecmp(argv[1], "vel")) {
          if ( sscanf(argv[5],"%lf %lf %lf", &x, &y, &z) != 3 ) {
            Tcl_SetResult(interp, "vel must be 3 float values", TCL_VOLATILE);
            rc = -4;
 } }
          if (!rc) rc = topo_mol_set_vel(psf->mol, &target, x, y, z);
 int tcl_bfactor(ClientData data, Tcl_Interp *interp,       } else {
                                    int argc, CONST84 char *argv[]) {         Tcl_AppendResult(interp, "Invalid atom attribute: ", argv[1], NULL);
   double bfactor;         rc = -5;
   topo_mol_ident_t target; 
   char *segid, *resid, *atomname; 
   int rc; 
   psfgen_data *psf = *(psfgen_data **)data; 
   PSFGEN_TEST_MOL(interp,psf); 
  
   if ( argc < 5 ) { 
     Tcl_SetResult(interp,"arguments: segid resid atomname bfactor",TCL_VOLATILE); 
     psfgen_kill_mol(interp,psf); 
     return TCL_ERROR; 
   }   }
   if ( argc > 5 ) {       free(aname);
     Tcl_SetResult(interp,"too many arguments specified",TCL_VOLATILE); 
     psfgen_kill_mol(interp,psf); 
     return TCL_ERROR; 
   }   }
   if ( sscanf(argv[4],"%lf",&bfactor) != 1 ) {     free(resid);
     Tcl_SetResult(interp,"arguments: segid resid atomname bfactor",TCL_VOLATILE); 
     psfgen_kill_mol(interp,psf); 
     return TCL_ERROR; 
   }   }
   segid=strtoupper(argv[1], psf->all_caps); 
   resid=strtoupper(argv[2], psf->all_caps); 
   atomname=strtoupper(argv[3], psf->all_caps); 
   target.segid = segid; 
   target.resid = resid; 
   target.aname = atomname; 
   rc = topo_mol_set_bfactor(psf->mol,&target,bfactor); 
   free(segid);   free(segid);
   free(resid); 
   free(atomname); 
   if (rc) {   if (rc) {
     Tcl_AppendResult(interp,"ERROR: failed on bfactor",NULL); 
     psfgen_kill_mol(interp,psf);     psfgen_kill_mol(interp,psf);
     return TCL_ERROR;     return TCL_ERROR;
   }   }
  
   return TCL_OK;   return TCL_OK;
 } }
  
  
 int tcl_auto(ClientData data, Tcl_Interp *interp, int tcl_auto(ClientData data, Tcl_Interp *interp,
  int argc, CONST84 char *argv[]) {  int argc, CONST84 char *argv[]) {
   int i, angles, dihedrals;   int i, angles, dihedrals;
Line 2071
Line 2077
   return TCL_OK;   return TCL_OK;
 } }
  
 int tcl_rename_atom(ClientData data, Tcl_Interp *interp, 
                                      int argc, CONST84 char *argv[]) { 
   topo_mol_ident_t target; 
   psfgen_data *psf = *(psfgen_data **)data; 
   PSFGEN_TEST_MOL(interp,psf); 
     
   if ( argc < 5 ) { 
     Tcl_SetResult(interp,"arguments: segid resid aname newaname", TCL_VOLATILE); 
     psfgen_kill_mol(interp,psf); 
     return TCL_ERROR; 
   } 
   
   target.segid = argv[1]; 
   target.resid = argv[2]; 
   target.aname = argv[3]; 
    
   topo_mol_rename_atom(psf->mol, &target, argv[4]); 
  
   return TCL_OK; 
 } 
   
 #endif #endif
  


Legend:
Removed in v.1.31 
changed lines
 Added in v.1.32



Made by using version 1.53 of cvs2html