@kitware/vtk.js 23.4.1 → 24.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/BREAKING_CHANGES.md +33 -0
  2. package/Common/Core/DataArray.js +4 -0
  3. package/Common/Core/Math/index.js +2 -2
  4. package/Common/Core/Math.js +1 -1
  5. package/Common/DataModel/DataSetAttributes/FieldData.js +9 -5
  6. package/Common/DataModel/ImageData.d.ts +23 -6
  7. package/Common/DataModel/ImageData.js +8 -1
  8. package/Common/DataModel/PolyData.d.ts +8 -1
  9. package/Common/DataModel/PolyData.js +5 -3
  10. package/Common/DataModel/Triangle.js +217 -2
  11. package/Common/Transform/LandmarkTransform.js +1 -1
  12. package/Filters/General/OBBTree/OBBNode.js +82 -0
  13. package/Filters/General/OBBTree/helper.js +92 -0
  14. package/Filters/General/OBBTree.js +1249 -0
  15. package/Filters/General/WindowedSincPolyDataFilter.js +1 -1
  16. package/Filters/General.js +2 -0
  17. package/Filters/Sources/CircleSource.js +1 -1
  18. package/Filters/Sources/PointSource.js +1 -1
  19. package/Filters/Texture/TextureMapToPlane.js +1 -1
  20. package/IO/Core/DataAccessHelper.d.ts +6 -0
  21. package/Interaction/Manipulators/KeyboardCameraManipulator.js +1 -1
  22. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +1 -1
  23. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +1 -1
  24. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +1 -1
  25. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +1 -1
  26. package/Interaction/Style/InteractorStyleImage.js +3 -3
  27. package/Interaction/Style/InteractorStyleMPRSlice.js +12 -6
  28. package/Interaction/Style/InteractorStyleManipulator.js +42 -28
  29. package/Interaction/Style/InteractorStyleRemoteMouse.js +32 -14
  30. package/Interaction/Style/InteractorStyleTrackballCamera.js +7 -7
  31. package/Interaction/Widgets/OrientationMarkerWidget.js +18 -13
  32. package/Interaction/Widgets/PiecewiseGaussianWidget.js +1 -1
  33. package/Interaction/Widgets.js +1 -35
  34. package/Proxy/Core/View2DProxy.js +1 -1
  35. package/Rendering/Core/ColorTransferFunction.js +1 -1
  36. package/Rendering/Core/Coordinate.js +1 -1
  37. package/Rendering/Core/CubeAxesActor.js +1 -1
  38. package/Rendering/Core/Glyph3DMapper.js +1 -1
  39. package/Rendering/Core/ImageMapper.js +1 -1
  40. package/Rendering/Core/InteractorObserver.js +11 -10
  41. package/Rendering/Core/InteractorStyle.js +9 -4
  42. package/Rendering/Core/Mapper.js +1 -1
  43. package/Rendering/Core/Prop.js +6 -4
  44. package/Rendering/Core/Prop3D.js +1 -1
  45. package/Rendering/Core/RenderWindowInteractor.js +24 -17
  46. package/Rendering/Core/Renderer.js +24 -19
  47. package/Rendering/Core/ScalarBarActor.js +1 -1
  48. package/Rendering/Core/Viewport.js +1 -1
  49. package/Rendering/Core/VolumeMapper.js +1 -1
  50. package/Rendering/OpenGL/Actor.js +2 -2
  51. package/Rendering/OpenGL/Actor2D.js +2 -2
  52. package/Rendering/OpenGL/BufferObject.js +6 -5
  53. package/Rendering/OpenGL/Camera.js +3 -3
  54. package/Rendering/OpenGL/CellArrayBufferObject.js +1 -1
  55. package/Rendering/OpenGL/Framebuffer.js +13 -12
  56. package/Rendering/OpenGL/Glyph3DMapper.js +10 -8
  57. package/Rendering/OpenGL/HardwareSelector.js +35 -25
  58. package/Rendering/OpenGL/ImageMapper.js +51 -45
  59. package/Rendering/OpenGL/ImageSlice.js +2 -2
  60. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +4 -2
  61. package/Rendering/OpenGL/PolyDataMapper.js +14 -11
  62. package/Rendering/OpenGL/PolyDataMapper2D.js +7 -6
  63. package/Rendering/OpenGL/Renderer.js +11 -7
  64. package/Rendering/OpenGL/ReplacementShaderMapper.js +1 -1
  65. package/Rendering/OpenGL/ScalarBarActor.js +2 -2
  66. package/Rendering/OpenGL/ShaderCache.js +7 -5
  67. package/Rendering/OpenGL/Skybox.js +11 -9
  68. package/Rendering/OpenGL/SphereMapper.js +2 -2
  69. package/Rendering/OpenGL/StickMapper.js +2 -2
  70. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +13 -12
  71. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +11 -9
  72. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +19 -12
  73. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +9 -6
  74. package/Rendering/OpenGL/Texture.js +44 -31
  75. package/Rendering/OpenGL/VertexArrayObject.js +7 -7
  76. package/Rendering/OpenGL/Volume.js +3 -2
  77. package/Rendering/OpenGL/VolumeMapper.js +30 -26
  78. package/Rendering/OpenGL/glsl/vtkVolumeFS.glsl.js +1 -1
  79. package/Rendering/SceneGraph/ViewNode.js +8 -7
  80. package/Rendering/WebGPU/Renderer.js +18 -10
  81. package/Widgets/Core/AbstractWidget.js +5 -4
  82. package/Widgets/Core/AbstractWidgetFactory.js +2 -1
  83. package/Widgets/Core/WidgetManager.js +66 -49
  84. package/Widgets/Manipulators/LineManipulator.js +1 -1
  85. package/Widgets/Representations/CircleContextRepresentation.js +1 -1
  86. package/Widgets/Representations/ImplicitPlaneRepresentation.js +5 -5
  87. package/Widgets/Representations/PolyLineRepresentation.js +1 -1
  88. package/Widgets/Representations/ResliceCursorContextRepresentation.js +7 -7
  89. package/Widgets/SVG/SVGLandmarkRepresentation/Constants.js +2 -2
  90. package/Widgets/SVG/SVGLandmarkRepresentation.js +21 -8
  91. package/Widgets/SVG/SVGRepresentation.js +1 -1
  92. package/Widgets/Widgets3D/AngleWidget/behavior.js +14 -6
  93. package/Widgets/Widgets3D/DistanceWidget/behavior.js +14 -6
  94. package/Widgets/Widgets3D/EllipseWidget.js +0 -1
  95. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +6 -2
  96. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +4 -2
  97. package/Widgets/Widgets3D/LabelWidget/behavior.js +138 -0
  98. package/Widgets/Widgets3D/LabelWidget/state.js +22 -0
  99. package/Widgets/Widgets3D/LabelWidget.js +79 -0
  100. package/Widgets/Widgets3D/LineWidget/behavior.js +18 -9
  101. package/Widgets/Widgets3D/LineWidget/helpers.js +1 -1
  102. package/Widgets/Widgets3D/LineWidget.js +0 -1
  103. package/Widgets/Widgets3D/PaintWidget/behavior.js +5 -3
  104. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +18 -8
  105. package/Widgets/Widgets3D/RectangleWidget.js +0 -1
  106. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +1 -1
  107. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +1 -1
  108. package/Widgets/Widgets3D/ResliceCursorWidget.js +1 -1
  109. package/Widgets/Widgets3D/ShapeWidget/behavior.js +18 -11
  110. package/Widgets/Widgets3D/SplineWidget/behavior.js +33 -21
  111. package/interfaces.d.ts +11 -0
  112. package/macros.d.ts +26 -1
  113. package/macros.js +51 -19
  114. package/package.json +1 -1
  115. package/types.d.ts +1 -0
  116. package/Interaction/Widgets/AbstractWidget.js +0 -104
  117. package/Interaction/Widgets/DistanceRepresentation.js +0 -116
  118. package/Interaction/Widgets/DistanceWidget.js +0 -77
  119. package/Interaction/Widgets/HandleRepresentation/Constants.js +0 -12
  120. package/Interaction/Widgets/HandleRepresentation.js +0 -100
  121. package/Interaction/Widgets/HandleWidget/Constants.js +0 -9
  122. package/Interaction/Widgets/HandleWidget.js +0 -194
  123. package/Interaction/Widgets/ImageCroppingRegionsRepresentation.js +0 -233
  124. package/Interaction/Widgets/ImageCroppingRegionsWidget/Constants.js +0 -16
  125. package/Interaction/Widgets/ImageCroppingRegionsWidget.js +0 -573
  126. package/Interaction/Widgets/LabelRepresentation/Constants.js +0 -17
  127. package/Interaction/Widgets/LabelRepresentation.js +0 -325
  128. package/Interaction/Widgets/LabelWidget.js +0 -65
  129. package/Interaction/Widgets/LineRepresentation/Constants.js +0 -21
  130. package/Interaction/Widgets/LineRepresentation.js +0 -498
  131. package/Interaction/Widgets/LineWidget/Constants.js +0 -11
  132. package/Interaction/Widgets/LineWidget.js +0 -296
  133. package/Interaction/Widgets/PointPlacer.js +0 -51
  134. package/Interaction/Widgets/ResliceCursor/ResliceCursor/Constants.js +0 -10
  135. package/Interaction/Widgets/ResliceCursor/ResliceCursor.js +0 -269
  136. package/Interaction/Widgets/ResliceCursor/ResliceCursorActor/Constants.js +0 -10
  137. package/Interaction/Widgets/ResliceCursor/ResliceCursorActor.js +0 -146
  138. package/Interaction/Widgets/ResliceCursor/ResliceCursorLineRepresentation.js +0 -332
  139. package/Interaction/Widgets/ResliceCursor/ResliceCursorPolyDataAlgorithm.js +0 -134
  140. package/Interaction/Widgets/ResliceCursor/ResliceCursorRepresentation/Constants.js +0 -16
  141. package/Interaction/Widgets/ResliceCursor/ResliceCursorRepresentation.js +0 -371
  142. package/Interaction/Widgets/ResliceCursor/ResliceCursorWidget/Constants.js +0 -10
  143. package/Interaction/Widgets/ResliceCursor/ResliceCursorWidget.js +0 -157
  144. package/Interaction/Widgets/SphereHandleRepresentation.js +0 -370
  145. package/Interaction/Widgets/WidgetRepresentation.js +0 -121
