--- trunk/src/applications/dump2Xyz/Dump2XYZCmd.c 2004/09/28 23:24:25 12 +++ trunk/src/applications/dump2Xyz/Dump2XYZCmd.c 2005/02/07 21:11:22 302 @@ -1,7 +1,7 @@ /* File autogenerated by gengetopt version 2.11 generated with the following command: - /home/maul/gezelter/tim/program/gengetopt-2.11/src/gengetopt --file-name=Dump2XYZCmd + /home/maul/gezelter/tim/bin/gengetopt -F Dump2XYZCmd The developers of gengetopt consider the fixed text that goes in all gengetopt output files to be in the public domain: @@ -18,10 +18,9 @@ #include "config.h" #endif - #include "getopt.h" -#include "applications/dump2Xyz/Dump2XYZCmd.h" +#include "Dump2XYZCmd.h" void cmdline_parser_print_version (void) @@ -36,21 +35,29 @@ cmdline_parser_print_help (void) printf("\n" "Usage: %s [OPTIONS]...\n", CMDLINE_PARSER_PACKAGE); printf("\n"); - printf(" -h, --help Print help and exit\n"); - printf(" -V, --version Print version and exit\n"); - printf(" -i, --input=filename input dump file\n"); - printf(" -o, --output=filename output file name\n"); - printf(" -n, --frame=INT print every n frame (default=`1')\n"); - printf(" -d, --dipole print the dipole moments (default=off)\n"); - printf(" -w, --water skip the the waters (default=off)\n"); - printf(" -m, --periodicBox map to the periodic box (default=off)\n"); - printf(" -z, --zconstraint replace the atom types of zconstraint molecules \n (default=off)\n"); - printf(" -r, --rigidbody add a pseudo COM atom to rigidbody (default=off)\n"); - printf(" -t, --watertype replace the atom type of water model (default=on)\n"); - printf(" -s, --ignore=atomtype ignore the atom types\n"); - printf(" --repeatX=INT The number of images to repeat in the x direction \n (default=`0')\n"); - printf(" --repeatY=INT The number of images to repeat in the y direction \n (default=`0')\n"); - printf(" --repeatZ=INT The number of images to repeat in the z direction \n (default=`0')\n"); + printf(" -h, --help Print help and exit\n"); + printf(" -V, --version Print version and exit\n"); + printf(" -i, --input=filename input dump file\n"); + printf(" -o, --output=filename output file name\n"); + printf(" -n, --frame=INT print every n frame (default=`1')\n"); + printf(" -d, --dipole print the dipole moments (default=off)\n"); + printf(" -w, --water skip the the waters (default=off)\n"); + printf(" -m, --periodicBox map to the periodic box (default=off)\n"); + printf(" -z, --zconstraint replace the atom types of zconstraint \n molecules (default=off)\n"); + printf(" -r, --rigidbody add a pseudo COM atom to rigidbody \n (default=off)\n"); + printf(" -t, --watertype replace the atom type of water model \n (default=on)\n"); + printf(" -g, --ignore=atomtype ignore the atom types\n"); + printf(" -s, --selection=selection script selection syntax:\n" + " select DMPC -- select DMPC molecule\n" + " select DMPC.* -- select all atoms and all rigidbodies belong to DMPC molecule(same as above)\n" + " select not DMPC -- select all atoms and all rigidbodies do not belong to DMPC molecule\n" + " select C* and 4 to 7 -- select stuntdoubles which match C* and which index is between [4, 7)\n" + " select 5 -- select stuntdobule whose global index is 5\n" + " select within (5.0, HDP or PO4) -- select stuntdoubles which is within 5 A to HDP or PO4\n" + " select DMPC.DMPC_RB_*.* --select atoms belong to rigid body inside DMPC molecule \n"); + printf(" --repeatX=INT The number of images to repeat in the x \n direction (default=`0')\n"); + printf(" --repeatY=INT The number of images to repeat in the y \n direction (default=`0')\n"); + printf(" --repeatZ=INT The number of images to repeat in the z \n direction (default=`0')\n"); } @@ -94,6 +101,7 @@ cmdline_parser (int argc, char * const *argv, struct g args_info->rigidbody_given = 0 ; args_info->watertype_given = 0 ; args_info->ignore_given = 0 ; + args_info->selection_given = 0 ; args_info->repeatX_given = 0 ; args_info->repeatY_given = 0 ; args_info->repeatZ_given = 0 ; @@ -108,6 +116,7 @@ cmdline_parser (int argc, char * const *argv, struct g args_info->rigidbody_flag = 0;\ args_info->watertype_flag = 1;\ args_info->ignore_arg = NULL; \ + args_info->selection_arg = NULL; \ args_info->repeatX_arg = 0 ;\ args_info->repeatY_arg = 0 ;\ args_info->repeatZ_arg = 0 ;\ @@ -137,7 +146,8 @@ cmdline_parser (int argc, char * const *argv, struct g { "zconstraint", 0, NULL, 'z' }, { "rigidbody", 0, NULL, 'r' }, { "watertype", 0, NULL, 't' }, - { "ignore", 1, NULL, 's' }, + { "ignore", 1, NULL, 'g' }, + { "selection", 1, NULL, 's' }, { "repeatX", 1, NULL, 0 }, { "repeatY", 1, NULL, 0 }, { "repeatZ", 1, NULL, 0 }, @@ -145,7 +155,7 @@ cmdline_parser (int argc, char * const *argv, struct g }; stop_char = 0; - c = getopt_long (argc, argv, "hVi:o:n:dwmzrts:", long_options, &option_index); + c = getopt_long (argc, argv, "hVi:o:n:dwmzrtg:s:", long_options, &option_index); if (c == -1) break; /* Exit from `while (1)' loop. */ @@ -260,7 +270,7 @@ cmdline_parser (int argc, char * const *argv, struct g args_info->watertype_flag = !(args_info->watertype_flag); break; - case 's': /* ignore the atom types. */ + case 'g': /* ignore the atom types. */ args_info->ignore_given++; ignore_new = (struct ignore_list *) malloc (sizeof (struct ignore_list)); ignore_new->next = ignore_list; @@ -268,7 +278,23 @@ cmdline_parser (int argc, char * const *argv, struct g ignore_new->ignore_arg = gengetopt_strdup (optarg); break; + case 's': /* general selection syntax:\n +select DMPC -- select DMPC molecule\n \ +select DMPC.* -- select all atoms and all rigidbodies belong to DMPC molecule\n \ +select 5 -- select stuntdobule whose global index is 5\n \ +select within (5.0, HDP or PO4) -- select stuntdoubles which is within 5 A to HDP or PO4\n \ +select DMPC.DMPC_RB_*.* --select atoms belong to rigid body inside DMPC molecule . */ + if (args_info->selection_given) + { + fprintf (stderr, "%s: `--selection' (`-s') option given more than once\n", CMDLINE_PARSER_PACKAGE); + clear_args (); + exit (EXIT_FAILURE); + } + args_info->selection_given = 1; + args_info->selection_arg = gengetopt_strdup (optarg); + break; + case 0: /* Long option with no short option */ /* The number of images to repeat in the x direction. */ if (strcmp (long_options[option_index].name, "repeatX") == 0)