--- ray/src/cv/rad2mgf.c 1995/11/20 11:06:21 2.13 +++ ray/src/cv/rad2mgf.c 1998/10/14 14:48:04 2.15 @@ -8,17 +8,13 @@ static char SCCSid[] = "$SunId$ LBL"; * Convert Radiance scene description to MGF */ -#include -#include +#include "standard.h" #include #include -#include "fvect.h" #include "object.h" #include "color.h" #include "lookup.h" -#define PI 3.14159265358979323846 - #define C_1SIDEDTHICK 0.005 int o_face(), o_cone(), o_sphere(), o_ring(), o_cylinder(); @@ -26,8 +22,7 @@ int o_instance(), o_illum(); int o_plastic(), o_metal(), o_glass(), o_dielectric(), o_mirror(), o_trans(), o_light(); -extern void free(); -extern char *malloc(); +extern int free(); LUTAB rmats = LU_SINIT(free,NULL); /* defined material table */ @@ -431,7 +426,7 @@ o_face(mod, typ, id, fa) /* print out a polygon */ char *mod, *typ, *id; FUNARGS *fa; { - char entbuf[2048]; + char entbuf[2048], *linestart; register char *cp; register int i; @@ -439,10 +434,15 @@ FUNARGS *fa; return(-1); setmat(mod); setobj(id); - cp = entbuf; + cp = linestart = entbuf; *cp++ = 'f'; for (i = 0; i < fa->nfargs; i += 3) { *cp++ = ' '; + if (cp - linestart > 72) { + *cp++ = '\\'; *cp++ = '\n'; + linestart = cp; + *cp++ = ' '; *cp++ = ' '; + } getvertid(cp, fa->farg + i); while (*cp) cp++;