ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/xf.c
(Generate patch)

Comparing ray/src/common/xf.c (file contents):
Revision 2.5 by greg, Tue Feb 25 02:47:22 2003 UTC vs.
Revision 2.9 by greg, Mon Jun 23 15:11:04 2025 UTC

# Line 4 | Line 4 | static const char      RCSid[] = "$Id$";
4   /*
5   *  xf.c - routines to convert transform arguments into 4X4 matrix.
6   *
7 < *  External symbols declared in standard.h
7 > *  External symbols declared in rtmath.h
8   */
9  
10 < #include "copyright.h"
10 > #include  <stdlib.h>
11 > #include  "rtmath.h"
12 > #include  "rtio.h"
13  
12 #include  "standard.h"
13
14   #define  d2r(a)         ((PI/180.)*(a))
15  
16   #define  checkarg(a,l)  if (av[i][a] || badarg(ac-i-1,av+i+1,l)) goto done
17  
18  
19   int
20 < xf(ret, ac, av)                 /* get transform specification */
21 < register XF  *ret;
22 < int  ac;
23 < char  *av[];
20 > isxfopt(char *p)        /* check whether option begins transform */
21   {
22 +        if (*p++ != '-')
23 +                return(0);
24 +
25 +        if ((p[0] == 't') | (p[0] == 's') | (p[0] == 'i') &&
26 +                        !p[1])
27 +                return(1);
28 +
29 +        if ((p[0] == 'r') | (p[0] == 'm') &&
30 +                        ('x' <= p[1]) & (p[1] <= 'z') &&
31 +                        !p[2])
32 +                return(1);
33 +
34 +        return(0);
35 + }
36 +
37 +
38 + int
39 + xf(XF *ret, int ac, char *av[])         /* get transform specification */
40 + {
41          MAT4  xfmat, m4;
42          double  xfsca, dtmp;
43          int  i, icnt;
# Line 131 | Line 147 | done:
147  
148  
149   int
150 < invxf(ret, ac, av)              /* invert transform specification */
135 < register XF  *ret;
136 < int  ac;
137 < char  *av[];
150 > invxf(XF *ret, int ac, char *av[])      /* invert transform specification */
151   {
152          MAT4  xfmat, m4;
153          double  xfsca, dtmp;
# Line 245 | Line 258 | done:
258  
259  
260   int
261 < fullxf(fx, ac, av)                      /* compute both forward and inverse */
249 < FULLXF  *fx;
250 < int  ac;
251 < char  *av[];
261 > fullxf(FULLXF *fx, int ac, char *av[])  /* compute both forward and inverse */
262   {
263          xf(&fx->f, ac, av);
264          return(invxf(&fx->b, ac, av));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines