@@ -166,7 +166,10 @@ function vtkViewProxy(publicAPI, model) {
166
166
// --------------------------------------------------------------------------
167
167
168
168
publicAPI . setContainer = ( container ) => {
169
+ const orientationWidgetEnabled = model . orientationWidget . getEnabled ( ) ;
170
+
169
171
if ( model . container ) {
172
+ model . orientationWidget . setEnabled ( false ) ;
170
173
model . interactor . unbindEvents ( model . container ) ;
171
174
model . openglRenderWindow . setContainer ( null ) ;
172
175
model . cornerAnnotation . setContainer ( null ) ;
@@ -179,6 +182,7 @@ function vtkViewProxy(publicAPI, model) {
179
182
model . cornerAnnotation . setContainer ( container ) ;
180
183
model . interactor . initialize ( ) ;
181
184
model . interactor . bindEvents ( container ) ;
185
+ model . orientationWidget . setEnabled ( orientationWidgetEnabled ) ;
182
186
}
183
187
} ;
184
188
@@ -577,11 +581,21 @@ function vtkViewProxy(publicAPI, model) {
577
581
578
582
// --------------------------------------------------------------------------
579
583
580
- publicAPI . delete = macro . chain (
581
- publicAPI . setContainer ,
582
- model . openglRenderWindow . delete ,
583
- publicAPI . delete
584
- ) ;
584
+ publicAPI . delete = macro . chain ( ( ) => {
585
+ publicAPI . setContainer ( null ) ;
586
+ model . orientationWidget . setEnabled ( false ) ;
587
+ model . orientationWidget . delete ( ) ;
588
+ model . orientationAxesArrow . delete ( ) ;
589
+ model . orientationAxesCube . delete ( ) ;
590
+ model . interactorStyle2D . delete ( ) ;
591
+ model . interactorStyle3D . delete ( ) ;
592
+ model . cornerAnnotation . delete ( ) ;
593
+ // in reverse order
594
+ model . interactor . delete ( ) ;
595
+ model . renderer . delete ( ) ;
596
+ model . openglRenderWindow . delete ( ) ;
597
+ model . renderWindow . delete ( ) ;
598
+ } , publicAPI . delete ) ;
585
599
586
600
// --------------------------------------------------------------------------
587
601
// Initialization from state or input
0 commit comments