@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,32 +1,27 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkMouseRangeManipulator from '../../Interaction/Manipulators/MouseRangeManipulator.js';
4
3
  import vtkViewProxy from './ViewProxy.js';
5
4
  import { j as cross, E as getMajorAxisIndex, r as radiansFromDegrees } from '../../Common/Core/Math/index.js';
6
5
  import { mat4, vec3 } from 'gl-matrix';
7
6
  import vtkBoundingBox from '../../Common/DataModel/BoundingBox.js';
8
7
 
9
- var DEFAULT_STEP_WIDTH = 512;
10
-
8
+ const DEFAULT_STEP_WIDTH = 512;
11
9
  function formatAnnotationValue(value) {
12
10
  if (Array.isArray(value)) {
13
11
  return value.map(formatAnnotationValue).join(', ');
14
12
  }
15
-
16
13
  if (Number.isInteger(value)) {
17
14
  return value;
18
15
  }
19
-
20
16
  if (Number.isFinite(value)) {
21
17
  if (Math.abs(value) < 0.01) {
22
18
  return '0';
23
19
  }
24
-
25
20
  return value.toFixed(2);
26
21
  }
27
-
28
22
  return value;
29
23
  }
24
+
30
25
  /**
31
26
  * Returns an array of points in world coordinates creating a coarse hull
32
27
  * around the prop given in argument
@@ -35,132 +30,106 @@ function formatAnnotationValue(value) {
35
30
  * How it works: if possible, combine the mapper bounds corners with the prop matrix
36
31
  * otherwise, returns the prop bounds corners
37
32
  */
38
-
39
-
40
33
  function getPropCoarseHull(prop) {
41
- var _prop$getMapper, _mapper$getBounds;
42
-
43
34
  if (!prop.getVisibility() || !prop.getUseBounds()) {
44
35
  return [];
45
36
  }
37
+ let finestBounds = prop.getBounds();
38
+ let finestMatrix = null;
46
39
 
47
- var finestBounds = prop.getBounds();
48
- var finestMatrix = null; // Better bounds using mapper bounds and prop matrix
49
-
50
- var mapper = prop === null || prop === void 0 ? void 0 : (_prop$getMapper = prop.getMapper) === null || _prop$getMapper === void 0 ? void 0 : _prop$getMapper.call(prop);
51
- var mapperBounds = mapper === null || mapper === void 0 ? void 0 : (_mapper$getBounds = mapper.getBounds) === null || _mapper$getBounds === void 0 ? void 0 : _mapper$getBounds.call(mapper);
52
-
40
+ // Better bounds using mapper bounds and prop matrix
41
+ const mapper = prop?.getMapper?.();
42
+ const mapperBounds = mapper?.getBounds?.();
53
43
  if (vtkBoundingBox.isValid(mapperBounds) && prop.getMatrix) {
54
- var _mapper$getInputData;
55
-
56
44
  finestBounds = mapperBounds;
57
45
  finestMatrix = prop.getMatrix().slice();
58
- mat4.transpose(finestMatrix, finestMatrix); // Better bounds using the image data matrix and prop matrix + imageData matrix
46
+ mat4.transpose(finestMatrix, finestMatrix);
59
47
 
60
- if (mapper.isA('vtkImageMapper') && (_mapper$getInputData = mapper.getInputData()) !== null && _mapper$getInputData !== void 0 && _mapper$getInputData.isA('vtkImageData')) {
48
+ // Better bounds using the image data matrix and prop matrix + imageData matrix
49
+ if (mapper.isA('vtkImageMapper') && mapper.getInputData()?.isA('vtkImageData')) {
61
50
  prop.computeMatrix();
62
- var imageData = mapper.getInputData();
51
+ const imageData = mapper.getInputData();
63
52
  finestBounds = imageData.getSpatialExtent();
64
- var imageDataMatrix = imageData.getIndexToWorld();
53
+ const imageDataMatrix = imageData.getIndexToWorld();
65
54
  mat4.mul(finestMatrix, finestMatrix, imageDataMatrix);
66
55
  }
67
- } // Compute corners and transform them if needed
68
- // It gives a more accurate hull than computing the corners of a transformed bounding box
69
-
56
+ }
70
57
 
58
+ // Compute corners and transform them if needed
59
+ // It gives a more accurate hull than computing the corners of a transformed bounding box
71
60
  if (!vtkBoundingBox.isValid(finestBounds)) {
72
61
  return [];
73
62
  }
74
-
75
- var corners = [];
63
+ const corners = [];
76
64
  vtkBoundingBox.getCorners(finestBounds, corners);
77
-
78
65
  if (finestMatrix) {
79
- corners.forEach(function (pt) {
80
- return vec3.transformMat4(pt, pt, finestMatrix);
81
- });
66
+ corners.forEach(pt => vec3.transformMat4(pt, pt, finestMatrix));
82
67
  }
83
-
84
68
  return corners;
85
- } // ----------------------------------------------------------------------------
69
+ }
70
+
71
+ // ----------------------------------------------------------------------------
86
72
  // vtkView2DProxy methods
