@@ -94,35 +94,29 @@ function vtkImageMarchingSquares(publicAPI, model) {
9494 // pixelPts = a flattened world coordinates array of [ (i,j,k), (i+1,j,k), (i,j+1,k), (i+1,j+1,k)]
9595
9696 // 0: i, j, k
97- let worldPos = indexToWorld ( ijk ) ;
98- pixelPts [ 0 ] = worldPos [ 0 ] ;
99- pixelPts [ 1 ] = worldPos [ 1 ] ;
100- pixelPts [ 2 ] = worldPos [ 2 ] ;
97+ const neighborIJK = [ ...ijk ] ;
98+ indexToWorld ( neighborIJK , pixelPts ) ;
10199
102100 // 1: i+1, j, k
103- const ijk1 = [ ...ijk ] ;
104- ijk1 [ kernelX ] += 1 ;
105- worldPos = indexToWorld ( ijk1 ) ;
106- pixelPts [ 3 ] = worldPos [ 0 ] ;
107- pixelPts [ 4 ] = worldPos [ 1 ] ;
108- pixelPts [ 5 ] = worldPos [ 2 ] ;
109-
110- // 2: i, j+1, k
111- const ijk2 = [ ...ijk ] ;
112- ijk2 [ kernelY ] += 1 ;
113- worldPos = indexToWorld ( ijk2 ) ;
114- pixelPts [ 6 ] = worldPos [ 0 ] ;
115- pixelPts [ 7 ] = worldPos [ 1 ] ;
116- pixelPts [ 8 ] = worldPos [ 2 ] ;
117-
118- // 3: i+1, j+1, k
119- const ijk3 = [ ...ijk ] ;
120- ijk3 [ kernelX ] += 1 ;
121- ijk3 [ kernelY ] += 1 ;
122- worldPos = indexToWorld ( ijk3 ) ;
123- pixelPts [ 9 ] = worldPos [ 0 ] ;
124- pixelPts [ 10 ] = worldPos [ 1 ] ;
125- pixelPts [ 11 ] = worldPos [ 2 ] ;
101+ neighborIJK [ kernelX ] += 1 ;
102+ const temp = indexToWorld ( neighborIJK , [ ] ) ;
103+ pixelPts [ 3 ] = temp [ 0 ] ;
104+ pixelPts [ 4 ] = temp [ 1 ] ;
105+ pixelPts [ 5 ] = temp [ 2 ] ;
106+
107+ // 2: i+1, j+1, k
108+ neighborIJK [ kernelY ] += 1 ;
109+ indexToWorld ( neighborIJK , temp ) ;
110+ pixelPts [ 9 ] = temp [ 0 ] ;
111+ pixelPts [ 10 ] = temp [ 1 ] ;
112+ pixelPts [ 11 ] = temp [ 2 ] ;
113+
114+ // 3: i, j+1, k
115+ neighborIJK [ kernelX ] -= 1 ;
116+ indexToWorld ( neighborIJK , temp ) ;
117+ pixelPts [ 6 ] = temp [ 0 ] ;
118+ pixelPts [ 7 ] = temp [ 1 ] ;
119+ pixelPts [ 8 ] = temp [ 2 ] ;
126120 } ;
127121
128122 /**
0 commit comments