| 17 |
|
|
| 18 |
|
#include <string.h> |
| 19 |
|
|
| 20 |
+ |
#include "color.h" |
| 21 |
+ |
|
| 22 |
|
#include "mgf_parser.h" |
| 23 |
|
|
| 24 |
|
#include "lookup.h" |
| 31 |
|
|
| 32 |
|
#define VERTFMT "%+16.9e %+16.9e %+16.9e\n%+6.3f %+6.3f %+6.3f" |
| 33 |
|
#define VZVECT "+0.000 +0.000 +0.000" |
| 34 |
< |
#define VFLEN 72 /* total vertex string length */ |
| 34 |
> |
#define VFLEN 92 /* total vertex string length */ |
| 35 |
|
#define MAXVERT 10240 /* maximum cached vertices */ |
| 36 |
|
|
| 37 |
|
#define setvkey(k,v) sprintf(k,VERTFMT,(v)->p[0],(v)->p[1],(v)->p[2],\ |
| 488 |
|
va[0] = v2->p[0] - v1->p[0]; |
| 489 |
|
va[1] = v2->p[1] - v1->p[1]; |
| 490 |
|
va[2] = v2->p[2] - v1->p[2]; |
| 491 |
< |
length = sqrt(DOT(va,va)); |
| 492 |
< |
if (va[1] >= length) |
| 491 |
< |
angle = 0.; |
| 492 |
< |
else if (va[1] <= -length) |
| 493 |
< |
angle = PI; |
| 494 |
< |
else |
| 495 |
< |
angle = acos(va[1]/length); |
| 491 |
> |
length = VLEN(va); |
| 492 |
> |
angle = Acos(va[1]/length); |
| 493 |
|
printf("%sTranslation { translation %13.9g %13.9g %13.9g }\n", tabs, |
| 494 |
|
.5*(v1->p[0]+v2->p[0]), .5*(v1->p[1]+v2->p[1]), |
| 495 |
|
.5*(v1->p[2]+v2->p[2])); |