Revision ef4a9bab
Added by Leszek Koltunski 11 months ago
src/main/java/org/distorted/library/mesh/MeshMultigon.java | ||
---|---|---|
291 | 291 |
|
292 | 292 |
if( eupp<0 ) |
293 | 293 |
{ |
294 |
normL[0]=vT[0]-vL[0];
|
|
295 |
normL[1]=vT[1]-vL[1];
|
|
294 |
normL[0]=vL[0]-vT[0];
|
|
295 |
normL[1]=vL[1]-vT[1];
|
|
296 | 296 |
} |
297 | 297 |
else |
298 | 298 |
{ |
299 |
normL[0]= v[2*prev ] - v[2*curr ];
|
|
300 |
normL[1]= v[2*prev+1] - v[2*curr+1];
|
|
299 |
normL[0]= v[2*curr ] - v[2*prev ];
|
|
300 |
normL[1]= v[2*curr+1] - v[2*prev+1];
|
|
301 | 301 |
} |
302 | 302 |
|
303 | 303 |
if( eupn<0 ) |
304 | 304 |
{ |
305 |
normR[0]=vT[0]-vR[0];
|
|
306 |
normR[1]=vT[1]-vR[1];
|
|
305 |
normR[0]=vR[0]-vT[0];
|
|
306 |
normR[1]=vR[1]-vT[1];
|
|
307 | 307 |
} |
308 | 308 |
else |
309 | 309 |
{ |
310 | 310 |
int nnxt= next==len-1 ? 0 : next+1; |
311 |
normL[0]= v[2*nnxt ] - v[2*next ];
|
|
312 |
normL[1]= v[2*nnxt+1] - v[2*next+1];
|
|
311 |
normR[0]= v[2*next ] - v[2*nnxt ];
|
|
312 |
normR[1]= v[2*next+1] - v[2*nnxt+1];
|
|
313 | 313 |
} |
314 | 314 |
|
315 | 315 |
return MeshBandedTriangle.MODE_NORMAL; |
... | ... | |
331 | 331 |
} |
332 | 332 |
else |
333 | 333 |
{ |
334 |
float dx=v[2*curr]-v[2*next];
|
|
335 |
float dy=v[2*curr+1]-v[2*next+1];
|
|
334 |
float dx=v[2*next ]-v[2*curr ];
|
|
335 |
float dy=v[2*next+1]-v[2*curr+1];
|
|
336 | 336 |
|
337 | 337 |
normL[0]=dx; |
338 | 338 |
normL[1]=dy; |
... | ... | |
383 | 383 |
|
384 | 384 |
for(int j=0; j<num; j++) |
385 | 385 |
{ |
386 |
int mode=computeMode(vL, vR, vT, normL, normL, edgesUp, vertsUp,vertices,centers, i,j);
|
|
386 |
int mode=computeMode(vL, vR, vT, normL, normR, edgesUp, vertsUp,vertices,centers, i,j);
|
|
387 | 387 |
triangles[index++] = new MeshBandedTriangle(vL, vR, vT, band, normL, normR, mode, exBands, exVertices); |
388 | 388 |
} |
389 | 389 |
} |
Also available in: Unified diff
Fixes for MeshMultigon. Perfect!