Beispiel #1
0
int element_count(FILE *fp, char c)
{
	char line[LINE_MAX];
	int count = 0;
	while (fgets(line, LINE_MAX, fp) != NULL) {
		if (line_type(line) == c)
			count++;
	}
	rewind(fp);
	return count;
}
Beispiel #2
0
void vertex_read(FILE *fp, struct vertex *vertex, int count)
{
	char line[LINE_MAX];
	int i = 0;
	while ((i < count) && (fgets(line, LINE_MAX, fp) != NULL)) {
		if (line_type(line) == 'v') {
			vertex_scan(line, &vertex[i]);
			i++;
		}
	}
	rewind(fp);
}
Beispiel #3
0
void face_read(FILE *fp, struct face *face, int face_count,
		struct vertex *vertex, int vertex_count)
{
	char line[LINE_MAX];
	int i = 0;
	while ((i < face_count) && (fgets(line, LINE_MAX, fp) != NULL)) {
		if (line_type(line) == 'f') {
			face_scan(line, &face[i], vertex, vertex_count);
			i++;
		}
	}
	rewind(fp);
}
Beispiel #4
0
const ShapeFunction& QuadFluxP3::line() const
{
  return line_type();
}
Beispiel #5
0
void plot(void)
{
   int c;
   int w, n, xmin, ymin, xmax, ymax;
   int x0, y0, r1, r2, arg1, arg2;

   while ((c = getchar()) != EOF) {
      switch (c) {
      case 'M':
         scanf("%d %d", &pb.x, &pb.y);
         _move(pb.x, pb.y);
         break;
      case 'D':
         _line();
         break;
      case '%':
         scanf("%d", &n);
         hatching(n);
         break;
         /*    polyg(n);    break;
          */
      case 'P':
         get_str();
         break;
      case 'S':
         scanf("%d", &ch);
         break;
      case 'Q':
         scanf("%d", &cw);
         break;
      case 'R':
         scanf("%d", &th);
         th = (th == 0) ? 0 : 1;
         break;
      case 'L':
         scanf("%d", &w);
         line_type(w);
         break;
      case 'K':
         scanf("%d", &w);
         join_type(w);
         break;
      case 'W':
         scanf("%d %d %d %d %d %d", &x0, &y0, &r1, &r2, &arg1, &arg2);
         circle(x0, y0, r1, r2, arg1, arg2);
         break;
      case 'N':
         scanf("%d", &w);
         mark(w);
         break;
      case 'J':
         scanf("%d", &w);
         newpen(w);
         break;
      case '\\':
         scanf("%d %d", &xmin, &ymin);
         break;
      case 'Z':
         scanf("%d %d", &xmax, &ymax);
         if (!landscape) {
            if (xmax > XLENG)
               xmax = XLENG;
            if (ymax > YLENG)
               ymax = YLENG;
         } else {
            if (xmax > YLENG)
               xmax = YLENG;
            if (ymax > XLENG)
               ymax = XLENG;
         }
         clip(normx(xmin), normy(ymax), normx(xmax), normy(ymin));
         break;
      case ';':
      case ':':
         break;
      default:
         break;
      }
   }
}