--- ray/src/util/findglare.c 2004/03/26 23:34:23 2.12 +++ ray/src/util/findglare.c 2021/02/12 00:53:56 2.15 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: findglare.c,v 2.12 2004/03/26 23:34:23 schorsch Exp $"; +static const char RCSid[] = "$Id: findglare.c,v 2.15 2021/02/12 00:53:56 greg Exp $"; #endif /* * Find glare sources in a scene or image. @@ -9,10 +9,6 @@ static const char RCSid[] = "$Id: findglare.c,v 2.12 2 #include "glare.h" -#define FEQ(a,b) ((a)-(b)<=FTINY&&(b)-(a)<=FTINY) -#define VEQ(v1,v2) (FEQ((v1)[0],(v2)[0])&&FEQ((v1)[1],(v2)[1]) \ - &&FEQ((v1)[2],(v2)[2])) - char *rtargv[64] = {"rtrace", "-h-", "-ov", "-fff", "-ld-", "-i-", "-I-"}; int rtargc = 7; @@ -65,7 +61,7 @@ main( while ((rval = expandarg(&argc, &argv, i)) > 0) ; if (rval < 0) { - fprintf(stderr, "%s: cannot expand '%s'", + fprintf(stderr, "%s: cannot expand '%s'\n", argv[0], argv[i]); exit(1); } @@ -129,10 +125,13 @@ main( /* FALL THROUGH */ case 's': case 'P': + case 'n': rtargv[rtargc++] = argv[i]; rtargv[rtargc++] = argv[++i]; break; case 'w': + case 'u': + case 'b': rtargv[rtargc++] = argv[i]; break; case 'a': @@ -143,6 +142,14 @@ main( } rtargv[rtargc++] = argv[++i]; break; + case 'm': + rtargv[rtargc++] = argv[i]; + if ((argv[i][2] == 'e') | (argv[i][2] == 'a')) { + rtargv[rtargc++] = argv[++i]; + rtargv[rtargc++] = argv[++i]; + } + rtargv[rtargc++] = argv[++i]; + break; default: goto userr; } @@ -184,7 +191,7 @@ main( exit(1); } ourview = pictview; - } else if (picture != NULL && !VEQ(ourview.vp, pictview.vp)) { + } else if (picture != NULL && !VABSEQ(ourview.vp, pictview.vp)) { fprintf(stderr, "%s: picture must have same viewpoint\n", progname); exit(1);