@kitware/vtk.js 28.10.2 → 28.11.0

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 (565) 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 +185 -270
  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/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. 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 };