Changeset 20936 for trunk/Ohana/src/opihi/cmd.astro/cgrid.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.astro/cgrid.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.astro/cgrid.c
r13479 r20936 3 3 if (N == NELEMENTS) { \ 4 4 NELEMENTS +=200; \ 5 REALLOCATE (Xvec.elements , float, NELEMENTS); \6 REALLOCATE (Yvec.elements , float, NELEMENTS); \5 REALLOCATE (Xvec.elements.Flt, opihi_flt, NELEMENTS); \ 6 REALLOCATE (Yvec.elements.Flt, opihi_flt, NELEMENTS); \ 7 7 } 8 8 … … 95 95 96 96 /* prepare vectors to hold data */ 97 N = 0; 97 98 NELEMENTS = 200; 98 ALLOCATE (Xvec.elements, float, NELEMENTS); 99 ALLOCATE (Yvec.elements, float, NELEMENTS); 100 N = 0; 99 SetVector (&Xvec, OPIHI_FLT, NELEMENTS); 100 SetVector (&Yvec, OPIHI_FLT, NELEMENTS); 101 101 102 102 /*** do consecutive RA lines, first increasing **/ … … 109 109 for (d = firstDEC; (d < 90 + dD) && (LOnPic || NorthPole || SouthPole); d += dD) { 110 110 D = MAX (-90, MIN(90, d)); 111 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);112 /* 113 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))114 First = TRUE; 115 */ 116 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&117 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {118 N++; 119 CHECKELEMENTS; 120 OnPic = TRUE; 121 if (!First) { 122 Xvec.elements [N] = Xvec.elements[N-1];123 Yvec.elements [N] = Yvec.elements[N-1];124 N++; 125 CHECKELEMENTS; 126 } else { 127 if (N > 1) { 128 Xvec.elements [N-2] = Xvec.elements[N-1];129 Yvec.elements [N-2] = Yvec.elements[N-1];111 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 112 /* 113 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 114 First = TRUE; 115 */ 116 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 117 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 118 N++; 119 CHECKELEMENTS; 120 OnPic = TRUE; 121 if (!First) { 122 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 123 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 124 N++; 125 CHECKELEMENTS; 126 } else { 127 if (N > 1) { 128 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 129 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 130 130 N--; 131 131 } … … 142 142 for (d = firstDEC; (d > -90 - dD) && (LOnPic || NorthPole || SouthPole); d -= dD) { 143 143 D = MAX (-90, MIN(90, d)); 144 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);145 /* 146 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))147 First = TRUE; 148 */ 149 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&150 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {151 N++; 152 CHECKELEMENTS; 153 OnPic = TRUE; 154 if (!First) { 155 Xvec.elements [N] = Xvec.elements[N-1];156 Yvec.elements [N] = Yvec.elements[N-1];157 N++; 158 CHECKELEMENTS; 159 } else { 160 if (N > 1) { 161 Xvec.elements [N-2] = Xvec.elements[N-1];162 Yvec.elements [N-2] = Yvec.elements[N-1];144 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 145 /* 146 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 147 First = TRUE; 148 */ 149 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 150 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 151 N++; 152 CHECKELEMENTS; 153 OnPic = TRUE; 154 if (!First) { 155 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 156 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 157 N++; 158 CHECKELEMENTS; 159 } else { 160 if (N > 1) { 161 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 162 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 163 163 N--; 164 164 } … … 181 181 for (d = firstDEC; (d < 90 + dD) && (LOnPic || NorthPole || SouthPole); d += dD) { 182 182 D = MAX (-90, MIN(90, d)); 183 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);184 /* 185 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))186 First = TRUE; 187 */ 188 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&189 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {190 N++; 191 CHECKELEMENTS; 192 OnPic = TRUE; 193 if (!First) { 194 Xvec.elements [N] = Xvec.elements[N-1];195 Yvec.elements [N] = Yvec.elements[N-1];196 N++; 197 CHECKELEMENTS; 198 } else { 199 if (N > 1) { 200 Xvec.elements [N-2] = Xvec.elements[N-1];201 Yvec.elements [N-2] = Yvec.elements[N-1];183 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 184 /* 185 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 186 First = TRUE; 187 */ 188 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 189 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 190 N++; 191 CHECKELEMENTS; 192 OnPic = TRUE; 193 if (!First) { 194 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 195 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 196 N++; 197 CHECKELEMENTS; 198 } else { 199 if (N > 1) { 200 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 201 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 202 202 N--; 203 203 } … … 214 214 for (d = firstDEC; (d > -90 - dD) && (LOnPic || NorthPole || SouthPole); d -= dD) { 215 215 D = MAX (-90, MIN(90, d)); 216 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);217 /* 218 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))219 First = TRUE; 220 */ 221 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&222 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {223 N++; 224 CHECKELEMENTS; 225 OnPic = TRUE; 226 if (!First) { 227 Xvec.elements [N] = Xvec.elements[N-1];228 Yvec.elements [N] = Yvec.elements[N-1];229 N++; 230 CHECKELEMENTS; 231 } else { 232 if (N > 1) { 233 Xvec.elements [N-2] = Xvec.elements[N-1];234 Yvec.elements [N-2] = Yvec.elements[N-1];216 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 217 /* 218 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 219 First = TRUE; 220 */ 221 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 222 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 223 N++; 224 CHECKELEMENTS; 225 OnPic = TRUE; 226 if (!First) { 227 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 228 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 229 N++; 230 CHECKELEMENTS; 231 } else { 232 if (N > 1) { 233 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 234 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 235 235 N--; 236 236 } … … 253 253 First = TRUE; 254 254 for (r = firstRA; (r < firstRA + 180) && (LOnPic || NorthPole || SouthPole); r += dR) { 255 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);256 /* 257 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))258 First = TRUE; 259 */ 260 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&261 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {262 N++; 263 CHECKELEMENTS; 264 OnPic = TRUE; 265 if (!First) { 266 Xvec.elements [N] = Xvec.elements[N-1];267 Yvec.elements [N] = Yvec.elements[N-1];268 N++; 269 CHECKELEMENTS; 270 } else { 271 if (N > 1) { 272 Xvec.elements [N-2] = Xvec.elements[N-1];273 Yvec.elements [N-2] = Yvec.elements[N-1];255 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 256 /* 257 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 258 First = TRUE; 259 */ 260 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 261 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 262 N++; 263 CHECKELEMENTS; 264 OnPic = TRUE; 265 if (!First) { 266 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 267 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 268 N++; 269 CHECKELEMENTS; 270 } else { 271 if (N > 1) { 272 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 273 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 274 274 N--; 275 275 } … … 285 285 LOnPic = TRUE; 286 286 for (r = firstRA; (r > firstRA - 180) && (LOnPic || NorthPole || SouthPole); r -= dR) { 287 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);288 /* 289 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))290 First = TRUE; 291 */ 292 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&293 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {294 N++; 295 CHECKELEMENTS; 296 OnPic = TRUE; 297 if (!First) { 298 Xvec.elements [N] = Xvec.elements[N-1];299 Yvec.elements [N] = Yvec.elements[N-1];300 N++; 301 CHECKELEMENTS; 302 } else { 303 if (N > 1) { 304 Xvec.elements [N-2] = Xvec.elements[N-1];305 Yvec.elements [N-2] = Yvec.elements[N-1];287 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 288 /* 289 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 290 First = TRUE; 291 */ 292 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 293 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 294 N++; 295 CHECKELEMENTS; 296 OnPic = TRUE; 297 if (!First) { 298 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 299 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 300 N++; 301 CHECKELEMENTS; 302 } else { 303 if (N > 1) { 304 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 305 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 306 306 N--; 307 307 } … … 324 324 First = TRUE; 325 325 for (r = firstRA; (r < firstRA + 180) && (LOnPic || NorthPole || SouthPole); r += dR) { 326 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);327 /* 328 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))329 First = TRUE; 330 */ 331 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&332 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {333 N++; 334 CHECKELEMENTS; 335 OnPic = TRUE; 336 if (!First) { 337 Xvec.elements [N] = Xvec.elements[N-1];338 Yvec.elements [N] = Yvec.elements[N-1];339 N++; 340 CHECKELEMENTS; 341 } else { 342 if (N > 1) { 343 Xvec.elements [N-2] = Xvec.elements[N-1];344 Yvec.elements [N-2] = Yvec.elements[N-1];326 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 327 /* 328 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 329 First = TRUE; 330 */ 331 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 332 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 333 N++; 334 CHECKELEMENTS; 335 OnPic = TRUE; 336 if (!First) { 337 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 338 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 339 N++; 340 CHECKELEMENTS; 341 } else { 342 if (N > 1) { 343 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 344 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 345 345 N--; 346 346 } … … 356 356 LOnPic = TRUE; 357 357 for (r = firstRA; (r > firstRA - 180) && (LOnPic || NorthPole || SouthPole); r -= dR) { 358 status = fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], r, D, &graphmode.coords);359 /* 360 if ((fabs(Xvec.elements [N] - Xvec.elements[N-1]) > 10) && (fabs(Yvec.elements[N] - Yvec.elements[N-1]) > 10))361 First = TRUE; 362 */ 363 if ((Xvec.elements [N] >= graphmode.xmin) && (Xvec.elements[N] <= graphmode.xmax) &&364 (Yvec.elements [N] >= graphmode.ymin) && (Yvec.elements[N] <= graphmode.ymax) && status) {365 N++; 366 CHECKELEMENTS; 367 OnPic = TRUE; 368 if (!First) { 369 Xvec.elements [N] = Xvec.elements[N-1];370 Yvec.elements [N] = Yvec.elements[N-1];371 N++; 372 CHECKELEMENTS; 373 } else { 374 if (N > 1) { 375 Xvec.elements [N-2] = Xvec.elements[N-1];376 Yvec.elements [N-2] = Yvec.elements[N-1];358 status = RD_to_XY (&Xvec.elements.Flt[N], &Yvec.elements.Flt[N], r, D, &graphmode.coords); 359 /* 360 if ((fabs(Xvec.elements.Flt[N] - Xvec.elements.Flt[N-1]) > 10) && (fabs(Yvec.elements.Flt[N] - Yvec.elements.Flt[N-1]) > 10)) 361 First = TRUE; 362 */ 363 if ((Xvec.elements.Flt[N] >= graphmode.xmin) && (Xvec.elements.Flt[N] <= graphmode.xmax) && 364 (Yvec.elements.Flt[N] >= graphmode.ymin) && (Yvec.elements.Flt[N] <= graphmode.ymax) && status) { 365 N++; 366 CHECKELEMENTS; 367 OnPic = TRUE; 368 if (!First) { 369 Xvec.elements.Flt[N] = Xvec.elements.Flt[N-1]; 370 Yvec.elements.Flt[N] = Yvec.elements.Flt[N-1]; 371 N++; 372 CHECKELEMENTS; 373 } else { 374 if (N > 1) { 375 Xvec.elements.Flt[N-2] = Xvec.elements.Flt[N-1]; 376 Yvec.elements.Flt[N-2] = Yvec.elements.Flt[N-1]; 377 377 N--; 378 378 } … … 391 391 graphmode.ptype = 100; /* connect a pair */ 392 392 graphmode.etype = 0; 393 PlotVectorPair (kapa, N, Xvec.elements, Yvec.elements, &graphmode);394 395 free (Xvec.elements );396 free (Yvec.elements );393 PlotVectorPair (kapa, &Xvec, &Yvec, &graphmode); 394 395 free (Xvec.elements.Ptr); 396 free (Yvec.elements.Ptr); 397 397 return (TRUE); 398 398
Note:
See TracChangeset
for help on using the changeset viewer.
