--- trunk/src/applications/dump2Xyz/Dump2XYZCmd.c 2004/09/28 23:24:25 12 +++ trunk/src/applications/dump2Xyz/Dump2XYZCmd.c 2005/02/18 23:07:32 369 @@ -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,32 @@ 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.3 -- select stuntdouble which internal index is 3\n" + " select DMPC.DMPC_RB_*.* --select atoms belong to rigid body inside DMPC molecule \n"); + printf(" --originsele=selection script select origin\n"); + printf(" --refsele=selection script select reference\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 +104,9 @@ 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->originsele_given = 0 ; + args_info->refsele_given = 0 ; args_info->repeatX_given = 0 ; args_info->repeatY_given = 0 ; args_info->repeatZ_given = 0 ; @@ -108,6 +121,9 @@ 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->originsele_arg = NULL; \ + args_info->refsele_arg = NULL; \ args_info->repeatX_arg = 0 ;\ args_info->repeatY_arg = 0 ;\ args_info->repeatZ_arg = 0 ;\ @@ -137,7 +153,10 @@ 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' }, + { "originsele", 1, NULL, 0 }, + { "refsele", 1, NULL, 0 }, { "repeatX", 1, NULL, 0 }, { "repeatY", 1, NULL, 0 }, { "repeatZ", 1, NULL, 0 }, @@ -145,7 +164,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 +279,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,10 +287,49 @@ cmdline_parser (int argc, char * const *argv, struct g ignore_new->ignore_arg = gengetopt_strdup (optarg); break; + case 's': /* general selection syntax(now only support select atoms within a specified range). */ + 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 */ + /* select origin. */ + if (strcmp (long_options[option_index].name, "originsele") == 0) + { + if (args_info->originsele_given) + { + fprintf (stderr, "%s: `--originsele' option given more than once\n", CMDLINE_PARSER_PACKAGE); + clear_args (); + exit (EXIT_FAILURE); + } + args_info->originsele_given = 1; + args_info->originsele_arg = gengetopt_strdup (optarg); + break; + } + + /* select reference. */ + else if (strcmp (long_options[option_index].name, "refsele") == 0) + { + if (args_info->refsele_given) + { + fprintf (stderr, "%s: `--refsele' option given more than once\n", CMDLINE_PARSER_PACKAGE); + clear_args (); + exit (EXIT_FAILURE); + } + args_info->refsele_given = 1; + args_info->refsele_arg = gengetopt_strdup (optarg); + break; + } + /* The number of images to repeat in the x direction. */ - if (strcmp (long_options[option_index].name, "repeatX") == 0) + else if (strcmp (long_options[option_index].name, "repeatX") == 0) { if (args_info->repeatX_given) {