--- ray/src/cv/mgf2meta.c 1995/04/04 10:20:21 2.1 +++ ray/src/cv/mgf2meta.c 1995/04/11 13:32:47 2.3 @@ -5,19 +5,20 @@ static char SCCSid[] = "$SunId$ LBL"; #endif /* - * Convert MGF (Materials and Geometry Format) to Metafile graphics + * Convert MGF (Materials and Geometry Format) to Metafile 2-d graphics */ #include #include #include "mgflib/parser.h" -#define MX(v) (int)((1<<14)*(v)[(proj_axis+1)%3]) -#define MY(v) (int)((1<<14)*(v)[(proj_axis+2)%3]) +#define MX(v) (int)(((1<<14)-1)*(v)[(proj_axis+1)%3]) +#define MY(v) (int)(((1<<14)-1)*(v)[(proj_axis+2)%3]) int r_face(); int proj_axis; double limit[3][2]; +int layer; extern int mg_nqcdivs; @@ -45,11 +46,16 @@ char *argv[]; if (mg_load(NULL) != MG_OK) exit(1); } else /* convert each file */ - for (i = 8; i < argc; i++) + for (i = 8; i < argc; i++) { if (mg_load(argv[i]) != MG_OK) exit(1); - mendpage(); /* close output */ - mdone(); + if (++layer >= 16) { + mendpage(); + layer = 0; + } + } + mendpage(); /* print page */ + mdone(); /* close output */ exit(0); userr: fprintf(stderr, "Usage: %s {x|y|z} xmin xmax ymin ymax zmin zmax [file.mgf] ..\n", @@ -86,7 +92,7 @@ char **av; VCOPY(v1, vo); VCOPY(vo, v2); if (clip(v1, v2, bbmin, bbmax)) { - mline(MX(v1), MY(v1), 0, 0, 0); + mline(MX(v1), MY(v1), layer/4, 0, layer%4); mdraw(MX(v2), MY(v2)); } }