IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37047


Ignore:
Timestamp:
Jul 17, 2014, 10:18:10 AM (12 years ago)
Author:
eugene
Message:

new point type (triangle, point down)

Location:
trunk/Ohana/src/kapa2/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/kapa2/src/DrawObjects.c

    r35416 r37047  
    608608    }
    609609  }
     610  if (object[0].ptype == 12) {  /* filled triangle (down) */
     611    XPoint points[4];
     612    for (i = 0; i < object[0].Npts; i++) {
     613      if (!(finite(x[i]) && finite(y[i]))) continue;
     614      sx = x[i]*mxi + y[i]*mxj + bx + XCENTER;
     615      sy = x[i]*myi + y[i]*myj + by + YCENTER;
     616      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     617          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy)) {
     618        if (scaleColor) {
     619          if (!finite(z[i])) continue;
     620          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     621          XSetForeground (graphic->display, graphic->gc, graphic->cmap[pixel].pixel);
     622        }
     623        D = scaleSize ? dz*z[i] : ds;
     624        points[0].x = sx - D;  points[0].y = sy - 0.58*D; 
     625        points[1].x = sx + D;  points[1].y = sy - 0.58*D; 
     626        points[2].x = sx;      points[2].y = sy + 1.15*D; 
     627        points[3].x = sx - D;  points[3].y = sy - 0.58*D; 
     628        XFillPolygon (graphic->display, graphic->window, graphic->gc, points, 4, Convex, CoordModeOrigin);
     629      }
     630    }
     631  }
    610632  if (object[0].ptype == 100) { /* connect a pair of points */
    611633
  • trunk/Ohana/src/kapa2/src/bDrawObjects.c

    r36487 r37047  
    540540        FillCircle (buffer, sx, sy, D);
    541541        // out-of-range points skipped by bDrawLineHorizontal
     542      }
     543    }
     544  }
     545  if (object[0].ptype == 12) {  /* filled triangle (down) */
     546    for (i = 0; i < object[0].Npts; i++) {
     547      if (!(finite(x[i]) && finite(y[i]))) continue;
     548      sx = x[i]*mxi + y[i]*mxj + bx;
     549      sy = x[i]*myi + y[i]*myj + by;
     550      if ((sx > graph[0].axis[0].fx) && (sx < graph[0].axis[0].fx + graph[0].axis[0].dfx) &&
     551          (sy < graph[0].axis[1].fy) && (sy > graph[0].axis[1].fy + graph[0].axis[1].dfy))
     552      {
     553        if (scaleColor) {
     554          if (!finite(z[i])) continue;
     555          int pixel = MIN (graphic->Npixels - 2, MAX (0, z[i]*(graphic->Npixels - 1)));
     556          buffer->bColor_R = pixel1[pixel];
     557          buffer->bColor_G = pixel2[pixel];
     558          buffer->bColor_B = pixel3[pixel];
     559        }
     560        D = scaleSize ? dz*z[i] : ds;
     561        // FillTriangle (buffer, sx - D, sy - 0.58*D, sx + D, sy - 0.58*D, sx, sy + 1.15*D);
     562        FillTriangle (buffer, sx, sy + 0.58*D, D, 1.73*D);
     563        // out-of-range points skipped by bDrawPoint
    542564      }
    543565    }
Note: See TracChangeset for help on using the changeset viewer.