87
73
  // ----------------------------------------------------------------------------
88
74
 
89
-
90
75
  function vtkView2DProxy(publicAPI, model) {
91
76
  // Set our className
92
77
  model.classHierarchy.push('vtkView2DProxy');
93
-
94
- publicAPI.updateWidthHeightAnnotation = function () {
95
- var _model$cornerAnnotati = model.cornerAnnotation.getMetadata(),
96
- ijkOrientation = _model$cornerAnnotati.ijkOrientation,
97
- dimensions = _model$cornerAnnotati.dimensions;
98
-
78
+ publicAPI.updateWidthHeightAnnotation = () => {
79
+ const {
80
+ ijkOrientation,
81
+ dimensions
82
+ } = model.cornerAnnotation.getMetadata();
99
83
  if (ijkOrientation && dimensions) {
100
- var realDimensions = dimensions;
101
-
84
+ let realDimensions = dimensions;
102
85
  if (dimensions.length > 3) {
103
86
  // the dimensions is a string
104
87
  realDimensions = dimensions.split(',').map(Number);
105
88
  }
106
-
107
- var dop = model.camera.getDirectionOfProjection();
108
- var viewUp = model.camera.getViewUp();
109
- var viewRight = [0, 0, 0];
89
+ const dop = model.camera.getDirectionOfProjection();
90
+ const viewUp = model.camera.getViewUp();
91
+ const viewRight = [0, 0, 0];
110
92
  cross(dop, viewUp, viewRight);
111
- var wIdx = getMajorAxisIndex(viewRight);
112
- var hIdx = getMajorAxisIndex(viewUp);
113
- var sliceWidth = realDimensions['IJK'.indexOf(ijkOrientation[wIdx])];
114
- var sliceHeight = realDimensions['IJK'.indexOf(ijkOrientation[hIdx])];
93
+ const wIdx = getMajorAxisIndex(viewRight);
94
+ const hIdx = getMajorAxisIndex(viewUp);
95
+ const sliceWidth = realDimensions['IJK'.indexOf(ijkOrientation[wIdx])];
96
+ const sliceHeight = realDimensions['IJK'.indexOf(ijkOrientation[hIdx])];
115
97
  publicAPI.updateCornerAnnotation({
116
- sliceWidth: sliceWidth,
117
- sliceHeight: sliceHeight
98
+ sliceWidth,
99
+ sliceHeight
118
100
  });
119
101
  }
120
102
  };
121
-
122
- var superUpdateOrientation = publicAPI.updateOrientation;
123
-
124
- publicAPI.updateOrientation = function (axisIndex, orientation, viewUp) {
125
- var promise = superUpdateOrientation(axisIndex, orientation, viewUp);
126
- var count = model.representations.length;
127
-
103
+ const superUpdateOrientation = publicAPI.updateOrientation;
104
+ publicAPI.updateOrientation = (axisIndex, orientation, viewUp) => {
105
+ const promise = superUpdateOrientation(axisIndex, orientation, viewUp);
106
+ let count = model.representations.length;
128
107
  while (count--) {
129
- var rep = model.representations[count];
130
- var slicingMode = 'XYZ'[axisIndex];
131
-
108
+ const rep = model.representations[count];
109
+ const slicingMode = 'XYZ'[axisIndex];
132
110
  if (rep.setSlicingMode) {
133
111
  rep.setSlicingMode(slicingMode);
134
112
  }
135
113
  }
136
-
137
114
  publicAPI.updateCornerAnnotation({
138
115
  axis: 'XYZ'[axisIndex]
139
116
  });
140
117
  return promise;
141
118
  };
142
-
143
- var superAddRepresentation = publicAPI.addRepresentation;
144
-
145
- publicAPI.addRepresentation = function (rep) {
119
+ const superAddRepresentation = publicAPI.addRepresentation;
120
+ publicAPI.addRepresentation = rep => {
146
121
  superAddRepresentation(rep);
147
-
148
122
  if (rep.setSlicingMode) {
149
123
  rep.setSlicingMode('XYZ'[model.axis]);
150
124
  }
151
-
152
125
  publicAPI.bindRepresentationToManipulator(rep);
153
126
  };
154
-
155
- var superRemoveRepresentation = publicAPI.removeRepresentation;
156
-
157
- publicAPI.removeRepresentation = function (rep) {
127
+ const superRemoveRepresentation = publicAPI.removeRepresentation;
128
+ publicAPI.removeRepresentation = rep => {
158
129
  superRemoveRepresentation(rep);
159
-
160
130
  if (rep === model.sliceRepresentation) {
161
131
  publicAPI.bindRepresentationToManipulator(null);
162
- var count = model.representations.length;
163
-
132
+ let count = model.representations.length;
164
133
  while (count--) {
165
134
  if (publicAPI.bindRepresentationToManipulator(model.representations[count])) {
166
135
  count = 0;
@@ -168,241 +137,216 @@ function vtkView2DProxy(publicAPI, model) {
168
137
  }
169
138
  }
170
139
  };
171
-
172
- var superInternalResetCamera = model._resetCamera;
140
+ const superInternalResetCamera = model._resetCamera;
173
141
  /**
174
142
  * If fitProps is true, calling resetCamera will exactly fit the bounds in the view
175
143
  * Exact fitting requires useParallelRendering, and an active camera
176
144
  * Otherwise, the default renderer.resetCamera is used and it uses a larger bounding box
177
145
  */
178
-
179
146
  model._resetCamera = function () {
180
- var bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
147
+ let bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
181
148
  // Always reset camera first to set physicalScale, physicalTranslation and trigger events
182
- var initialReset = superInternalResetCamera(bounds);
183
-
149
+ const initialReset = superInternalResetCamera(bounds);
184
150
  if (!model.fitProps || !model.useParallelRendering || !initialReset) {
185
151
  return initialReset;
186
- } // For each visible prop get the smallest possible convex hull using bounds corners
187
-
188
-
189
- var visiblePoints = [];
152
+ }
190
153
 
154
+ // For each visible prop get the smallest possible convex hull using bounds corners
155
+ const visiblePoints = [];
191
156
  if (bounds) {
192
157
  // Bounds are given as argument, use their corners
193
158
  vtkBoundingBox.getCorners(bounds, visiblePoints);
194
159
  } else {
195
- publicAPI.getRepresentations().forEach(function (representationProxy) {
196
- return [representationProxy.getActors(), representationProxy.getVolumes()].flat().forEach(function (prop) {
197
- return visiblePoints.push.apply(visiblePoints, _toConsumableArray(getPropCoarseHull(prop)));
198
- });
199
- });
160
+ publicAPI.getRepresentations().forEach(representationProxy => [representationProxy.getActors(), representationProxy.getVolumes()].flat().forEach(prop => visiblePoints.push(...getPropCoarseHull(prop))));
200
161
  }
201
-
202
162
  if (!visiblePoints) {
203
163
  return initialReset;
204
- } // Get the bounds in view coordinates
205
-
164
+ }
206
165
 
207
- var viewBounds = vtkBoundingBox.reset([]);
208
- var viewMatrix = model.camera.getViewMatrix();
166
+ // Get the bounds in view coordinates
167
+ const viewBounds = vtkBoundingBox.reset([]);
168
+ const viewMatrix = model.camera.getViewMatrix();
209
169
  mat4.transpose(viewMatrix, viewMatrix);
210
-
211
- for (var i = 0; i < visiblePoints.length; ++i) {
212
- var point = visiblePoints[i];
170
+ for (let i = 0; i < visiblePoints.length; ++i) {
171
+ const point = visiblePoints[i];
213
172
  vec3.transformMat4(point, point, viewMatrix);
214
- vtkBoundingBox.addPoint.apply(vtkBoundingBox, [viewBounds].concat(_toConsumableArray(point)));
215
- } // Compute parallel scale
216
-
217
-
218
- var view = model.renderer.getRenderWindow().getViews()[0];
219
- var dims = view.getViewportSize(model.renderer);
220
- var aspect = dims[1] && dims[0] ? dims[0] / dims[1] : 1;
221
- var xLength = vtkBoundingBox.getLength(viewBounds, 0);
222
- var yLength = vtkBoundingBox.getLength(viewBounds, 1);
223
- var parallelScale = 0.5 * Math.max(yLength, xLength / aspect); // Compute focal point and position
173
+ vtkBoundingBox.addPoint(viewBounds, ...point);
174
+ }
224
175
 
225
- var viewFocalPoint = vtkBoundingBox.getCenter(viewBounds); // Camera position in view coordinates is the center of the bounds in XY
176
+ // Compute parallel scale
177
+ const view = model.renderer.getRenderWindow().getViews()[0];
178
+ const dims = view.getViewportSize(model.renderer);
179
+ const aspect = dims[1] && dims[0] ? dims[0] / dims[1] : 1;
180
+ const xLength = vtkBoundingBox.getLength(viewBounds, 0);
181
+ const yLength = vtkBoundingBox.getLength(viewBounds, 1);
182
+ const parallelScale = 0.5 * Math.max(yLength, xLength / aspect);
183
+
184
+ // Compute focal point and position
185
+ const viewFocalPoint = vtkBoundingBox.getCenter(viewBounds);
186
+ // Camera position in view coordinates is the center of the bounds in XY
226
187
  // and is (the maximum bound) + (the distance to see the bounds in perspective) in Z
227
-
228
- var perspectiveAngle = radiansFromDegrees(model.camera.getViewAngle());
229
- var distance = parallelScale / Math.tan(perspectiveAngle * 0.5);
230
- var viewPosition = [viewFocalPoint[0], viewFocalPoint[1], viewBounds[5] + distance];
231
- var inverseViewMatrix = new Float64Array(16);
232
- var worldFocalPoint = new Float64Array(3);
233
- var worldPosition = new Float64Array(3);
188
+ const perspectiveAngle = radiansFromDegrees(model.camera.getViewAngle());
189
+ const distance = parallelScale / Math.tan(perspectiveAngle * 0.5);
190
+ const viewPosition = [viewFocalPoint[0], viewFocalPoint[1], viewBounds[5] + distance];
191
+ const inverseViewMatrix = new Float64Array(16);
192
+ const worldFocalPoint = new Float64Array(3);
193
+ const worldPosition = new Float64Array(3);
234
194
  mat4.invert(inverseViewMatrix, viewMatrix);
235
195
  vec3.transformMat4(worldFocalPoint, viewFocalPoint, inverseViewMatrix);
236
196
  vec3.transformMat4(worldPosition, viewPosition, inverseViewMatrix);
237
-
238
197
  if (parallelScale <= 0) {
239
198
  return initialReset;
240
- } // Compute bounds in world coordinates
241
-
199
+ }
242
200
 
243
- var worldBounds = vtkBoundingBox.transformBounds(viewBounds, inverseViewMatrix);
201
+ // Compute bounds in world coordinates
202
+ const worldBounds = vtkBoundingBox.transformBounds(viewBounds, inverseViewMatrix);
244
203
  publicAPI.setCameraParameters({
245
204
  position: worldPosition,
246
205
  focalPoint: worldFocalPoint,
247
206
  bounds: worldBounds,
248
- parallelScale: parallelScale
207
+ parallelScale
249
208
  });
250
209
  return true;
251
- }; // --------------------------------------------------------------------------
210
+ };
211
+
212
+ // --------------------------------------------------------------------------
252
213
  // Range Manipulator setup
253
214
  // -------------------------------------------------------------------------
254
215
 
255
-
256
216
  model.rangeManipulator = vtkMouseRangeManipulator.newInstance({
257
217
  button: 1,
258
218
  scrollEnabled: true
259
219
  });
260
220
  model.interactorStyle2D.addMouseManipulator(model.rangeManipulator);
261
-
262
221
  function setWindowWidth(windowWidth) {
263
222
  publicAPI.updateCornerAnnotation({
264
- windowWidth: windowWidth
223
+ windowWidth
265
224
  });
266
-
267
225
  if (model.sliceRepresentation && model.sliceRepresentation.setWindowWidth) {
268
226
  model.sliceRepresentation.setWindowWidth(windowWidth);
269
227
  }
270
228
  }
271
-
272
229
  function setWindowLevel(windowLevel) {
273
230
  publicAPI.updateCornerAnnotation({
274
- windowLevel: windowLevel
231
+ windowLevel
275
232
  });
276
-
277
233
  if (model.sliceRepresentation && model.sliceRepresentation.setWindowLevel) {
278
234
  model.sliceRepresentation.setWindowLevel(windowLevel);
279
235
  }
280
236
  }
281
-
282
237
  function setSlice(sliceRaw) {
283
- var numberSliceRaw = Number(sliceRaw);
284
- var slice = Number.isInteger(numberSliceRaw) ? sliceRaw : numberSliceRaw.toFixed(2); // add 'slice' in annotation
238
+ const numberSliceRaw = Number(sliceRaw);
239
+ const slice = Number.isInteger(numberSliceRaw) ? sliceRaw : numberSliceRaw.toFixed(2);
285
240
 
286
- var annotation = {
287
- slice: slice
241
+ // add 'slice' in annotation
242
+ const annotation = {
243
+ slice
288
244
  };
289
-
290
245
  if (model.sliceRepresentation && model.sliceRepresentation.setSlice) {
291
246
  model.sliceRepresentation.setSlice(numberSliceRaw);
292
- } // extend annotation
293
-
247
+ }
294
248
 
249
+ // extend annotation
295
250
  if (model.sliceRepresentation && model.sliceRepresentation.getAnnotations) {
296
- var addOn = model.sliceRepresentation.getAnnotations();
297
- Object.keys(addOn).forEach(function (key) {
251
+ const addOn = model.sliceRepresentation.getAnnotations();
252
+ Object.keys(addOn).forEach(key => {
298
253
  annotation[key] = formatAnnotationValue(addOn[key]);
299
254
  });
300
255
  }
301
-
302
256
  publicAPI.updateCornerAnnotation(annotation);
303
257
  }
304
-
305
- publicAPI.bindRepresentationToManipulator = function (representation) {
306
- var nbListeners = 0;
258
+ publicAPI.bindRepresentationToManipulator = representation => {
259
+ let nbListeners = 0;
307
260
  model.rangeManipulator.removeAllListeners();
308
261
  model.sliceRepresentation = representation;
309
-
310
262
  while (model.sliceRepresentationSubscriptions.length) {
311
263
  model.sliceRepresentationSubscriptions.pop().unsubscribe();
312
264
  }
313
-
314
265
  if (representation) {
315
266
  model.sliceRepresentationSubscriptions.push(model.camera.onModified(publicAPI.updateWidthHeightAnnotation));
316
-
317
267
  if (representation.getWindowWidth) {
318
- var update = function update() {
319
- return setWindowWidth(representation.getWindowWidth());
320
- };
321
-
322
- var windowWidth = representation.getPropertyDomainByName('windowWidth');
323
- var min = windowWidth.min,
324
- max = windowWidth.max;
325
- var step = windowWidth.step;
326
-
268
+ const update = () => setWindowWidth(representation.getWindowWidth());
269
+ const windowWidth = representation.getPropertyDomainByName('windowWidth');
270
+ const {
271
+ min,
272
+ max
273
+ } = windowWidth;
274
+ let {
275
+ step
276
+ } = windowWidth;
327
277
  if (!step || step === 'any') {
328
278
  step = 1 / DEFAULT_STEP_WIDTH;
329
279
  }
330
-
331
280
  model.rangeManipulator.setVerticalListener(min, max, step, representation.getWindowWidth, setWindowWidth);
332
281
  model.sliceRepresentationSubscriptions.push(representation.onModified(update));
333
282
  update();
334
283
  nbListeners++;
335
284
  }
336
-
337
285
  if (representation.getWindowLevel) {
338
- var _update = function _update() {
339
- return setWindowLevel(representation.getWindowLevel());
340
- };
341
-
342
- var windowLevel = representation.getPropertyDomainByName('windowLevel');
343
- var _min = windowLevel.min,
344
- _max = windowLevel.max;
345
- var _step = windowLevel.step;
346
-
347
- if (!_step || _step === 'any') {
348
- _step = 1 / DEFAULT_STEP_WIDTH;
286
+ const update = () => setWindowLevel(representation.getWindowLevel());
287
+ const windowLevel = representation.getPropertyDomainByName('windowLevel');
288
+ const {
289
+ min,
290
+ max
291
+ } = windowLevel;
292
+ let {
293
+ step
294
+ } = windowLevel;
295
+ if (!step || step === 'any') {
296
+ step = 1 / DEFAULT_STEP_WIDTH;
349
297
  }
350
-
351
- model.rangeManipulator.setHorizontalListener(_min, _max, _step, representation.getWindowLevel, setWindowLevel);
352
- model.sliceRepresentationSubscriptions.push(representation.onModified(_update));
353
-
354
- _update();
355
-
298
+ model.rangeManipulator.setHorizontalListener(min, max, step, representation.getWindowLevel, setWindowLevel);
299
+ model.sliceRepresentationSubscriptions.push(representation.onModified(update));
300
+ update();
356
301
  nbListeners++;
357
302
  }
358
-
359
- var domain = representation.getPropertyDomainByName('slice');
360
-
303
+ const domain = representation.getPropertyDomainByName('slice');
361
304
  if (representation.getSlice && domain) {
362
- var _update2 = function _update2() {
363
- return setSlice(representation.getSlice());
364
- };
365
-
305
+ const update = () => setSlice(representation.getSlice());
366
306
  model.rangeManipulator.setScrollListener(domain.min, domain.max, domain.step, representation.getSlice, setSlice);
367
- model.sliceRepresentationSubscriptions.push(representation.onModified(_update2));
368
-
369
- _update2();
370
-
307
+ model.sliceRepresentationSubscriptions.push(representation.onModified(update));
308
+ update();
371
309
  nbListeners++;
372
310
  }
373
311
  }
374
-
375
312
  return nbListeners;
376
313
  };
377
- } // ----------------------------------------------------------------------------
314
+ }
315
+
316
+ // ----------------------------------------------------------------------------
378
317
  // Object factory
379
318
  // ----------------------------------------------------------------------------
380
319
 
381
-
382
- var DEFAULT_VALUES = {
320
+ const DEFAULT_VALUES = {
383
321
  axis: 2,
384
322
  orientation: -1,
385
323
  viewUp: [0, 1, 0],
386
324
  useParallelRendering: true,
387
325
  sliceRepresentationSubscriptions: [],
388
326
  fitProps: false
389
- }; // ----------------------------------------------------------------------------
327
+ };
328
+
329
+ // ----------------------------------------------------------------------------
390
330
 
391
331
  function extend(publicAPI, model) {
392
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
332
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
393
333
  Object.assign(model, DEFAULT_VALUES, initialValues);
394
334
  vtkViewProxy.extend(publicAPI, model, initialValues);
395
335
  macro.get(publicAPI, model, ['axis']);
396
- macro.setGet(publicAPI, model, ['fitProps']); // Object specific methods
336
+ macro.setGet(publicAPI, model, ['fitProps']);
397
337
 
338
+ // Object specific methods
398
339
  vtkView2DProxy(publicAPI, model);
399
- } // ----------------------------------------------------------------------------
340
+ }
341
+ // ----------------------------------------------------------------------------
342
+
343
+ const newInstance = macro.newInstance(extend, 'vtkView2DProxy');
400
344
 
401
- var newInstance = macro.newInstance(extend, 'vtkView2DProxy'); // ----------------------------------------------------------------------------
345
+ // ----------------------------------------------------------------------------
402
346
 
403
347
  var vtkView2DProxy$1 = {
404
- newInstance: newInstance,
405
- extend: extend
348
+ newInstance,
349
+ extend
406
350
  };
407
351
 
408
352
  export { vtkView2DProxy$1 as default, extend, newInstance };