@kitware/vtk.js 28.10.2 → 28.11.1

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 (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +193 -277
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/README.md +1 -1
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +85 -144
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +192 -256
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +443 -608
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,111 +1,89 @@
1
- var listeners = [];
2
- var orientation = {
1
+ const listeners = [];
2
+ const orientation = {
3
3
  device: {},
4
4
  screen: window.orientation || 0,
5
5
  supported: !!window.DeviceMotionEvent,
6
6
  update: false
7
7
  };
8
- var SCREEN_ORIENTATION_MAP = {
8
+ const SCREEN_ORIENTATION_MAP = {
9
9
  'landscape-primary': 90,
10
10
  'landscape-secondary': -90,
11
11
  'portrait-secondary': 180,
12
12
  'portrait-primary': 0
13
13
  };
14
-
15
14
  function isEventValid(evt) {
16
15
  return Number.isFinite(evt.alpha);
17
16
  }
18
-
19
17
  function onDeviceOrientationChangeEvent(evt) {
20
18
  orientation.device = evt;
21
-
22
19
  if (!Number.isFinite(evt.alpha)) {
23
20
  orientation.supported = false;
24
21
  }
25
22
  }
26
-
27
23
  function onScreenOrientationChangeEvent() {
28
24
  orientation.screen = SCREEN_ORIENTATION_MAP[window.screen.orientation || window.screen.mozOrientation] || window.orientation || 0;
29
25
  }
30
-
31
26
  function addWindowListeners() {
32
27
  window.addEventListener('orientationchange', onScreenOrientationChangeEvent, false);
33
28
  window.addEventListener('deviceorientation', onDeviceOrientationChangeEvent, false);
34
29
  orientation.update = true;
35
- listeners.filter(function (i) {
36
- return !!i;
37
- }).forEach(function (i) {
38
- return i.renderWindowInteractor.requestAnimation(i);
39
- });
30
+ listeners.filter(i => !!i).forEach(i => i.renderWindowInteractor.requestAnimation(i));
40
31
  }
41
-
42
32
  function removeWindowListeners() {
43
33
  window.removeEventListener('orientationchange', onScreenOrientationChangeEvent, false);
44
34
  window.removeEventListener('deviceorientation', onDeviceOrientationChangeEvent, false);
45
35
  orientation.update = false;
46
- listeners.filter(function (i) {
47
- return !!i;
48
- }).forEach(function (i) {
49
- return i.renderWindowInteractor.cancelAnimation(i);
50
- });
36
+ listeners.filter(i => !!i).forEach(i => i.renderWindowInteractor.cancelAnimation(i));
51
37
  }
52
-
53
38
  function addCameraToSynchronize(renderWindowInteractor, camera, onCameraUpdate) {
54
39
  function onAnimation() {
55
40
  if (orientation.update && isEventValid(orientation.device)) {
56
- var _orientation$device = orientation.device,
57
- alpha = _orientation$device.alpha,
58
- beta = _orientation$device.beta,
59
- gamma = _orientation$device.gamma;
60
- var screen = orientation.screen;
41
+ const {
42
+ alpha,
43
+ beta,
44
+ gamma
45
+ } = orientation.device;
46
+ const {
47
+ screen
48
+ } = orientation;
61
49
  camera.setDeviceAngles(alpha, beta, gamma, screen);
62
-
63
50
  if (onCameraUpdate) {
64
51
  onCameraUpdate();
65
52
  }
66
53
  }
67
54
  }
68
-
69
- var subscription = renderWindowInteractor.onAnimation(onAnimation);
70
- var listener = {
71
- subscription: subscription,
72
- renderWindowInteractor: renderWindowInteractor
55
+ const subscription = renderWindowInteractor.onAnimation(onAnimation);
56
+ const listener = {
57
+ subscription,
58
+ renderWindowInteractor
73
59
  };
74
- var listenerId = listeners.length;
60
+ const listenerId = listeners.length;
75
61
  listeners.push(listener);
76
-
77
62
  if (orientation.update) {
78
63
  listener.renderWindowInteractor.requestAnimation(listener);
79
64
  }
80
-
81
65
  return listenerId;
82
66
  }
83
-
84
67
  function removeCameraToSynchronize(id) {
85
- var cancelAnimation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
86
- var listener = listeners[id];
87
-
68
+ let cancelAnimation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
69
+ const listener = listeners[id];
88
70
  if (listener) {
89
71
  listener.subscription.unsubscribe();
90
-
91
72
  if (cancelAnimation) {
92
73
  listener.renderWindowInteractor.cancelAnimation(listener);
93
74
  }
94
75
  }
95
-
96
76
  listeners[id] = null;
97
77
  }
98
-
99
78
  function isDeviceOrientationSupported() {
100
79
  return orientation.supported;
101
80
  }
102
-
103
81
  var vtkDeviceOrientationToCamera = {
104
- addCameraToSynchronize: addCameraToSynchronize,
105
- addWindowListeners: addWindowListeners,
106
- isDeviceOrientationSupported: isDeviceOrientationSupported,
107
- removeCameraToSynchronize: removeCameraToSynchronize,
108
- removeWindowListeners: removeWindowListeners
82
+ addCameraToSynchronize,
83
+ addWindowListeners,
84
+ isDeviceOrientationSupported,
85
+ removeCameraToSynchronize,
86
+ removeWindowListeners
109
87
  };
110
88
 
111
89
  export { vtkDeviceOrientationToCamera as default };
@@ -1,7 +1,7 @@
1
1
  import vtkDeviceOrientationToCamera from './Misc/DeviceOrientationToCamera.js';
2
2
 
3
3
  var Misc = {
4
- vtkDeviceOrientationToCamera: vtkDeviceOrientationToCamera
4
+ vtkDeviceOrientationToCamera
5
5
  };
6
6
 
7
7
  export { Misc as default };
@@ -1,21 +1,21 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkInteractorStyleTrackballCamera from './InteractorStyleTrackballCamera.js';
3
3
  import { r as radiansFromDegrees } from '../../Common/Core/Math/index.js';
4
4
  import { States } from '../../Rendering/Core/InteractorStyle/Constants.js';
5
5
 
6
+ // ----------------------------------------------------------------------------
6
7
  // vtkInteractorStyleImage methods
7
8
  // ----------------------------------------------------------------------------
8
9
 
9
10
  function vtkInteractorStyleImage(publicAPI, model) {
10
11
  // Set our className
11
- model.classHierarchy.push('vtkInteractorStyleImage'); // Public API methods
12
+ model.classHierarchy.push('vtkInteractorStyleImage');
12
13
 
14
+ // Public API methods
13
15
  publicAPI.superHandleMouseMove = publicAPI.handleMouseMove;
14
-
15
- publicAPI.handleMouseMove = function (callData) {
16
- var pos = callData.position;
17
- var renderer = callData.pokedRenderer;
18
-
16
+ publicAPI.handleMouseMove = callData => {
17
+ const pos = callData.position;
18
+ const renderer = callData.pokedRenderer;
19
19
  switch (model.state) {
20
20
  case States.IS_WINDOW_LEVEL:
21
21
  publicAPI.windowLevel(renderer, pos);
@@ -23,7 +23,6 @@ function vtkInteractorStyleImage(publicAPI, model) {
23
23
  type: 'InteractionEvent'
24
24
  });
25
25
  break;
26
-
27
26
  case States.IS_SLICE:
28
27
  publicAPI.slice(renderer, pos);
29
28
  publicAPI.invokeInteractionEvent({
@@ -31,28 +30,23 @@ function vtkInteractorStyleImage(publicAPI, model) {
31
30
  });
32
31
  break;
33
32
  }
34
-
35
33
  publicAPI.superHandleMouseMove(callData);
36
- }; //----------------------------------------------------------------------------
37
-
34
+ };
38
35
 
36
+ //----------------------------------------------------------------------------
39
37
  publicAPI.superHandleLeftButtonPress = publicAPI.handleLeftButtonPress;
40
-
41
- publicAPI.handleLeftButtonPress = function (callData) {
42
- var pos = callData.position;
43
-
38
+ publicAPI.handleLeftButtonPress = callData => {
39
+ const pos = callData.position;
44
40
  if (!callData.shiftKey && !callData.controlKey) {
45
41
  model.windowLevelStartPosition[0] = pos.x;
46
- model.windowLevelStartPosition[1] = pos.y; // Get the last (the topmost) image
47
-
42
+ model.windowLevelStartPosition[1] = pos.y;
43
+ // Get the last (the topmost) image
48
44
  publicAPI.setCurrentImageNumber(model.currentImageNumber);
49
- var property = model.currentImageProperty;
50
-
45
+ const property = model.currentImageProperty;
51
46
  if (property) {
52
47
  model.windowLevelInitial[0] = property.getColorWindow();
53
48
  model.windowLevelInitial[1] = property.getColorLevel();
54
49
  }
55
-
56
50
  publicAPI.startWindowLevel();
57
51
  } else if (model.interactionMode === 'IMAGE3D' && callData.shiftKey) {
58
52
  // If ctrl+shift or alt+shift is held down, dolly the camera
@@ -70,61 +64,53 @@ function vtkInteractorStyleImage(publicAPI, model) {
70
64
  // The rest of the button + key combinations remain the same
71
65
  publicAPI.superHandleLeftButtonPress(callData);
72
66
  }
73
- }; //--------------------------------------------------------------------------
74
-
67
+ };
75
68
 
69
+ //--------------------------------------------------------------------------
76
70
  publicAPI.superHandleLeftButtonRelease = publicAPI.handleLeftButtonRelease;
77
-
78
- publicAPI.handleLeftButtonRelease = function () {
71
+ publicAPI.handleLeftButtonRelease = () => {
79
72
  switch (model.state) {
80
73
  case States.IS_WINDOW_LEVEL:
81
74
  publicAPI.endWindowLevel();
82
75
  break;
83
-
84
76
  case States.IS_SLICE:
85
77
  publicAPI.endSlice();
86
78
  break;
87
-
88
79
  default:
89
80
  publicAPI.superHandleLeftButtonRelease();
90
81
  break;
91
82
  }
92
- }; //--------------------------------------------------------------------------
93
-
83
+ };
94
84
 
95
- publicAPI.handleStartMouseWheel = function () {
85
+ //--------------------------------------------------------------------------
86
+ publicAPI.handleStartMouseWheel = () => {
96
87
  publicAPI.startSlice();
97
- }; //--------------------------------------------------------------------------
98
-
88
+ };
99
89
 
100
- publicAPI.handleEndMouseWheel = function () {
90
+ //--------------------------------------------------------------------------
91
+ publicAPI.handleEndMouseWheel = () => {
101
92
  publicAPI.endSlice();
102
- }; //--------------------------------------------------------------------------
103
-
104
-
105
- publicAPI.handleMouseWheel = function (callData) {
106
- var camera = callData.pokedRenderer.getActiveCamera();
107
- var distance = camera.getDistance();
108
- distance += callData.spinY; // clamp the distance to the clipping range
93
+ };
109
94
 
110
- var range = camera.getClippingRange();
95
+ //--------------------------------------------------------------------------
96
+ publicAPI.handleMouseWheel = callData => {
97
+ const camera = callData.pokedRenderer.getActiveCamera();
98
+ let distance = camera.getDistance();
99
+ distance += callData.spinY;
111
100
 
101
+ // clamp the distance to the clipping range
102
+ const range = camera.getClippingRange();
112
103
  if (distance < range[0]) {
113
104
  distance = range[0];
114
105
  }
115
-
116
106
  if (distance > range[1]) {
117
107
  distance = range[1];
118
108
  }
119
-
120
109
  camera.setDistance(distance);
121
- var props = callData.pokedRenderer.getViewProps().filter(function (prop) {
122
- return prop.isA('vtkImageSlice');
123
- });
124
- props.forEach(function (prop) {
110
+ const props = callData.pokedRenderer.getViewProps().filter(prop => prop.isA('vtkImageSlice'));
111
+ props.forEach(prop => {
125
112
  if (prop.getMapper().isA('vtkImageResliceMapper')) {
126
- var p = prop.getMapper().getSlicePlane();
127
-
113
+ const p = prop.getMapper().getSlicePlane();
128
114
  if (p) {
129
115
  p.push(callData.spinY);
130
116
  p.modified();
@@ -132,140 +118,124 @@ function vtkInteractorStyleImage(publicAPI, model) {
132
118
  }
133
119
  }
134
120
  });
135
- }; //----------------------------------------------------------------------------
136
-
121
+ };
137
122
 
138
- publicAPI.windowLevel = function (renderer, position) {
123
+ //----------------------------------------------------------------------------
124
+ publicAPI.windowLevel = (renderer, position) => {
139
125
  model.windowLevelCurrentPosition[0] = position.x;
140
126
  model.windowLevelCurrentPosition[1] = position.y;
141
- var rwi = model._interactor;
142
-
127
+ const rwi = model._interactor;
143
128
  if (model.currentImageProperty) {
144
- var size = rwi.getView().getViewportSize(renderer);
145
- var mWindow = model.windowLevelInitial[0];
146
- var level = model.windowLevelInitial[1]; // Compute normalized delta
129
+ const size = rwi.getView().getViewportSize(renderer);
130
+ const mWindow = model.windowLevelInitial[0];
131
+ const level = model.windowLevelInitial[1];
147
132
 
148
- var dx = (model.windowLevelCurrentPosition[0] - model.windowLevelStartPosition[0]) * 4.0 / size[0];
149
- var dy = (model.windowLevelStartPosition[1] - model.windowLevelCurrentPosition[1]) * 4.0 / size[1]; // Scale by current values
133
+ // Compute normalized delta
134
+ let dx = (model.windowLevelCurrentPosition[0] - model.windowLevelStartPosition[0]) * 4.0 / size[0];
135
+ let dy = (model.windowLevelStartPosition[1] - model.windowLevelCurrentPosition[1]) * 4.0 / size[1];
150
136
 
137
+ // Scale by current values
151
138
  if (Math.abs(mWindow) > 0.01) {
152
139
  dx *= mWindow;
153
140
  } else {
154
141
  dx *= mWindow < 0 ? -0.01 : 0.01;
155
142
  }
156
-
157
143
  if (Math.abs(level) > 0.01) {
158
144
  dy *= level;
159
145
  } else {
160
146
  dy *= level < 0 ? -0.01 : 0.01;
161
- } // Abs so that direction does not flip
162
-
147
+ }
163
148
 
149
+ // Abs so that direction does not flip
164
150
  if (mWindow < 0.0) {
165
151
  dx *= -1;
166
152
  }
167
-
168
153
  if (level < 0.0) {
169
154
  dy *= -1;
170
- } // Compute new mWindow level
171
-
172
-
173
- var newWindow = dx + mWindow;
174
- var newLevel = level - dy;
155
+ }
175
156
 
157
+ // Compute new mWindow level
158
+ let newWindow = dx + mWindow;
159
+ const newLevel = level - dy;
176
160
  if (newWindow < 0.01) {
177
161
  newWindow = 0.01;
178
162
  }
179
-
180
163
  model.currentImageProperty.setColorWindow(newWindow);
181
164
  model.currentImageProperty.setColorLevel(newLevel);
182
165
  }
183
- }; //----------------------------------------------------------------------------
184
-
185
-
186
- publicAPI.slice = function (renderer, position) {
187
- var rwi = model._interactor;
188
- var dy = position.y - model.lastSlicePosition;
189
- var camera = renderer.getActiveCamera();
190
- var range = camera.getClippingRange();
191
- var distance = camera.getDistance(); // scale the interaction by the height of the viewport
166
+ };
192
167
 
193
- var viewportHeight = 0.0;
168
+ //----------------------------------------------------------------------------
169
+ publicAPI.slice = (renderer, position) => {
170
+ const rwi = model._interactor;
171
+ const dy = position.y - model.lastSlicePosition;
172
+ const camera = renderer.getActiveCamera();
173
+ const range = camera.getClippingRange();
174
+ let distance = camera.getDistance();
194
175
 
176
+ // scale the interaction by the height of the viewport
177
+ let viewportHeight = 0.0;
195
178
  if (camera.getParallelProjection()) {
196
179
  viewportHeight = 2.0 * camera.getParallelScale();
197
180
  } else {
198
- var angle = radiansFromDegrees(camera.getViewAngle());
181
+ const angle = radiansFromDegrees(camera.getViewAngle());
199
182
  viewportHeight = 2.0 * distance * Math.tan(0.5 * angle);
200
183
  }
184
+ const size = rwi.getView().getViewportSize(renderer);
185
+ const delta = dy * viewportHeight / size[1];
186
+ distance += delta;
201
187
 
202
- var size = rwi.getView().getViewportSize(renderer);
203
- var delta = dy * viewportHeight / size[1];
204
- distance += delta; // clamp the distance to the clipping range
205
-
188
+ // clamp the distance to the clipping range
206
189
  if (distance < range[0]) {
207
190
  distance = range[0] + viewportHeight * 1e-3;
208
191
  }
209
-
210
192
  if (distance > range[1]) {
211
193
  distance = range[1] - viewportHeight * 1e-3;
212
194
  }
213
-
214
195
  camera.setDistance(distance);
215
196
  model.lastSlicePosition = position.y;
216
- }; //----------------------------------------------------------------------------
197
+ };
198
+
199
+ //----------------------------------------------------------------------------
217
200
  // This is a way of dealing with images as if they were layers.
218
201
  // It looks through the renderer's list of props and sets the
219
202
  // interactor ivars from the Nth image that it finds. You can
220
203
  // also use negative numbers, i.e. -1 will return the last image,
221
204
  // -2 will return the second-to-last image, etc.
222
-
223
-
224
- publicAPI.setCurrentImageNumber = function (i) {
205
+ publicAPI.setCurrentImageNumber = i => {
225
206
  if (i === null) {
226
207
  return;
227
208
  }
228
-
229
- var renderer = model._interactor.getCurrentRenderer();
230
-
209
+ const renderer = model._interactor.getCurrentRenderer();
231
210
  if (!renderer) {
232
211
  return;
233
212
  }
234
-
235
213
  model.currentImageNumber = i;
236
-
237
214
  function propMatch(j, prop, targetIndex) {
238
215
  return j === targetIndex && prop.getNestedPickable();
239
216
  }
240
-
241
- var props = renderer.getViewProps().filter(function (prop) {
242
- return prop.isA('vtkImageSlice');
243
- });
244
- var targetIndex = i;
245
-
217
+ const props = renderer.getViewProps().filter(prop => prop.isA('vtkImageSlice'));
218
+ let targetIndex = i;
246
219
  if (i < 0) {
247
220
  targetIndex += props.length;
248
221
  }
249
-
250
- var imageProp = props.find(function (prop, index) {
251
- return propMatch(index, prop, targetIndex);
252
- });
253
-
222
+ const imageProp = props.find((prop, index) => propMatch(index, prop, targetIndex));
254
223
  if (imageProp) {
255
224
  publicAPI.setCurrentImageProperty(imageProp.getProperty());
256
225
  }
257
- }; //----------------------------------------------------------------------------
258
-
226
+ };
259
227
 
260
- publicAPI.setCurrentImageProperty = function (imageProperty) {
228
+ //----------------------------------------------------------------------------
229
+ publicAPI.setCurrentImageProperty = imageProperty => {
261
230
  model.currentImageProperty = imageProperty;
262
231
  };
263
- } // ----------------------------------------------------------------------------
232
+ }
233
+
234
+ // ----------------------------------------------------------------------------
264
235
  // Object factory
265
236
  // ----------------------------------------------------------------------------
266
237
 
267
-
268
- var DEFAULT_VALUES = {
238
+ const DEFAULT_VALUES = {
269
239
  windowLevelStartPosition: [0, 0],
270
240
  windowLevelCurrentPosition: [0, 0],
271
241
  lastSlicePosition: 0,
@@ -279,26 +249,36 @@ var DEFAULT_VALUES = {
279
249
  yViewUpVector: [0, 0, -1],
280
250
  zViewRightVector: [1, 0, 0],
281
251
  zViewUpVector: [0, 1, 0]
282
- }; // ----------------------------------------------------------------------------
252
+ };
253
+
254
+ // ----------------------------------------------------------------------------
283
255
 
284
256
  function extend(publicAPI, model) {
285
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
286
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
257
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
258
+ Object.assign(model, DEFAULT_VALUES, initialValues);
287
259
 
288
- vtkInteractorStyleTrackballCamera.extend(publicAPI, model, initialValues); // Create get-set macros
260
+ // Inheritance
261
+ vtkInteractorStyleTrackballCamera.extend(publicAPI, model, initialValues);
289
262
 
263
+ // Create get-set macros
290
264
  macro.setGet(publicAPI, model, ['interactionMode']);
291
- macro.get(publicAPI, model, ['currentImageProperty']); // For more macro methods, see "Sources/macros.js"
292
- // Object specific methods
265
+ macro.get(publicAPI, model, ['currentImageProperty']);
293
266
 
267
+ // For more macro methods, see "Sources/macros.js"
268
+
269
+ // Object specific methods
294
270
  vtkInteractorStyleImage(publicAPI, model);
295
- } // ----------------------------------------------------------------------------
271
+ }
296
272
 
297
- var newInstance = macro.newInstance(extend, 'vtkInteractorStyleImage'); // ----------------------------------------------------------------------------
273
+ // ----------------------------------------------------------------------------
274
+
275
+ const newInstance = macro.newInstance(extend, 'vtkInteractorStyleImage');
276
+
277
+ // ----------------------------------------------------------------------------
298
278
 
299
279
  var vtkInteractorStyleImage$1 = {
300
- newInstance: newInstance,
301
- extend: extend
280
+ newInstance,
281
+ extend
302
282
  };
303
283
 
304
284
  export { vtkInteractorStyleImage$1 as default, extend, newInstance };