Skip to content

Commit 6131c04

Browse files
committed
Fix problem with pcon shape when rmin==rmax on top or bottom
Signed-off-by: Sergey Linev <[email protected]>
1 parent 999fe60 commit 6131c04

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

scripts/JSRootGeoPainter.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,8 @@
645645
if (side === 0) {
646646
pnts.push(new THREE.Vector2(rad, layerz));
647647
edges.push(curr_indx);
648-
} else {
648+
} else
649+
if (rad < shape.fRmax[layer]) {
649650
pnts.unshift(new THREE.Vector2(rad, layerz));
650651
edges.unshift(curr_indx);
651652
}
@@ -663,13 +664,13 @@
663664
}
664665

665666
// 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];
669670
for (var seg=0; seg < radiusSegments; ++seg) {
670671
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 ));
673674
}
674675
}
675676

0 commit comments

Comments
 (0)