ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/applications/staticProps/StaticPropsCmd.c
(Generate patch)

Comparing trunk/OOPSE-4/src/applications/staticProps/StaticPropsCmd.c (file contents):
Revision 3127 by chuckv, Fri Nov 10 18:45:29 2006 UTC vs.
Revision 3128 by chuckv, Wed Apr 11 23:27:20 2007 UTC

# Line 1 | Line 1
1   /*
2 <  File autogenerated by gengetopt version 2.15
2 >  File autogenerated by gengetopt version 2.19.1
3    generated with the following command:
4 <  gengetopt -i StaticProps.ggo -F StaticPropsCmd
4 >  gengetopt -i StaticProps.ggo -F StaticPropsCmd -u
5  
6    The developers of gengetopt consider the fixed text that goes in all
7    gengetopt output files to be in the public domain:
# Line 21 | Line 21 | static
21  
22   #include "StaticPropsCmd.h"
23  
24 + const char *gengetopt_args_info_purpose = "";
25 +
26 + const char *gengetopt_args_info_usage = "Usage: StaticProps [OPTIONS]... [FILES]...";
27 +
28 + const char *gengetopt_args_info_description = "";
29 +
30 + const char *gengetopt_args_info_help[] = {
31 +  "  -h, --help                    Print help and exit",
32 +  "  -V, --version                 Print version and exit",
33 +  "  -i, --input=filename          input dump file",
34 +  "  -o, --output=filename         output file name",
35 +  "  -n, --step=INT                process every n frame  (default=`1')",
36 +  "  -b, --nbins=INT               number of bins (general purpose)  \n                                  (default=`100')",
37 +  "  -x, --nbins_x=INT             number of bins in x axis  (default=`100')",
38 +  "  -y, --nbins_y=INT             number of bins in y axis  (default=`100')",
39 +  "  -a, --nanglebins=INT          number of bins for cos(angle)  (default=`50')",
40 +  "      --length=DOUBLE           maximum length (Defaults to 1/2 smallest length \n                                  of first frame)",
41 +  "  -c, --rcut=DOUBLE             cutoff radius (rcut)",
42 +  "  -z, --zoffset=DOUBLE          Where to set the zero for the slab_density \n                                  calculation  (default=`0')",
43 +  "      --sele1=selection script  select the first stuntdouble set",
44 +  "      --sele2=selection script  select the second stuntdouble set",
45 +  "      --sele3=selection script  select the third stuntdouble set",
46 +  "      --refsele=selection script\n                                select reference (use and only use with --gxyz)",
47 +  "      --molname=STRING          molecule name",
48 +  "      --begin=INT               begin internal index",
49 +  "      --end=INT                 end internal index",
50 +  "      --radius=DOUBLE           nanoparticle radius",
51 +  "\n Group: staticProps\n   an option of this group is required",
52 +  "      --bo                      bond order parameter (--rcut must be specified)",
53 +  "      --bor                     bond order parameter as a function of radius \n                                  (--rcut must be specified)",
54 +  "  -g, --gofr                    g(r)",
55 +  "      --r_theta                 g(r, cos(theta))",
56 +  "      --r_omega                 g(r, cos(omega))",
57 +  "      --theta_omega             g(cos(theta), cos(omega))",
58 +  "      --gxyz                    g(x, y, z)",
59 +  "  -p, --p2                      p2 order parameter (--sele1 and --sele2 must be \n                                  specified)",
60 +  "      --rp2                     rp2 order parameter (--sele1 and --sele2 must \n                                  be specified)",
61 +  "  -s, --scd                     scd order parameter (either --sele1, --sele2, \n                                  --sele3 are specified or --molname, --begin, \n                                  --end are specified)",
62 +  "  -d, --density                 density plot",
63 +  "      --slab_density            slab density",
64 +  "      --hxy                     hxy",
65 +  "      --rho_r                   rho of R",
66 +    0
67 + };
68 +
69   static
70   void clear_given (struct gengetopt_args_info *args_info);
71   static
# Line 59 | Line 104 | void clear_given (struct gengetopt_args_info *args_inf
104    args_info->end_given = 0 ;
105    args_info->radius_given = 0 ;
106    args_info->bo_given = 0 ;
107 +  args_info->bor_given = 0 ;
108    args_info->gofr_given = 0 ;
109    args_info->r_theta_given = 0 ;
110    args_info->r_omega_given = 0 ;
# Line 111 | Line 157 | void
157    
158   }
159  
160 + static
161 + void init_args_info(struct gengetopt_args_info *args_info)
162 + {
163 +  args_info->help_help = gengetopt_args_info_help[0] ;
164 +  args_info->version_help = gengetopt_args_info_help[1] ;
165 +  args_info->input_help = gengetopt_args_info_help[2] ;
166 +  args_info->output_help = gengetopt_args_info_help[3] ;
167 +  args_info->step_help = gengetopt_args_info_help[4] ;
168 +  args_info->nbins_help = gengetopt_args_info_help[5] ;
169 +  args_info->nbins_x_help = gengetopt_args_info_help[6] ;
170 +  args_info->nbins_y_help = gengetopt_args_info_help[7] ;
171 +  args_info->nanglebins_help = gengetopt_args_info_help[8] ;
172 +  args_info->length_help = gengetopt_args_info_help[9] ;
173 +  args_info->rcut_help = gengetopt_args_info_help[10] ;
174 +  args_info->zoffset_help = gengetopt_args_info_help[11] ;
175 +  args_info->sele1_help = gengetopt_args_info_help[12] ;
176 +  args_info->sele2_help = gengetopt_args_info_help[13] ;
177 +  args_info->sele3_help = gengetopt_args_info_help[14] ;
178 +  args_info->refsele_help = gengetopt_args_info_help[15] ;
179 +  args_info->molname_help = gengetopt_args_info_help[16] ;
180 +  args_info->begin_help = gengetopt_args_info_help[17] ;
181 +  args_info->end_help = gengetopt_args_info_help[18] ;
182 +  args_info->radius_help = gengetopt_args_info_help[19] ;
183 +  args_info->bo_help = gengetopt_args_info_help[20] ;
184 +  args_info->bor_help = gengetopt_args_info_help[21] ;
185 +  args_info->gofr_help = gengetopt_args_info_help[22] ;
186 +  args_info->r_theta_help = gengetopt_args_info_help[23] ;
187 +  args_info->r_omega_help = gengetopt_args_info_help[24] ;
188 +  args_info->theta_omega_help = gengetopt_args_info_help[25] ;
189 +  args_info->gxyz_help = gengetopt_args_info_help[26] ;
190 +  args_info->p2_help = gengetopt_args_info_help[27] ;
191 +  args_info->rp2_help = gengetopt_args_info_help[28] ;
192 +  args_info->scd_help = gengetopt_args_info_help[29] ;
193 +  args_info->density_help = gengetopt_args_info_help[30] ;
194 +  args_info->slab_density_help = gengetopt_args_info_help[31] ;
195 +  args_info->hxy_help = gengetopt_args_info_help[32] ;
196 +  args_info->rho_r_help = gengetopt_args_info_help[33] ;
197 +  
198 + }
199 +
200   void
201   cmdline_parser_print_version (void)
202   {
# Line 120 | Line 206 | cmdline_parser_print_help (void)
206   void
207   cmdline_parser_print_help (void)
208   {
209 +  int i = 0;
210    cmdline_parser_print_version ();
211 <  printf("\nUsage: StaticProps [OPTIONS]...\n\n");
212 <  printf("%s\n","  -h, --help                    Print help and exit");
213 <  printf("%s\n","  -V, --version                 Print version and exit");
214 <  printf("%s\n","  -i, --input=filename          input dump file");
215 <  printf("%s\n","  -o, --output=filename         output file name");
216 <  printf("%s\n","  -n, --step=INT                process every n frame  (default=`1')");
217 <  printf("%s\n","  -b, --nbins=INT               number of bins (general purpose)  \n                                  (default=`100')");
218 <  printf("%s\n","  -x, --nbins_x=INT             number of bins in x axis  (default=`100')");
219 <  printf("%s\n","  -y, --nbins_y=INT             number of bins in y axis  (default=`100')");
220 <  printf("%s\n","  -a, --nanglebins=INT          number of bins for cos(angle)  (default=`50')");
221 <  printf("%s\n","      --length=DOUBLE           maximum length (Defaults to 1/2 smallest length \n                                  of first frame)");
135 <  printf("%s\n","  -c, --rcut=DOUBLE             cutoff radius (rcut)");
136 <  printf("%s\n","  -z, --zoffset=DOUBLE          Where to set the zero for the slab_density \n                                  calculation  (default=`0')");
137 <  printf("%s\n","      --sele1=selection script  select the first stuntdouble set");
138 <  printf("%s\n","      --sele2=selection script  select the second stuntdouble set");
139 <  printf("%s\n","      --sele3=selection script  select the third stuntdouble set");
140 <  printf("%s\n","      --refsele=selection script\n                                select reference (use and only use with --gxyz)");
141 <  printf("%s\n","      --molname=STRING          molecule name");
142 <  printf("%s\n","      --begin=INT               begin internal index");
143 <  printf("%s\n","      --end=INT                 end internal index");
144 <  printf("%s\n","      --radius=DOUBLE           nanoparticle radius");
145 <  printf("%s\n","\n Group: staticProps\n   an option of this group is required");
146 <  printf("%s\n","      --bo                      bond order parameter (--rcut must be specified");
147 <  printf("%s\n","  -g, --gofr                    g(r)");
148 <  printf("%s\n","      --r_theta                 g(r, cos(theta))");
149 <  printf("%s\n","      --r_omega                 g(r, cos(omega))");
150 <  printf("%s\n","      --theta_omega             g(cos(theta), cos(omega))");
151 <  printf("%s\n","      --gxyz                    g(x, y, z)");
152 <  printf("%s\n","  -p, --p2                      p2 order parameter (--sele1 and --sele2 must be \n                                  specified)");
153 <  printf("%s\n","      --rp2                     rp2 order parameter (--sele1 and --sele2 must \n                                  be specified)");
154 <  printf("%s\n","  -s, --scd                     scd order parameter (either --sele1, --sele2, \n                                  --sele3 are specified or --molname, --begin, \n                                  --end are specified)");
155 <  printf("%s\n","  -d, --density                 density plot");
156 <  printf("%s\n","      --slab_density            slab density");
157 <  printf("%s\n","      --hxy                     hxy");
158 <  printf("%s\n","      --rho_r                   rho of R");
159 <  
211 >
212 >  if (strlen(gengetopt_args_info_purpose) > 0)
213 >    printf("\n%s\n", gengetopt_args_info_purpose);
214 >
215 >  printf("\n%s\n\n", gengetopt_args_info_usage);
216 >
217 >  if (strlen(gengetopt_args_info_description) > 0)
218 >    printf("%s\n", gengetopt_args_info_description);
219 >
220 >  while (gengetopt_args_info_help[i])
221 >    printf("%s\n", gengetopt_args_info_help[i++]);
222   }
223  
224   void
# Line 164 | Line 226 | cmdline_parser_init (struct gengetopt_args_info *args_
226   {
227    clear_given (args_info);
228    clear_args (args_info);
229 +  init_args_info (args_info);
230 +
231 +  args_info->inputs = NULL;
232 +  args_info->inputs_num = 0;
233   }
234  
235   static void
236   cmdline_parser_release (struct gengetopt_args_info *args_info)
237   {
238    
239 +  unsigned int i;
240    if (args_info->input_arg)
241      {
242        free (args_info->input_arg); /* free previous argument */
# Line 295 | Line 362 | cmdline_parser_release (struct gengetopt_args_info *ar
362        free (args_info->radius_orig); /* free previous argument */
363        args_info->radius_orig = 0;
364      }
365 +  
366 +  for (i = 0; i < args_info->inputs_num; ++i)
367 +    free (args_info->inputs [i]);
368 +  
369 +  if (args_info->inputs_num)
370 +    free (args_info->inputs);
371    
372    clear_given (args_info);
373   }
# Line 448 | Line 521 | cmdline_parser_file_save(const char *filename, struct
521    if (args_info->bo_given) {
522      fprintf(outfile, "%s\n", "bo");
523    }
524 +  if (args_info->bor_given) {
525 +    fprintf(outfile, "%s\n", "bor");
526 +  }
527    if (args_info->gofr_given) {
528      fprintf(outfile, "%s\n", "gofr");
529    }
# Line 524 | Line 600 | reset_group_staticProps(struct gengetopt_args_info *ar
600      return;
601    
602    args_info->bo_given = 0 ;
603 +  args_info->bor_given = 0 ;
604    args_info->gofr_given = 0 ;
605    args_info->r_theta_given = 0 ;
606    args_info->r_omega_given = 0 ;
# Line 584 | Line 661 | cmdline_parser_required2 (struct gengetopt_args_info *
661   {
662    int error = 0;
663  
664 +  /* checks for required options */
665    if (! args_info->input_given)
666      {
667        fprintf (stderr, "%s: '--input' ('-i') option required%s\n", prog_name, (additional_error ? additional_error : ""));
668        error = 1;
669      }
670 +  
671    if (args_info->staticProps_group_counter == 0)
672      {
673        fprintf (stderr, "%s: %d options of group staticProps were given. One is required.%s\n", prog_name, args_info->staticProps_group_counter, (additional_error ? additional_error : ""));
# Line 596 | Line 675 | cmdline_parser_required2 (struct gengetopt_args_info *
675      }
676    
677  
678 +  /* checks for dependences among options */
679 +
680    return error;
681   }
682  
# Line 613 | Line 694 | cmdline_parser_internal (int argc, char * const *argv,
694    cmdline_parser_init (&local_args_info);
695  
696    optarg = 0;
697 <  optind = 1;
697 >  optind = 0;
698    opterr = 1;
699    optopt = '?';
700  
# Line 644 | Line 725 | cmdline_parser_internal (int argc, char * const *argv,
725          { "end",        1, NULL, 0 },
726          { "radius",     1, NULL, 0 },
727          { "bo", 0, NULL, 0 },
728 +        { "bor",        0, NULL, 0 },
729          { "gofr",       0, NULL, 'g' },
730          { "r_theta",    0, NULL, 0 },
731          { "r_omega",    0, NULL, 0 },
# Line 1093 | Line 1175 | cmdline_parser_internal (int argc, char * const *argv,
1175                free (args_info->radius_orig); /* free previous string */
1176              args_info->radius_orig = gengetopt_strdup (optarg);
1177            }
1178 <          /* bond order parameter (--rcut must be specified.  */
1178 >          /* bond order parameter (--rcut must be specified).  */
1179            else if (strcmp (long_options[option_index].name, "bo") == 0)
1180            {
1181              if (local_args_info.bo_given)
# Line 1105 | Line 1187 | cmdline_parser_internal (int argc, char * const *argv,
1187                continue;
1188              local_args_info.bo_given = 1;
1189              args_info->bo_given = 1;
1190 +            if (args_info->staticProps_group_counter && override)
1191 +              reset_group_staticProps (args_info);
1192 +            args_info->staticProps_group_counter += 1;
1193 +            break;
1194 +          }
1195 +          /* bond order parameter as a function of radius (--rcut must be specified).  */
1196 +          else if (strcmp (long_options[option_index].name, "bor") == 0)
1197 +          {
1198 +            if (local_args_info.bor_given)
1199 +              {
1200 +                fprintf (stderr, "%s: `--bor' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1201 +                goto failure;
1202 +              }
1203 +            if (args_info->bor_given && ! override)
1204 +              continue;
1205 +            local_args_info.bor_given = 1;
1206 +            args_info->bor_given = 1;
1207              if (args_info->staticProps_group_counter && override)
1208                reset_group_staticProps (args_info);
1209              args_info->staticProps_group_counter += 1;
# Line 1276 | Line 1375 | cmdline_parser_internal (int argc, char * const *argv,
1375    if ( error )
1376      return (EXIT_FAILURE);
1377  
1378 +  if (optind < argc)
1379 +    {
1380 +      int i = 0 ;
1381 +      int found_prog_name = 0;
1382 +      /* whether program name, i.e., argv[0], is in the remaining args
1383 +         (this may happen with some implementations of getopt,
1384 +          but surely not with the one included by gengetopt) */
1385 +
1386 +      i = optind;
1387 +      while (i < argc)
1388 +        if (argv[i++] == argv[0]) {
1389 +          found_prog_name = 1;
1390 +          break;
1391 +        }
1392 +      i = 0;
1393 +
1394 +      args_info->inputs_num = argc - optind - found_prog_name;
1395 +      args_info->inputs =
1396 +        (char **)(malloc ((args_info->inputs_num)*sizeof(char *))) ;
1397 +      while (optind < argc)
1398 +        if (argv[optind++] != argv[0])
1399 +          args_info->inputs[ i++ ] = gengetopt_strdup (argv[optind-1]) ;
1400 +    }
1401 +
1402    return 0;
1403  
1404   failure:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines