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