|
645 | 645 | if (side === 0) { |
646 | 646 | pnts.push(new THREE.Vector2(rad, layerz)); |
647 | 647 | edges.push(curr_indx); |
648 | | - } else { |
| 648 | + } else |
| 649 | + if (rad < shape.fRmax[layer]) { |
649 | 650 | pnts.unshift(new THREE.Vector2(rad, layerz)); |
650 | 651 | edges.unshift(curr_indx); |
651 | 652 | } |
|
663 | 664 | } |
664 | 665 |
|
665 | 666 | // add faces for top and bottom side |
666 | | - for (var top = 0; top < 2; ++top) { |
667 | | - var inside = (top === 0) ? indxs[1][0] : indxs[1][shape.fNz-1]; |
668 | | - var outside = (top === 0) ? indxs[0][0] : indxs[0][shape.fNz-1]; |
| 667 | + for (var layer = 0; layer < shape.fNz; layer+= (shape.fNz-1)) { |
| 668 | + if (shape.fRmin[layer] >= shape.fRmax[layer]) continue; |
| 669 | + var inside = indxs[1][layer], outside = indxs[0][layer]; |
669 | 670 | for (var seg=0; seg < radiusSegments; ++seg) { |
670 | 671 | var seg1 = (seg + 1) % layerVerticies; |
671 | | - geometry.faces.push( new THREE.Face3( outside + seg, (top===0) ? (inside + seg) : (outside + seg1), inside + seg1, null, color, 0 ) ); |
672 | | - geometry.faces.push( new THREE.Face3( outside + seg, inside + seg1, (top===0) ? (outside + seg1) : (inside + seg), null, color, 0 )); |
| 672 | + geometry.faces.push( new THREE.Face3( outside + seg, (layer===0) ? (inside + seg) : (outside + seg1), inside + seg1, null, color, 0 ) ); |
| 673 | + geometry.faces.push( new THREE.Face3( outside + seg, inside + seg1, (layer===0) ? (outside + seg1) : (inside + seg), null, color, 0 )); |
673 | 674 | } |
674 | 675 | } |
675 | 676 |
|
|
0 commit comments