From 105ec3807d2ecda08b22fef832df44b3288017c8 Mon Sep 17 00:00:00 2001 From: David Berger Date: Tue, 11 Oct 2022 10:50:13 +0200 Subject: [PATCH] fix(textwidget): Fix the TextWidget Part of the API of the widgets has changed in vtk.js making the widget crash --- .eslintrc.js | 1 + .../tools/TextAnnotationTool.js | 4 ++-- src/vtk/TextWidget/behavior.js | 23 +++++++++---------- src/vtk/TextWidget/index.js | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 4fe1a713..5f8e5bc6 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -29,6 +29,7 @@ module.exports = { 'no-plusplus': 0, 'import/no-extraneous-dependencies': 0, // paraview-glance alias 'linebreak-style': 0, + 'no-underscore-dangle': 0, 'vue/component-tags-order': 0, diff --git a/src/components/tools/MeasurementTools/tools/TextAnnotationTool.js b/src/components/tools/MeasurementTools/tools/TextAnnotationTool.js index bf24e86b..e921f8ad 100644 --- a/src/components/tools/MeasurementTools/tools/TextAnnotationTool.js +++ b/src/components/tools/MeasurementTools/tools/TextAnnotationTool.js @@ -4,7 +4,7 @@ import create2DTool, { // ---------------------------------------------------------------------------- -const RulerComponent = create2DTool('Text', { +const TextComponent = create2DTool('Text', { watch: { name() { this.updateMeasurements(); @@ -59,4 +59,4 @@ const RulerComponent = create2DTool('Text', { }, }); -export default RulerComponent; +export default TextComponent; diff --git a/src/vtk/TextWidget/behavior.js b/src/vtk/TextWidget/behavior.js index c91e679a..dbb2e0e0 100644 --- a/src/vtk/TextWidget/behavior.js +++ b/src/vtk/TextWidget/behavior.js @@ -3,7 +3,7 @@ import macro from '@kitware/vtk.js/macro'; const MAX_POINTS = 1; export default function widgetBehavior(publicAPI, model) { - model.classHierarchy.push('vtkDistanceWidgetProp'); + model.classHierarchy.push('vtkTextWidgetProp'); let isDragging = null; // -------------------------------------------------------------------------- @@ -47,8 +47,8 @@ export default function widgetBehavior(publicAPI, model) { newHandle.setScale1(moveHandle.getScale1()); } else { isDragging = true; - model.openGLRenderWindow.setCursor('grabbing'); - model.interactor.requestAnimation(publicAPI); + model._apiSpecificRenderWindow.setCursor('grabbing'); + model._interactor.requestAnimation(publicAPI); } publicAPI.invokeStartInteractionEvent(); @@ -64,7 +64,7 @@ export default function widgetBehavior(publicAPI, model) { model.hasFocus && model.widgetState.getHandleList().length === MAX_POINTS ) { - model.widgetManager.releaseFocus(); + model._widgetManager.releaseFocus(); return macro.VOID; } @@ -77,7 +77,7 @@ export default function widgetBehavior(publicAPI, model) { ) { const worldCoords = model.manipulator.handleEvent( callData, - model.openGLRenderWindow + model._apiSpecificRenderWindow ); if ( worldCoords.length && @@ -98,9 +98,9 @@ export default function widgetBehavior(publicAPI, model) { publicAPI.handleLeftButtonRelease = () => { if (isDragging && model.pickable) { - model.openGLRenderWindow.setCursor('pointer'); + model._apiSpecificRenderWindow.setCursor('pointer'); model.widgetState.deactivate(); - model.interactor.cancelAnimation(publicAPI); + model._interactor.cancelAnimation(publicAPI); publicAPI.invokeEndInteractionEvent(); } else if (model.activeState !== model.widgetState.getMoveHandle()) { model.widgetState.deactivate(); @@ -112,7 +112,6 @@ export default function widgetBehavior(publicAPI, model) { ) { publicAPI.invokeEndInteractionEvent(); } - isDragging = false; }; @@ -128,7 +127,7 @@ export default function widgetBehavior(publicAPI, model) { model.activeState = model.widgetState.getMoveHandle(); model.activeState.activate(); model.activeState.setVisible(true); - model.interactor.requestAnimation(publicAPI); + model._interactor.requestAnimation(publicAPI); publicAPI.invokeStartInteractionEvent(); } model.hasFocus = true; @@ -138,7 +137,7 @@ export default function widgetBehavior(publicAPI, model) { publicAPI.loseFocus = () => { if (model.hasFocus) { - model.interactor.cancelAnimation(publicAPI); + model._interactor.cancelAnimation(publicAPI); publicAPI.invokeEndInteractionEvent(); } model.widgetState.deactivate(); @@ -146,7 +145,7 @@ export default function widgetBehavior(publicAPI, model) { model.widgetState.getMoveHandle().setVisible(false); model.activeState = null; model.hasFocus = false; - model.widgetManager.enablePicking(); - model.interactor.render(); + model._widgetManager.enablePicking(); + model._interactor.render(); }; } diff --git a/src/vtk/TextWidget/index.js b/src/vtk/TextWidget/index.js index 6aa7aab3..0b667856 100644 --- a/src/vtk/TextWidget/index.js +++ b/src/vtk/TextWidget/index.js @@ -16,7 +16,7 @@ import { ViewTypes } from '@kitware/vtk.js/Widgets/Core/WidgetManager/Constants' // ---------------------------------------------------------------------------- function vtkTextWidget(publicAPI, model) { - model.classHierarchy.push('vtkDistanceWidget'); + model.classHierarchy.push('vtkTextWidget'); // --- Widget Requirement ---------------------------------------------------