87 |
|
|
88 |
|
|
89 |
|
void |
90 |
+ |
xf_clear() /* clear transform stack */ |
91 |
+ |
{ |
92 |
+ |
register XF_SPEC *spec; |
93 |
+ |
|
94 |
+ |
while (xf_argc) |
95 |
+ |
free((MEM_PTR)xf_argv[--xf_argc]); |
96 |
+ |
if (xf_maxarg) { |
97 |
+ |
free((MEM_PTR)xf_argv); |
98 |
+ |
xf_argv = NULL; |
99 |
+ |
xf_maxarg = 0; |
100 |
+ |
} |
101 |
+ |
while ((spec = xf_context) != NULL) { |
102 |
+ |
xf_context = spec->prev; |
103 |
+ |
free((MEM_PTR)spec); |
104 |
+ |
} |
105 |
+ |
} |
106 |
+ |
|
107 |
+ |
|
108 |
+ |
void |
109 |
|
xf_xfmpoint(v1, v2) /* transform a point by the current matrix */ |
110 |
|
FVECT v1, v2; |
111 |
|
{ |
207 |
|
xf(ret, ac, av) /* get transform specification */ |
208 |
|
register XF *ret; |
209 |
|
int ac; |
210 |
< |
char *av[]; |
210 |
> |
char **av; |
211 |
|
{ |
212 |
|
MAT4 xfmat, m4; |
213 |
|
double xfsca, dtmp; |