IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37944


Ignore:
Timestamp:
Mar 3, 2015, 3:04:23 PM (11 years ago)
Author:
eugene
Message:

adding points 14, 15, 16 (upside-down versions of 4, 5, 6)

Location:
branches/eam_branches/ipp-20150112/Ohana/src/kapa2/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150112/Ohana/src/kapa2/src/DrawObjects.c

    r37047 r37944  
    630630    }
    631631  }
     632  if (object[0].ptype == 14) {  /* upside-down filled triangle */
     633    XPoint points[4];
     634    for (i = 0; i < object[0].Npts; i++) {
     635      if (!(finite(x[i]) && finite(y[i]))) continue;
     636      sx = x[i]*mxi + y[i]*mxj + bx + XCENTER;
     637      sy = x[i]*myi + y[i]*myj + by + YCENTER;
     638      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     639          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy)) {
     640        if (scaleColor) {
     641          if (!finite(z[i])) continue;
     642          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     643          XSetForeground (graphic->display, graphic->gc, graphic->cmap[pixel].pixel);
     644        }
     645        D = scaleSize ? dz*z[i] : ds;
     646        points[0].x = sx - D;  points[0].y = sy - 0.58*D; 
     647        points[1].x = sx + D;  points[1].y = sy - 0.58*D; 
     648        points[2].x = sx;      points[2].y = sy + 1.15*D; 
     649        points[3].x = sx - D;  points[3].y = sy - 0.58*D; 
     650        XFillPolygon (graphic->display, graphic->window, graphic->gc, points, 4, Convex, CoordModeOrigin);
     651      }
     652    }
     653  }
     654  if (object[0].ptype == 15) {  /* upside-down open triangle */
     655    for (i = 0; i < object[0].Npts; i++) {
     656      if (!(finite(x[i]) && finite(y[i]))) continue;
     657      sx = x[i]*mxi + y[i]*mxj + bx + XCENTER;
     658      sy = x[i]*myi + y[i]*myj + by + YCENTER;
     659      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     660          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy)) {
     661        if (scaleColor) {
     662          if (!finite(z[i])) continue;
     663          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     664          XSetForeground (graphic->display, graphic->gc, graphic->cmap[pixel].pixel);
     665        }
     666        D = scaleSize ? dz*z[i] : ds;
     667        DrawLine (sx - D, sy - 0.58*D, sx + D, sy - 0.58*D);
     668        DrawLine (sx + D, sy - 0.58*D, sx,     sy + 1.15*D);
     669        DrawLine (sx,     sy + 1.15*D, sx - D, sy - 0.58*D);
     670      }
     671    }
     672  }
     673  if (object[0].ptype == 16) {  /* upside-down Y */
     674    for (i = 0; i < object[0].Npts; i++) {
     675      if (!(finite(x[i]) && finite(y[i]))) continue;
     676      sx = x[i]*mxi + y[i]*mxj + bx + XCENTER;
     677      sy = x[i]*myi + y[i]*myj + by + YCENTER;
     678      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     679          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy)) {
     680        if (scaleColor) {
     681          if (!finite(z[i])) continue;
     682          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     683          XSetForeground (graphic->display, graphic->gc, graphic->cmap[pixel].pixel);
     684        }
     685        D = scaleSize ? dz*z[i] : ds;
     686        DrawLine (sx, sy, sx - D, sy + 0.58*D);
     687        DrawLine (sx, sy, sx + D, sy + 0.58*D);
     688        DrawLine (sx, sy, sx,     sy - 1.15*D);
     689      }
     690    }
     691  }
    632692  if (object[0].ptype == 100) { /* connect a pair of points */
    633693
  • branches/eam_branches/ipp-20150112/Ohana/src/kapa2/src/PSObjects.c

    r35416 r37944  
    403403        D = scaleSize ? dz*z[i] : ds;
    404404        FillTriangle (sx - D, sy - 0.58*D, sx + D, sy - 0.58*D, sx, sy + 1.15*D);
    405         /*
    406           DrawLine (sx - D, sy + 0.58*D, sx + D, sy + 0.58*D);
    407           DrawLine (sx + D, sy + 0.58*D, sx,          sy - 1.15*D);
    408           DrawLine (sx,          sy - 1.15*D, sx - D, sy + 0.58*D);
    409         */
     405      }
     406    }
     407  }
     408  if (object[0].ptype == 14) {  /* filled triangle */
     409    for (i = 0; i < object[0].Npts; i++) {
     410      if (!(finite(x[i]) && finite(y[i]))) continue;
     411      sx = x[i]*mxi + y[i]*mxj + bx;
     412      sy = x[i]*myi + y[i]*myj + by;
     413      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     414          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     415      {
     416        if (scaleColor) {
     417          if (!finite(z[i])) continue;
     418          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     419          fprintf (f, "%4.2f %4.2f %4.2f setrgbcolor\n", pixel1[pixel], pixel2[pixel], pixel3[pixel]);
     420        }
     421        D = scaleSize ? dz*z[i] : ds;
     422        FillTriangle (sx - D, sy + 0.58*D, sx + D, sy + 0.58*D, sx, sy - 1.15*D);
    410423      }
    411424    }
     
    426439        D = scaleSize ? dz*z[i] : ds;
    427440        DrawLine (sx - D, sy - 0.58*D, sx + D, sy - 0.58*D);
    428         DrawLine (sx + D, sy - 0.58*D, sx,          sy + 1.15*D);
    429         DrawLine (sx,          sy + 1.15*D, sx - D, sy - 0.58*D);
     441        DrawLine (sx + D, sy - 0.58*D, sx,     sy + 1.15*D);
     442        DrawLine (sx,     sy + 1.15*D, sx - D, sy - 0.58*D);
     443      }
     444    }
     445  }
     446  if (object[0].ptype == 15) {  /* upside-down open triangle */
     447    for (i = 0; i < object[0].Npts; i++) {
     448      if (!(finite(x[i]) && finite(y[i]))) continue;
     449      sx = x[i]*mxi + y[i]*mxj + bx;
     450      sy = x[i]*myi + y[i]*myj + by;
     451      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     452          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     453      {
     454        if (scaleColor) {
     455          if (!finite(z[i])) continue;
     456          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     457          fprintf (f, "%4.2f %4.2f %4.2f setrgbcolor\n", pixel1[pixel], pixel2[pixel], pixel3[pixel]);
     458        }
     459        D = scaleSize ? dz*z[i] : ds;
     460        DrawLine (sx - D, sy + 0.58*D, sx + D, sy + 0.58*D);
     461        DrawLine (sx + D, sy + 0.58*D, sx,     sy - 1.15*D);
     462        DrawLine (sx,     sy - 1.15*D, sx - D, sy + 0.58*D);
    430463      }
    431464    }
     
    448481        DrawLine (sx, sy, sx + D, sy + 0.58*D);
    449482        DrawLine (sx, sy, sx,          sy - 1.15*D);
     483      }
     484    }
     485  }
     486  if (object[0].ptype == 16) {  /* Y */
     487    for (i = 0; i < object[0].Npts; i++) {
     488      if (!(finite(x[i]) && finite(y[i]))) continue;
     489      sx = x[i]*mxi + y[i]*mxj + bx;
     490      sy = x[i]*myi + y[i]*myj + by;
     491      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     492          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     493      {
     494        if (scaleColor) {
     495          if (!finite(z[i])) continue;
     496          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     497          fprintf (f, "%4.2f %4.2f %4.2f setrgbcolor\n", pixel1[pixel], pixel2[pixel], pixel3[pixel]);
     498        }
     499        D = scaleSize ? dz*z[i] : ds;
     500        DrawLine (sx, sy, sx - D, sy - 0.58*D);
     501        DrawLine (sx, sy, sx + D, sy - 0.58*D);
     502        DrawLine (sx, sy, sx,     sy + 1.15*D);
    450503      }
    451504    }
  • branches/eam_branches/ipp-20150112/Ohana/src/kapa2/src/bDrawObjects.c

    r37047 r37944  
    406406    }
    407407  }
     408  if (object[0].ptype == 14) {  /* filled triangle */
     409    for (i = 0; i < object[0].Npts; i++) {
     410      if (!(finite(x[i]) && finite(y[i]))) continue;
     411      sx = x[i]*mxi + y[i]*mxj + bx;
     412      sy = x[i]*myi + y[i]*myj + by;
     413      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     414          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     415      {
     416        if (scaleColor) {
     417          if (!finite(z[i])) continue;
     418          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     419          buffer->bColor_R = pixel1[pixel];
     420          buffer->bColor_G = pixel2[pixel];
     421          buffer->bColor_B = pixel3[pixel];
     422        }
     423        D = scaleSize ? dz*z[i] : ds;
     424        // FillTriangle (buffer, sx - D, sy - 0.58*D, sx + D, sy - 0.58*D, sx, sy + 1.15*D);
     425        FillTriangle (buffer, sx, sy - 0.58*D, D, +1.73*D);
     426        // out-of-range points skipped by bDrawPoint
     427      }
     428    }
     429  }
    408430  if (object[0].ptype == 5) {   /* open triangle */
    409431    for (i = 0; i < object[0].Npts; i++) {
     
    423445        D = scaleSize ? dz*z[i] : ds;
    424446        OpenTriangle (buffer, sx - D, sy + 0.58*D, sx + D, sy + 0.58*D, sx, sy - 1.15*D);
     447        // out-of-range points skipped by bDrawPoint
     448      }
     449    }
     450  }
     451  if (object[0].ptype == 15) {  /* open triangle */
     452    for (i = 0; i < object[0].Npts; i++) {
     453      if (!(finite(x[i]) && finite(y[i]))) continue;
     454      sx = x[i]*mxi + y[i]*mxj + bx;
     455      sy = x[i]*myi + y[i]*myj + by;
     456      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     457          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     458      {
     459        if (scaleColor) {
     460          if (!finite(z[i])) continue;
     461          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     462          buffer->bColor_R = pixel1[pixel];
     463          buffer->bColor_G = pixel2[pixel];
     464          buffer->bColor_B = pixel3[pixel];
     465        }
     466        D = scaleSize ? dz*z[i] : ds;
     467        OpenTriangle (buffer, sx - D, sy - 0.58*D, sx + D, sy - 0.58*D, sx, sy + 1.15*D);
    425468        // out-of-range points skipped by bDrawPoint
    426469      }
     
    446489        DrawLine (buffer, sx, sy, sx + D, sy - 0.58*D);
    447490        DrawLine (buffer, sx, sy, sx,     sy + 1.15*D);
     491        // out-of-range points skipped by bDrawPoint
     492      }
     493    }
     494  }
     495  if (object[0].ptype == 16) {  /* Y */
     496    for (i = 0; i < object[0].Npts; i++) {
     497      if (!(finite(x[i]) && finite(y[i]))) continue;
     498      sx = x[i]*mxi + y[i]*mxj + bx;
     499      sy = x[i]*myi + y[i]*myj + by;
     500      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     501          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     502      {
     503        if (scaleColor) {
     504          if (!finite(z[i])) continue;
     505          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     506          buffer->bColor_R = pixel1[pixel];
     507          buffer->bColor_G = pixel2[pixel];
     508          buffer->bColor_B = pixel3[pixel];
     509        }
     510        D = scaleSize ? dz*z[i] : ds;
     511        DrawLine (buffer, sx, sy, sx - D, sy + 0.58*D);
     512        DrawLine (buffer, sx, sy, sx + D, sy + 0.58*D);
     513        DrawLine (buffer, sx, sy, sx,     sy - 1.15*D);
    448514        // out-of-range points skipped by bDrawPoint
    449515      }
Note: See TracChangeset for help on using the changeset viewer.