1 |
< |
/* Copyright (c) 1991 Regents of the University of California */ |
1 |
> |
/* Copyright (c) 1995 Regents of the University of California */ |
2 |
|
|
3 |
|
#ifndef lint |
4 |
|
static char SCCSid[] = "$SunId$ LBL"; |
58 |
|
|
59 |
|
f->va = o->oargs.farg; |
60 |
|
f->nv = o->oargs.nfargs / 3; |
61 |
+ |
/* check for last==first */ |
62 |
+ |
if (dist2(VERTEX(f,0),VERTEX(f,f->nv-1)) <= FTINY*FTINY) |
63 |
+ |
f->nv--; |
64 |
|
/* compute area and normal */ |
65 |
|
f->norm[0] = f->norm[1] = f->norm[2] = 0.0; |
66 |
< |
v1[0] = v1[1] = v1[2] = 0.0; |
67 |
< |
for (i = 1; i < f->nv; i++) { |
66 |
> |
v1[0] = VERTEX(f,1)[0] - VERTEX(f,0)[0]; |
67 |
> |
v1[1] = VERTEX(f,1)[1] - VERTEX(f,0)[1]; |
68 |
> |
v1[2] = VERTEX(f,1)[2] - VERTEX(f,0)[2]; |
69 |
> |
for (i = 2; i < f->nv; i++) { |
70 |
|
v2[0] = VERTEX(f,i)[0] - VERTEX(f,0)[0]; |
71 |
|
v2[1] = VERTEX(f,i)[1] - VERTEX(f,0)[1]; |
72 |
|
v2[2] = VERTEX(f,i)[2] - VERTEX(f,0)[2]; |