Changeset 13578 for trunk/ippTools/src/warptoolConfig.c
- Timestamp:
- May 31, 2007, 2:58:32 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/warptoolConfig.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/warptoolConfig.c
r12131 r13578 27 27 #include "warptool.h" 28 28 29 pxConfig *warptoolConfig(pxConfig *config, int argc, char **argv) { 29 pxConfig *warptoolConfig(pxConfig *config, int argc, char **argv) 30 { 30 31 if (!config) { 31 32 config = pxConfigAlloc(); … … 157 158 "search by warptool ID", NULL); 158 159 psMetadataAddStr(warpedArgs, PS_LIST_TAIL, "-skycell_id", 0, 159 "define skycell ID (required)", NULL);160 "define skycell ID", NULL); 160 161 psMetadataAddStr(warpedArgs, PS_LIST_TAIL, "-tess_id", 0, 161 "define tessellation ID (required)", NULL);162 "define tessellation ID", NULL); 162 163 psMetadataAddStr(warpedArgs, PS_LIST_TAIL, "-exp_tag", 0, 163 "define exposure tag (required)", NULL);164 "define exposure tag", NULL); 164 165 psMetadataAddStr(warpedArgs, PS_LIST_TAIL, "-cam_id", 0, 165 "define phase 3 version of exposure tag (required)", NULL);166 "define phase 3 version of exposure tag", NULL); 166 167 psMetadataAddU64(warpedArgs, PS_LIST_TAIL, "-limit", 0, 167 168 "limit result set to N items", 0); … … 171 172 psFree(now); 172 173 173 #define PXTOOL_MODE(option, modeval, argset) \174 { \175 int N = 0; \176 if ((N = psArgumentGet (argc, argv, option))) { \177 psArgumentRemove (N, &argc, argv); \178 if (config->mode) { \179 psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed"); \180 psFree(config); \181 return NULL; \182 } \183 config->mode = modeval; \184 config->args = psMemIncrRefCounter(argset); \185 } \186 if (!psMetadataAddMetadata(argSets, PS_LIST_TAIL, option, 0, NULL, argset)) {;\187 psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option); \188 } \189 psFree(argset); \190 }191 192 174 psMetadata *argSets = psMetadataAlloc(); 193 // find which mode we're running under 194 PXTOOL_MODE("-definerun", WARPTOOL_MODE_DEFINERUN, definerunArgs); 195 PXTOOL_MODE("-updaterun", WARPTOOL_MODE_UPDATERUN, updaterunArgs); 196 PXTOOL_MODE("-addinputexp", WARPTOOL_MODE_ADDINPUTEXP, addinputexpArgs); 197 PXTOOL_MODE("-exp", WARPTOOL_MODE_EXP, expArgs); 198 PXTOOL_MODE("-imfile", WARPTOOL_MODE_IMFILE, imfileArgs); 199 PXTOOL_MODE("-tooverlap", WARPTOOL_MODE_TOOVERLAP, tooverlapArgs); 200 PXTOOL_MODE("-addoverlap", WARPTOOL_MODE_ADDOVERLAP, addoverlapArgs); 201 PXTOOL_MODE("-scmap", WARPTOOL_MODE_SCMAP, scmapArgs); 202 PXTOOL_MODE("-towarped", WARPTOOL_MODE_TOWARPED, towarpedArgs); 203 PXTOOL_MODE("-addwarped", WARPTOOL_MODE_ADDWARPED, addwarpedArgs); 204 PXTOOL_MODE("-warped", WARPTOOL_MODE_WARPED, warpedArgs); 175 psMetadata *modes = psMetadataAlloc(); 176 177 PXTOOL_ADD_MODE("-definerun", "", WARPTOOL_MODE_DEFINERUN, definerunArgs); 178 PXTOOL_ADD_MODE("-updaterun", "", WARPTOOL_MODE_UPDATERUN, updaterunArgs); 179 PXTOOL_ADD_MODE("-addinputexp", "", WARPTOOL_MODE_ADDINPUTEXP, addinputexpArgs); 180 PXTOOL_ADD_MODE("-exp", "", WARPTOOL_MODE_EXP, expArgs); 181 PXTOOL_ADD_MODE("-imfile", "", WARPTOOL_MODE_IMFILE, imfileArgs); 182 PXTOOL_ADD_MODE("-tooverlap", "", WARPTOOL_MODE_TOOVERLAP, tooverlapArgs); 183 PXTOOL_ADD_MODE("-addoverlap", "", WARPTOOL_MODE_ADDOVERLAP, addoverlapArgs); 184 PXTOOL_ADD_MODE("-scmap", "", WARPTOOL_MODE_SCMAP, scmapArgs); 185 PXTOOL_ADD_MODE("-towarped", "", WARPTOOL_MODE_TOWARPED, towarpedArgs); 186 PXTOOL_ADD_MODE("-addwarped", "", WARPTOOL_MODE_ADDWARPED, addwarpedArgs); 187 PXTOOL_ADD_MODE("-warped", "", WARPTOOL_MODE_WARPED, warpedArgs); 205 188 #if 0 206 PXTOOL_ MODE("-tostackedimfile", WARPTOOL_MODE_TOSTACKEDIMFILE, tostackedimfileArgs);207 PXTOOL_ MODE("-addstackedimfile", WARPTOOL_MODE_ADDSTACKEDIMFILE, addstackedimfileArgs);208 PXTOOL_ MODE("-stackedimfile", WARPTOOL_MODE_STACKEDIMFILE, stackedimfileArgs);209 PXTOOL_ MODE("-todiffimfile", WARPTOOL_MODE_TODIFFIMFILE, todiffimfileArgs);210 PXTOOL_ MODE("-adddiffimfile", WARPTOOL_MODE_ADDDIFFIMFILE, adddiffimfileArgs);211 PXTOOL_ MODE("-diffimfile", WARPTOOL_MODE_DIFFIMFILE, diffimfileArgs);189 PXTOOL_ADD_MODE("-tostackedimfile", WARPTOOL_MODE_TOSTACKEDIMFILE, tostackedimfileArgs); 190 PXTOOL_ADD_MODE("-addstackedimfile", WARPTOOL_MODE_ADDSTACKEDIMFILE, addstackedimfileArgs); 191 PXTOOL_ADD_MODE("-stackedimfile", WARPTOOL_MODE_STACKEDIMFILE, stackedimfileArgs); 192 PXTOOL_ADD_MODE("-todiffimfile", WARPTOOL_MODE_TODIFFIMFILE, todiffimfileArgs); 193 PXTOOL_ADD_MODE("-adddiffimfile", WARPTOOL_MODE_ADDDIFFIMFILE, adddiffimfileArgs); 194 PXTOOL_ADD_MODE("-diffimfile", WARPTOOL_MODE_DIFFIMFILE, diffimfileArgs); 212 195 #endif 213 196 214 bool argErr = false; 215 if (config->mode == WARPTOOL_MODE_NONE) { 216 argErr = true; 217 fprintf (stderr, "mode argument is required\n"); 218 } else if (! psArgumentParse(config->args, &argc, argv) || argc != 1) { 219 argErr = true; 220 fprintf (stderr, "error parsing arguments\n"); 221 } 222 223 if (argErr) { 224 printf("\nPan-STARRS Warp Tool\n"); 225 printf("Usage: %s <mode> [<options>]\n\n", argv[0]); 226 printf(" <mode> :\n\n"); 227 228 psMetadataIterator *iter = psMetadataIteratorAlloc(argSets, 0, NULL); 229 psMetadataItem *item = NULL; 230 while ((item = psMetadataGetAndIncrement(iter))) { 231 if (!item->type == PS_DATA_METADATA) { 232 psAbort("all options must be specified as a metadata"); 233 } 234 235 fprintf(stdout, "%s ", item->name); 236 psArgumentHelp(item->data.md); 237 } 238 psFree(iter); 239 197 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { 198 psError(PS_ERR_UNKNOWN, true, "option parsing failed"); 240 199 psFree(argSets); 200 psFree(modes); 241 201 psFree(config); 242 202 return NULL; … … 244 204 245 205 psFree(argSets); 206 psFree(modes); 246 207 247 208 // setup search criterion … … 306 267 } 307 268 308 // save argv/argc309 config->argv = argv;310 config->argc = argc;311 312 269 return config; 313 270 }
Note:
See TracChangeset
for help on using the changeset viewer.
