@@ -286,8 +286,10 @@ const createRenderingPipeline = (
286
286
const lowerLeft = viewportPosition . getComputedWorldValue ( renderer )
287
287
viewportPosition . setValue ( 1.0 , 1.0 , 0.0 )
288
288
const upperRight = viewportPosition . getComputedWorldValue ( renderer )
289
- const roi = domWidgetView . model . get ( 'roi' ) . slice ( )
290
- const largestRoi = domWidgetView . model . get ( '_largest_roi' )
289
+ const modelRoi = domWidgetView . model . get ( 'roi' )
290
+ const roi = ! ! modelRoi . slice ? modelRoi : new Float32Array ( modelRoi . buffer )
291
+ const modelLargestRoi = domWidgetView . model . get ( '_largest_roi' )
292
+ const largestRoi = ! ! modelLargestRoi . slice ? modelLargestRoi : new Float32Array ( modelLargestRoi . buffer )
291
293
const padFactor = 0.5
292
294
const xPadding = ( upperRight [ 0 ] - lowerLeft [ 0 ] ) * padFactor
293
295
let yPadding = ( upperRight [ 1 ] - lowerLeft [ 1 ] ) * padFactor
@@ -943,7 +945,9 @@ const ViewerView = widgets.DOMWidgetView.extend({
943
945
this . model . save_changes ( )
944
946
} , 50 )
945
947
// If view-up has not been set, set initial value to itk-vtk-viewer default
946
- const viewUp = this . model . get ( 'camera' ) . slice ( 6 , 9 )
948
+ const camera = this . model . get ( 'camera' )
949
+ const cameraData = ! ! camera . slice ? camera : new Float32Array ( camera . buffer )
950
+ const viewUp = cameraData . slice ( 6 , 9 )
947
951
if ( ! viewUp [ 0 ] && ! viewUp [ 1 ] && ! viewUp [ 2 ] ) {
948
952
onCameraChanged ( )
949
953
} else {
@@ -1365,10 +1369,11 @@ const ViewerView = widgets.DOMWidgetView.extend({
1365
1369
camera_changed : function ( ) {
1366
1370
const camera = this . model . get ( 'camera' )
1367
1371
if ( this . model . hasOwnProperty ( 'itkVtkViewer' ) ) {
1372
+ const cameraData = ! ! camera . slice ? camera : new Float32Array ( camera . buffer )
1368
1373
const viewProxy = this . model . itkVtkViewer . getViewProxy ( )
1369
- viewProxy . setCameraPosition ( ...camera . subarray ( 0 , 3 ) )
1370
- viewProxy . setCameraFocalPoint ( ...camera . subarray ( 3 , 6 ) )
1371
- viewProxy . setCameraViewUp ( ...camera . subarray ( 6 , 9 ) )
1374
+ viewProxy . setCameraPosition ( ...cameraData . subarray ( 0 , 3 ) )
1375
+ viewProxy . setCameraFocalPoint ( ...cameraData . subarray ( 3 , 6 ) )
1376
+ viewProxy . setCameraViewUp ( ...cameraData . subarray ( 6 , 9 ) )
1372
1377
viewProxy . getCamera ( ) . computeDistance ( )
1373
1378
viewProxy . renderLater ( )
1374
1379
}
0 commit comments