Changeset 40238
- Timestamp:
- Dec 4, 2017, 9:10:55 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ohana.20170822/src/opihi/cmd.data/limits.c
r31160 r40238 3 3 int limits (int argc, char **argv) { 4 4 5 int N, APPLY,dX, dY;5 int N, dX, dY; 6 6 int kapa; 7 char *name;8 7 Graphdata graphmode; 9 8 Vector *xvec, *yvec; … … 11 10 xvec = yvec = NULL; 12 11 13 APPLY = FALSE; 12 float minLimitX = NAN; 13 float minLimitY = NAN; 14 float maxLimitX = NAN; 15 float maxLimitY = NAN; 16 float delLimitX = NAN; 17 float delLimitY = NAN; 18 19 if ((N = get_argument (argc, argv, "-minX"))) { 20 remove_argument (N, &argc, argv); 21 minLimitX = atof (argv[N]); 22 remove_argument (N, &argc, argv); 23 } 24 if ((N = get_argument (argc, argv, "-maxX"))) { 25 remove_argument (N, &argc, argv); 26 maxLimitX = atof (argv[N]); 27 remove_argument (N, &argc, argv); 28 } 29 if ((N = get_argument (argc, argv, "-delX"))) { 30 if (!isnan(minLimitX) || !isnan(maxLimitX)) { 31 gprint (GP_ERR, "-minX & -maxX cannot be mixed with -delX\n"); 32 return (FALSE); 33 } 34 remove_argument (N, &argc, argv); 35 delLimitX = atof (argv[N]); 36 remove_argument (N, &argc, argv); 37 } 38 if ((N = get_argument (argc, argv, "-minY"))) { 39 remove_argument (N, &argc, argv); 40 minLimitY = atof (argv[N]); 41 remove_argument (N, &argc, argv); 42 } 43 if ((N = get_argument (argc, argv, "-maxY"))) { 44 remove_argument (N, &argc, argv); 45 maxLimitY = atof (argv[N]); 46 remove_argument (N, &argc, argv); 47 } 48 if ((N = get_argument (argc, argv, "-delY"))) { 49 if (!isnan(minLimitY) || !isnan(maxLimitY)) { 50 gprint (GP_ERR, "-minY & -maxY cannot be mixed with -delY\n"); 51 return (FALSE); 52 } 53 remove_argument (N, &argc, argv); 54 delLimitY = atof (argv[N]); 55 remove_argument (N, &argc, argv); 56 } 57 58 int APPLY = FALSE; 14 59 if ((N = get_argument (argc, argv, "-a"))) { 15 60 remove_argument (N, &argc, argv); 16 61 APPLY = TRUE; 17 62 } 18 name = NULL;63 char *name = NULL; 19 64 if ((N = get_argument (argc, argv, "-n"))) { 20 65 remove_argument (N, &argc, argv); … … 22 67 remove_argument (N, &argc, argv); 23 68 } 69 24 70 if (!GetGraph (&graphmode, &kapa, name)) return (FALSE); 25 71 FREE (name); … … 97 143 success: 98 144 SetLimits (xvec, yvec, &graphmode); 145 146 if (!isnan(minLimitX)) graphmode.xmin = MIN (minLimitX, graphmode.xmin); 147 if (!isnan(maxLimitX)) graphmode.xmax = MAX (maxLimitX, graphmode.xmax); 148 if (!isnan(minLimitY)) graphmode.ymin = MIN (minLimitY, graphmode.ymin); 149 if (!isnan(maxLimitY)) graphmode.ymax = MAX (maxLimitY, graphmode.ymax); 150 151 if (!isnan(delLimitX)) { 152 float delta = graphmode.xmax - graphmode.xmin; 153 if (fabs(delLimitX) > fabs(delta)) { 154 float midpt = 0.5*(graphmode.xmax + graphmode.xmin); 155 graphmode.xmax = midpt + 0.5*delLimitX; 156 graphmode.xmin = midpt - 0.5*delLimitX; 157 } 158 } 159 if (!isnan(delLimitY)) { 160 float delta = graphmode.ymax - graphmode.ymin; 161 if (fabs(delLimitY) > fabs(delta)) { 162 float midpt = 0.5*(graphmode.ymax + graphmode.ymin); 163 graphmode.ymax = midpt + 0.5*delLimitY; 164 graphmode.ymin = midpt - 0.5*delLimitY; 165 } 166 } 167 99 168 if (APPLY) KapaSetLimits (kapa, &graphmode); 100 169 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
