Changeset 12750 for trunk/Ohana/src/opihi/dvo/images.c
- Timestamp:
- Apr 4, 2007, 6:55:16 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/dvo/images.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/dvo/images.c
r12728 r12750 2 2 # define BETA 0.41421 3 3 4 int wordhash (char *word) { 5 int value; 6 7 value = *(int *)word; 8 return value; 9 } 10 4 11 int images (int argc, char **argv) { 5 12 6 13 int i, j, Nimage, status, InPic, leftside, *plist, TimeSelect, ByName; 7 int WITH_MOSAIC, SOLO_MOSAIC ;14 int WITH_MOSAIC, SOLO_MOSAIC, HIDDEN; 8 15 time_t tzero, tend; 9 16 int N, NPTS, n, npts, Npts; … … 13 20 Graphdata graphmode; 14 21 char name[256]; 22 int typehash; 15 23 16 24 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; … … 26 34 remove_argument (N, &argc, argv); 27 35 SOLO_MOSAIC = TRUE; 36 WITH_MOSAIC = TRUE; 37 } 38 39 HIDDEN = FALSE; 40 if ((N = get_argument (argc, argv, "-hidden"))) { 41 remove_argument (N, &argc, argv); 42 HIDDEN = TRUE; 28 43 } 29 44 … … 96 111 Rmid = 0.5*(Rmin + Rmax); 97 112 113 int DistortImage = wordhash ("-DIS"); 114 int TriangleUp = wordhash ("TRP-"); 115 int TriangleDn = wordhash ("TRM-"); 116 98 117 npts = NPTS = 200; 99 118 ALLOCATE (Xvec.elements, float, NPTS); … … 106 125 if (!FindMosaicForImage (image, Nimage, i)) continue; 107 126 108 if (!strcmp(&image[i].coords.ctype[4], "-DIS") && !WITH_MOSAIC) continue; 109 if ( strcmp(&image[i].coords.ctype[4], "-DIS") && SOLO_MOSAIC) continue; 110 111 /* project this image to screen display coords */ 127 Npts = 4; 128 status = TRUE; 129 leftside = FALSE; 130 131 typehash = wordhash (&image[i].coords.ctype[4]); 132 112 133 /* DIS images represent a field, not a chip */ 113 if (!strcmp(&image[i].coords.ctype[4], "-DIS")) { 134 if ((typehash == DistortImage) && !WITH_MOSAIC) continue; 135 if ((typehash != DistortImage) && SOLO_MOSAIC) continue; 136 if (typehash == DistortImage) { 114 137 x[0] = -0.5*image[i].NX; y[0] = -0.5*image[i].NY; 115 138 x[1] = +0.5*image[i].NX; y[1] = -0.5*image[i].NY; 116 139 x[2] = +0.5*image[i].NX; y[2] = +0.5*image[i].NY; 117 140 x[3] = -0.5*image[i].NX; y[3] = +0.5*image[i].NY; 118 } else { 141 goto got_type; 142 } 143 144 typehash = wordhash (image[i].coords.ctype); 145 if (typehash == TriangleUp) { 146 Npts = 3; 147 x[0] = 0; y[0] = +0.5*image[i].NY; 148 x[1] = +0.5*image[i].NX; y[1] = -0.5*image[i].NY; 149 x[2] = -0.5*image[i].NX; y[2] = -0.5*image[i].NY; 150 goto got_type; 151 } 152 if (typehash == TriangleDn) { 153 Npts = 3; 154 x[0] = 0; y[0] = -0.5*image[i].NY; 155 x[1] = +0.5*image[i].NX; y[1] = +0.5*image[i].NY; 156 x[2] = -0.5*image[i].NX; y[2] = +0.5*image[i].NY; 157 goto got_type; 158 } 159 160 // default layout 161 { 119 162 x[0] = 0; y[0] = 0; 120 163 x[1] = image[i].NX; y[1] = 0; … … 123 166 } 124 167 125 Npts = 4; 126 status = TRUE; 127 leftside = FALSE; 128 for (j = 0; j < 4; j++) { 168 got_type: 169 170 /* project this image to screen display coords */ 171 // check for boundary overlap? 172 for (j = 0; j < Npts; j++) { 129 173 status = XY_to_RD (&r[j], &d[j], x[j], y[j], &image[i].coords); 130 174 if (!status) break; … … 203 247 InPic = TRUE; 204 248 } 249 if (!status && HIDDEN) status = TRUE; 205 250 if (InPic && status) { 206 251 plist[n] = i;
Note:
See TracChangeset
for help on using the changeset viewer.