@@ -1,116 +0,0 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import macro from '../../macros.js';
4
- import vtkLabelRepresentation from './LabelRepresentation.js';
5
- import vtkLineRepresentation from './LineRepresentation.js';
6
- import { f as distance2BetweenPoints } from '../../Common/Core/Math/index.js';
7
-
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- // vtkDistanceRepresentation methods
12
- // ----------------------------------------------------------------------------
13
-
14
- function vtkDistanceRepresentation(publicAPI, model) {
15
- // Set our className
16
- model.classHierarchy.push('vtkDistanceRepresentation');
17
-
18
- var superClass = _objectSpread({}, publicAPI);
19
-
20
- publicAPI.setRenderer = function (renderer) {
21
- model.labelRepresentation.setRenderer(renderer);
22
- superClass.setRenderer(renderer);
23
- publicAPI.modified();
24
- };
25
-
26
- publicAPI.getContainer = function () {
27
- return model.labelRepresentation.getContainer();
28
- };
29
-
30
- publicAPI.setContainer = function (container) {
31
- model.labelRepresentation.setContainer(container);
32
- publicAPI.modified();
33
- };
34
-
35
- publicAPI.getLabelStyle = function () {
36
- return model.labelRepresentation.getLabelStyle();
37
- };
38
-
39
- publicAPI.setLabelStyle = function (labelStyle) {
40
- model.labelRepresentation.setLabelStyle(labelStyle);
41
- publicAPI.modified();
42
- };
43
-
44
- publicAPI.getActors = function () {
45
- var actors = superClass.getActors();
46
- actors = [].concat(_toConsumableArray(actors), _toConsumableArray(model.labelRepresentation.getActors()));
47
- return actors;
48
- };
49
-
50
- publicAPI.getDistance = function () {
51
- return Math.sqrt(distance2BetweenPoints(publicAPI.getPoint1WorldPosition(), publicAPI.getPoint2WorldPosition())).toFixed(model.numberOfDecimals);
52
- };
53
-
54
- publicAPI.setPoint1WorldPosition = function (pos) {
55
- superClass.setPoint1WorldPosition(pos);
56
- publicAPI.updateLabelRepresentation();
57
- publicAPI.modified();
58
- };
59
-
60
- publicAPI.setPoint2WorldPosition = function (pos) {
61
- superClass.setPoint2WorldPosition(pos);
62
- publicAPI.updateLabelRepresentation();
63
- publicAPI.modified();
64
- };
65
-
66
- publicAPI.updateLabelRepresentation = function () {
67
- model.labelRepresentation.setLabelText(publicAPI.getDistance());
68
- var p1Position = model.point1Representation.getWorldPosition();
69
- var p2Position = model.point2Representation.getWorldPosition();
70
- var coord = [];
71
-
72
- for (var i = 0; i < 3; i++) {
73
- coord[i] = p1Position[i] + (p2Position[i] - p1Position[i]) * model.labelPositionInLine;
74
- }
75
-
76
- model.labelRepresentation.setWorldPosition(coord);
77
- };
78
- } // ----------------------------------------------------------------------------
79
- // Object factory
80
- // ----------------------------------------------------------------------------
81
-
82
-
83
- var DEFAULT_VALUES = {
84
- labelStyle: {
85
- fontColor: 'white',
86
- fontStyle: 'normal',
87
- fontSize: '15',
88
- fontFamily: 'Arial',
89
- strokeColor: 'black',
90
- strokeSize: '1'
91
- },
92
- numberOfDecimals: 2,
93
- labelPositionInLine: 0.5,
94
- container: null
95
- }; // ----------------------------------------------------------------------------
96
-
97
- function extend(publicAPI, model) {
98
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
99
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
100
-
101
- vtkLineRepresentation.extend(publicAPI, model, initialValues);
102
- model.labelRepresentation = vtkLabelRepresentation.newInstance();
103
- macro.setGet(publicAPI, model, ['numberOfDecimals', 'labelPosition']);
104
- macro.get(publicAPI, model, ['labelRepresentation']); // Object methods
105
-
106
- vtkDistanceRepresentation(publicAPI, model);
107
- } // ----------------------------------------------------------------------------
108
-
109
- var newInstance = macro.newInstance(extend, 'vtkDistanceRepresentation'); // ----------------------------------------------------------------------------
110
-
111
- var vtkDistanceRepresentation$1 = {
112
- newInstance: newInstance,
113
- extend: extend
114
- };
115
-
116
- export { vtkDistanceRepresentation$1 as default, extend, newInstance };
@@ -1,77 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
3
- import vtkDistanceRepresentation from './DistanceRepresentation.js';
4
- import vtkLabelWidget from './LabelWidget.js';
5
- import vtkLineWidget from './LineWidget.js';
6
-
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
- // vtkDistanceWidget methods
11
- // ----------------------------------------------------------------------------
12
-
13
- function vtkDistanceWidget(publicAPI, model) {
14
- // Set our className
15
- model.classHierarchy.push('vtkDistanceWidget');
16
-
17
- var superClass = _objectSpread({}, publicAPI);
18
-
19
- publicAPI.setInteractor = function (i) {
20
- superClass.setInteractor(i);
21
- model.labelWidget.setInteractor(model.interactor);
22
- publicAPI.modified();
23
- };
24
-
25
- publicAPI.setEnabled = function (enabling) {
26
- superClass.setEnabled(enabling);
27
- model.labelWidget.setEnabled(publicAPI.computeLabelWidgetVisibility());
28
- };
29
-
30
- publicAPI.createDefaultRepresentation = function () {
31
- if (!model.widgetRep) {
32
- publicAPI.setWidgetRep(vtkDistanceRepresentation.newInstance());
33
- }
34
- };
35
-
36
- publicAPI.setWidgetRep = function (rep) {
37
- superClass.setWidgetRep(rep);
38
-
39
- if (model.widgetRep) {
40
- model.labelWidget.setWidgetRep(model.widgetRep.getLabelRepresentation());
41
- }
42
- };
43
-
44
- publicAPI.computeLabelWidgetVisibility = function () {
45
- return model.currentHandle !== 0 && model.enabled;
46
- };
47
-
48
- publicAPI.setCurrentHandle = function (value) {
49
- superClass.setCurrentHandle(value);
50
- model.labelWidget.setEnabled(publicAPI.computeLabelWidgetVisibility());
51
- };
52
- } // ----------------------------------------------------------------------------
53
- // Object factory
54
- // ----------------------------------------------------------------------------
55
-
56
-
57
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
58
-
59
- function extend(publicAPI, model) {
60
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
61
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
62
-
63
- vtkLineWidget.extend(publicAPI, model, initialValues);
64
- model.labelWidget = vtkLabelWidget.newInstance();
65
- model.labelWidget.setProcessEvents(false); // Object methods
66
-
67
- vtkDistanceWidget(publicAPI, model);
68
- } // ----------------------------------------------------------------------------
69
-
70
- var newInstance = macro.newInstance(extend, 'vtkDistanceWidget'); // ----------------------------------------------------------------------------
71
-
72
- var vtkDistanceWidget$1 = {
73
- newInstance: newInstance,
74
- extend: extend
75
- };
76
-
77
- export { vtkDistanceWidget$1 as default, extend, newInstance };
@@ -1,12 +0,0 @@
1
- var InteractionState = {
2
- OUTSIDE: 0,
3
- NEARBY: 1,
4
- SELECTING: 2,
5
- TRANSLATING: 3,
6
- SCALING: 4
7
- };
8
- var HandleRepConstants = {
9
- InteractionState: InteractionState
10
- };
11
-
12
- export { InteractionState, HandleRepConstants as default };
@@ -1,100 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
3
- import HandleRepConstants from './HandleRepresentation/Constants.js';
4
- import vtkCoordinate from '../../Rendering/Core/Coordinate.js';
5
- import vtkPointPlacer from './PointPlacer.js';
6
- import vtkWidgetRepresentation from './WidgetRepresentation.js';
7
-
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- var InteractionState = HandleRepConstants.InteractionState; // ----------------------------------------------------------------------------
12
- // vtkHandleRepresentation methods
13
- // ----------------------------------------------------------------------------
14
-
15
- function vtkHandleRepresentation(publicAPI, model) {
16
- // Set our className
17
- model.classHierarchy.push('vtkHandleRepresentation');
18
-
19
- publicAPI.setDisplayPosition = function (displayPos) {
20
- if (model.renderer && model.pointPlacer) {
21
- var worldPos = [];
22
-
23
- if (model.pointPlacer.computeWorldPosition(model.renderer, displayPos, worldPos)) {
24
- model.displayPosition.setValue(displayPos);
25
- model.worldPosition.setValue(worldPos);
26
- }
27
- } else {
28
- model.displayPosition.setValue(displayPos);
29
- }
30
- };
31
-
32
- publicAPI.getDisplayPosition = function (pos) {
33
- if (model.renderer) {
34
- var p = model.worldPosition.getComputedDisplayValue(model.renderer);
35
- model.displayPosition.setValue(p[0], p[1], 0.0);
36
- }
37
-
38
- pos[0] = model.displayPosition.getValue()[0];
39
- pos[1] = model.displayPosition.getValue()[1];
40
- pos[2] = model.displayPosition.getValue()[2];
41
- };
42
-
43
- publicAPI.getDisplayPosition = function () {
44
- if (model.renderer) {
45
- var p = model.worldPosition.getComputedDisplayValue(model.renderer);
46
- model.displayPosition.setValue(p[0], p[1], 0.0);
47
- }
48
-
49
- return model.displayPosition.getValue();
50
- };
51
-
52
- publicAPI.setWorldPosition = function (pos) {
53
- model.worldPosition.setValue(pos);
54
- };
55
-
56
- publicAPI.getWorldPosition = function (pos) {
57
- model.worldPosition.getValue(pos);
58
- };
59
-
60
- publicAPI.getWorldPosition = function () {
61
- return model.worldPosition.getValue();
62
- };
63
- } // ----------------------------------------------------------------------------
64
- // Object factory
65
- // ----------------------------------------------------------------------------
66
-
67
-
68
- var DEFAULT_VALUES = {
69
- displayPosition: null,
70
- worldPosition: null,
71
- tolerance: 15,
72
- activeRepresentation: 0,
73
- constrained: 0,
74
- pointPlacer: null
75
- }; // ----------------------------------------------------------------------------
76
-
77
- function extend(publicAPI, model) {
78
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
79
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
80
-
81
- vtkWidgetRepresentation.extend(publicAPI, model, initialValues);
82
- model.displayPosition = vtkCoordinate.newInstance();
83
- model.displayPosition.setCoordinateSystemToDisplay();
84
- model.worldPosition = vtkCoordinate.newInstance();
85
- model.worldPosition.setCoordinateSystemToWorld();
86
- model.pointPlacer = vtkPointPlacer.newInstance();
87
- model.interactionState = InteractionState.OUTSIDE;
88
- macro.setGet(publicAPI, model, ['activeRepresentation', 'tolerance']); // Object methods
89
-
90
- vtkHandleRepresentation(publicAPI, model);
91
- } // ----------------------------------------------------------------------------
92
-
93
- var newInstance = macro.newInstance(extend, 'vtkHandleRepresentation'); // ----------------------------------------------------------------------------
94
-
95
- var vtkHandleRepresentation$1 = _objectSpread({
96
- newInstance: newInstance,
97
- extend: extend
98
- }, HandleRepConstants);
99
-
100
- export { vtkHandleRepresentation$1 as default, extend, newInstance };
@@ -1,9 +0,0 @@
1
- var WidgetState = {
2
- START: 0,
3
- ACTIVE: 1
4
- };
5
- var Constants = {
6
- WidgetState: WidgetState
7
- };
8
-
9
- export { WidgetState, Constants as default };
@@ -1,194 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
3
- import vtkAbstractWidget from './AbstractWidget.js';
4
- import vtkSphereHandleRepresentation from './SphereHandleRepresentation.js';
5
- import vtkHandleRepresentation from './HandleRepresentation.js';
6
- import Constants from './HandleWidget/Constants.js';
7
-
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- var VOID = macro.VOID,
12
- EVENT_ABORT = macro.EVENT_ABORT;
13
- var InteractionState = vtkHandleRepresentation.InteractionState;
14
- var WidgetState = Constants.WidgetState; // ----------------------------------------------------------------------------
15
- // vtkHandleWidget methods
16
- // ----------------------------------------------------------------------------
17
-
18
- function vtkHandleWidget(publicAPI, model) {
19
- // Set our className
20
- model.classHierarchy.push('vtkHandleWidget');
21
-
22
- function genericAction() {
23
- publicAPI.setCursor(model.widgetRep.getInteractionState());
24
- model.widgetRep.highlight(1); // publicAPI.startInteraction();
25
-
26
- publicAPI.invokeStartInteractionEvent();
27
- publicAPI.render();
28
- } // Overridden method
29
-
30
-
31
- publicAPI.createDefaultRepresentation = function () {
32
- if (!model.widgetRep) {
33
- model.widgetRep = vtkSphereHandleRepresentation.newInstance();
34
- }
35
- };
36
-
37
- publicAPI.handleMouseMove = function (callData) {
38
- return publicAPI.moveAction(callData);
39
- };
40
-
41
- publicAPI.handleLeftButtonPress = function (callData) {
42
- return publicAPI.selectAction(callData);
43
- };
44
-
45
- publicAPI.handleLeftButtonRelease = function (callData) {
46
- return publicAPI.endSelectAction(callData);
47
- };
48
-
49
- publicAPI.handleMiddleButtonPress = function (callData) {
50
- return publicAPI.translateAction(callData);
51
- };
52
-
53
- publicAPI.handleMiddleButtonRelease = function (callData) {
54
- return publicAPI.endSelectAction(callData);
55
- };
56
-
57
- publicAPI.handleRightButtonPress = function (callData) {
58
- return publicAPI.scaleAction(callData);
59
- };
60
-
61
- publicAPI.handleRightButtonRelease = function (callData) {
62
- return publicAPI.endSelectAction(callData);
63
- };
64
-
65
- publicAPI.setCursor = function (state) {
66
- switch (state) {
67
- case InteractionState.OUTSIDE:
68
- {
69
- model.interactor.getView().setCursor('default');
70
- break;
71
- }
72
-
73
- default:
74
- {
75
- model.interactor.getView().setCursor('pointer');
76
- }
77
- }
78
- };
79
-
80
- publicAPI.selectAction = function (callData) {
81
- var position = [callData.position.x, callData.position.y];
82
- model.widgetRep.computeInteractionState(position);
83
-
84
- if (model.widgetRep.getInteractionState() === InteractionState.OUTSIDE) {
85
- return VOID;
86
- }
87
-
88
- model.widgetRep.startComplexWidgetInteraction(position);
89
- model.widgetState = WidgetState.ACTIVE;
90
- model.widgetRep.setInteractionState(InteractionState.SELECTING);
91
- genericAction();
92
- return EVENT_ABORT;
93
- };
94
-
95
- publicAPI.translateAction = function (callData) {
96
- var position = [callData.position.x, callData.position.y];
97
- model.widgetRep.computeInteractionState(position);
98
-
99
- if (model.widgetRep.getInteractionState() === InteractionState.OUTSIDE) {
100
- return VOID;
101
- }
102
-
103
- model.widgetRep.startComplexWidgetInteraction(position);
104
- model.widgetState = WidgetState.ACTIVE;
105
- model.widgetRep.setInteractionState(InteractionState.TRANSLATING);
106
- genericAction();
107
- return EVENT_ABORT;
108
- };
109
-
110
- publicAPI.scaleAction = function (callData) {
111
- if (!model.allowHandleResize) {
112
- return VOID;
113
- }
114
-
115
- var position = [callData.position.x, callData.position.y];
116
- model.widgetRep.computeInteractionState(position);
117
-
118
- if (model.widgetRep.getInteractionState() === InteractionState.OUTSIDE) {
119
- return VOID;
120
- }
121
-
122
- model.widgetRep.startComplexWidgetInteraction(position);
123
- model.widgetState = WidgetState.ACTIVE;
124
- model.widgetRep.setInteractionState(InteractionState.SCALING);
125
- genericAction();
126
- return EVENT_ABORT;
127
- };
128
-
129
- publicAPI.endSelectAction = function () {
130
- if (model.widgetState !== WidgetState.ACTIVE) {
131
- return VOID;
132
- }
133
-
134
- model.widgetState = WidgetState.START;
135
- model.widgetRep.highlight(0);
136
- publicAPI.invokeEndInteractionEvent();
137
- publicAPI.render();
138
- return EVENT_ABORT;
139
- };
140
-
141
- publicAPI.moveAction = function (callData) {
142
- var position = [callData.position.x, callData.position.y];
143
- var state = model.widgetRep.getInteractionState();
144
-
145
- if (model.widgetState === WidgetState.START) {
146
- model.widgetRep.computeInteractionState(position);
147
- state = model.widgetRep.getInteractionState();
148
- publicAPI.setCursor(state);
149
-
150
- if (model.widgetRep.getActiveRepresentation() && state !== model.widgetRep.getInteractionState()) {
151
- publicAPI.render();
152
- }
153
-
154
- return state === InteractionState.OUTSIDE ? VOID : EVENT_ABORT;
155
- }
156
-
157
- if (!publicAPI.isDragable()) {
158
- return VOID;
159
- }
160
-
161
- publicAPI.setCursor(state);
162
- model.widgetRep.complexWidgetInteraction(position);
163
- publicAPI.invokeInteractionEvent();
164
- publicAPI.render();
165
- return EVENT_ABORT;
166
- };
167
- } // ----------------------------------------------------------------------------
168
- // Object factory
169
- // ----------------------------------------------------------------------------
170
-
171
-
172
- var DEFAULT_VALUES = {
173
- allowHandleResize: 1,
174
- widgetState: WidgetState.START
175
- }; // ----------------------------------------------------------------------------
176
-
177
- function extend(publicAPI, model) {
178
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
179
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
180
-
181
- vtkAbstractWidget.extend(publicAPI, model, initialValues);
182
- macro.setGet(publicAPI, model, ['allowHandleResize']); // Object methods
183
-
184
- vtkHandleWidget(publicAPI, model);
185
- } // ----------------------------------------------------------------------------
186
-
187
- var newInstance = macro.newInstance(extend, 'vtkHandleWidget'); // ----------------------------------------------------------------------------
188
-
189
- var vtkHandleWidget$1 = _objectSpread({
190
- newInstance: newInstance,
191
- extend: extend
192
- }, Constants);
193
-
194
- export { vtkHandleWidget$1 as default, extend, newInstance };