OSDN Git Service

Stirng.h -> eosString.h
[eos/base.git] / src / Tools / mrcImage / mrcImageUnbentROI / src / argCheck.c
index 18e99f0..c743d40 100755 (executable)
@@ -56,3 +56,129 @@ argCheck(mrcImageUnbentROIInfo* info, int argc, char* argv[])
                         int j, nv, check, count, nitem;
                         nv    = argc - i - 1;
                         nitem = 1 ;
+                        check = nv%nitem ;
+                        count = nv/nitem ;
+                        if(0!=check) { fprintf(stderr, "Variable Number is strange. The number must be %d-times. nv: %d i\n", nitem, nv); usage(argv[0]); exit(EXIT_FAILURE);} 
+                        info->roiLine = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        for(j=0; j<count; j++) {
+                            info->roiLine[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagroiLine=count;
+                        }
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("x") {
+                    if(i+1<argc) {
+                        info->x = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagx++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("y") {
+                    if(i+1<argc) {
+                        info->y = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagy++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("W") {
+                    if(i+1<argc) {
+                        info->Width = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagWidth++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("H") {
+                    if(i+1<argc) {
+                        info->Height = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagHeight++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("cor") {
+                    if(i+1<argc) {
+                        info->Cor = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagCor++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("S") {
+                    if(i+1<argc) {
+                        info->Shrink = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagShrink++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("c") {
+                    if(i+1<argc) {
+                        info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagconfigFile++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("m") {
+                    if(i+1<argc) {
+                        info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmode++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("h") {
+                    usage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SCASE("html") {
+                    htmlBeforeUsage(argv[0]);
+                    usage(argv[0]);
+                    htmlAfterUsage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SDEFAULT {
+                    fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
+                    usage(argv[0]);
+                    exit(EXIT_FAILURE);
+                    break;
+                }
+            SSWITCHEND;
+        } 
+    } 
+}