@kitware/vtk.js 28.10.1 → 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 (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +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 +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,5 +1,4 @@
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 { l as normalize, e as distance2BetweenPoints } from '../../Common/Core/Math/index.js';
4
3
  import vtkMatrixBuilder from '../../Common/Core/MatrixBuilder.js';
5
4
  import vtkInteractorStyleManipulator from './InteractorStyleManipulator.js';
@@ -8,29 +7,30 @@ import vtkMouseCameraTrackballPanManipulator from '../Manipulators/MouseCameraTr
8
7
  import vtkMouseCameraTrackballZoomManipulator from '../Manipulators/MouseCameraTrackballZoomManipulator.js';
9
8
  import vtkMouseRangeManipulator from '../Manipulators/MouseRangeManipulator.js';
10
9
 
10
+ // ----------------------------------------------------------------------------
11
11
  // Global methods
12
12
  // ----------------------------------------------------------------------------
13
13
 
14
14
  function boundsToCorners(bounds) {
15
15
  return [[bounds[0], bounds[2], bounds[4]], [bounds[0], bounds[2], bounds[5]], [bounds[0], bounds[3], bounds[4]], [bounds[0], bounds[3], bounds[5]], [bounds[1], bounds[2], bounds[4]], [bounds[1], bounds[2], bounds[5]], [bounds[1], bounds[3], bounds[4]], [bounds[1], bounds[3], bounds[5]]];
16
- } // ----------------------------------------------------------------------------
16
+ }
17
17
 
18
+ // ----------------------------------------------------------------------------
18
19
 
19
20
  function clamp(value, min, max) {
20
21
  if (value < min) {
21
22
  return min;
22
23
  }
23
-
24
24
  if (value > max) {
25
25
  return max;
26
26
  }
27
-
28
27
  return value;
29
- } // ----------------------------------------------------------------------------
28
+ }
29
+
30
+ // ----------------------------------------------------------------------------
30
31
  // vtkInteractorStyleMPRSlice methods
31
32
  // ----------------------------------------------------------------------------
32
33
 
33
-
34
34
  function vtkInteractorStyleMPRSlice(publicAPI, model) {
35
35
  // Set our className
36
36
  model.classHierarchy.push('vtkInteractorStyleMPRSlice');
@@ -47,20 +47,19 @@ function vtkInteractorStyleMPRSlice(publicAPI, model) {
47
47
  model.scrollManipulator = vtkMouseRangeManipulator.newInstance({
48
48
  scrollEnabled: true,
49
49
  dragEnabled: false
50
- }); // cache for sliceRange
50
+ });
51
51
 
52
- var cache = {
52
+ // cache for sliceRange
53
+ const cache = {
53
54
  sliceNormal: [0, 0, 0],
54
55
  sliceRange: [0, 0]
55
56
  };
56
- var cameraSub = null;
57
-
57
+ let cameraSub = null;
58
58
  function updateScrollManipulator() {
59
- var range = publicAPI.getSliceRange();
59
+ const range = publicAPI.getSliceRange();
60
60
  model.scrollManipulator.removeScrollListener();
61
61
  model.scrollManipulator.setScrollListener(range[0], range[1], 1, publicAPI.getSlice, publicAPI.setSlice);
62
62
  }
63
-
64
63
  function setManipulators() {
65
64
  publicAPI.removeAllMouseManipulators();
66
65
  publicAPI.addMouseManipulator(model.trackballManipulator);
@@ -69,198 +68,182 @@ function vtkInteractorStyleMPRSlice(publicAPI, model) {
69
68
  publicAPI.addMouseManipulator(model.scrollManipulator);
70
69
  updateScrollManipulator();
71
70
  }
72
-
73
- var superSetInteractor = publicAPI.setInteractor;
74
-
75
- publicAPI.setInteractor = function (interactor) {
71
+ const superSetInteractor = publicAPI.setInteractor;
72
+ publicAPI.setInteractor = interactor => {
76
73
  superSetInteractor(interactor);
77
-
78
74
  if (cameraSub) {
79
75
  cameraSub.unsubscribe();
80
76
  cameraSub = null;
81
77
  }
82
-
83
78
  if (interactor) {
84
- var renderer = interactor.getCurrentRenderer();
85
- var camera = renderer.getActiveCamera();
86
- cameraSub = camera.onModified(function () {
79
+ const renderer = interactor.getCurrentRenderer();
80
+ const camera = renderer.getActiveCamera();
81
+ cameraSub = camera.onModified(() => {
87
82
  updateScrollManipulator();
88
83
  publicAPI.modified();
89
84
  });
90
85
  }
91
86
  };
92
-
93
- publicAPI.handleMouseMove = macro.chain(publicAPI.handleMouseMove, function () {
94
- var renderer = model._interactor.getCurrentRenderer();
95
-
96
- var camera = renderer.getActiveCamera();
97
- var dist = camera.getDistance();
87
+ publicAPI.handleMouseMove = macro.chain(publicAPI.handleMouseMove, () => {
88
+ const renderer = model._interactor.getCurrentRenderer();
89
+ const camera = renderer.getActiveCamera();
90
+ const dist = camera.getDistance();
98
91
  camera.setClippingRange(dist, dist + 0.1);
99
92
  });
100
- var superSetVolumeMapper = publicAPI.setVolumeMapper;
101
-
102
- publicAPI.setVolumeMapper = function (mapper) {
93
+ const superSetVolumeMapper = publicAPI.setVolumeMapper;
94
+ publicAPI.setVolumeMapper = mapper => {
103
95
  if (superSetVolumeMapper(mapper)) {
104
- var renderer = model._interactor.getCurrentRenderer();
105
-
106
- var camera = renderer.getActiveCamera();
107
-
96
+ const renderer = model._interactor.getCurrentRenderer();
97
+ const camera = renderer.getActiveCamera();
108
98
  if (mapper) {
109
99
  // prevent zoom manipulator from messing with our focal point
110
100
  camera.setFreezeFocalPoint(true);
111
- publicAPI.setSliceNormal.apply(publicAPI, _toConsumableArray(publicAPI.getSliceNormal()));
101
+ publicAPI.setSliceNormal(...publicAPI.getSliceNormal());
112
102
  } else {
113
103
  camera.setFreezeFocalPoint(false);
114
104
  }
115
105
  }
116
106
  };
117
-
118
- publicAPI.getSlice = function () {
119
- var renderer = model._interactor.getCurrentRenderer();
120
-
121
- var camera = renderer.getActiveCamera();
122
- var sliceNormal = publicAPI.getSliceNormal(); // Get rotation matrix from normal to +X (since bounds is aligned to XYZ)
123
-
124
- var transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(sliceNormal, [1, 0, 0]);
125
- var fp = camera.getFocalPoint();
107
+ publicAPI.getSlice = () => {
108
+ const renderer = model._interactor.getCurrentRenderer();
109
+ const camera = renderer.getActiveCamera();
110
+ const sliceNormal = publicAPI.getSliceNormal();
111
+
112
+ // Get rotation matrix from normal to +X (since bounds is aligned to XYZ)
113
+ const transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(sliceNormal, [1, 0, 0]);
114
+ const fp = camera.getFocalPoint();
126
115
  transform.apply(fp);
127
116
  return fp[0];
128
117
  };
129
-
130
- publicAPI.setSlice = function (slice) {
131
- var renderer = model._interactor.getCurrentRenderer();
132
-
133
- var camera = renderer.getActiveCamera();
134
-
118
+ publicAPI.setSlice = slice => {
119
+ const renderer = model._interactor.getCurrentRenderer();
120
+ const camera = renderer.getActiveCamera();
135
121
  if (model.volumeMapper) {
136
- var range = publicAPI.getSliceRange();
137
- var bounds = model.volumeMapper.getBounds();
138
- var clampedSlice = clamp.apply(void 0, [slice].concat(_toConsumableArray(range)));
139
- var center = [(bounds[0] + bounds[1]) / 2.0, (bounds[2] + bounds[3]) / 2.0, (bounds[4] + bounds[5]) / 2.0];
140
- var distance = camera.getDistance();
141
- var dop = camera.getDirectionOfProjection();
122
+ const range = publicAPI.getSliceRange();
123
+ const bounds = model.volumeMapper.getBounds();
124
+ const clampedSlice = clamp(slice, ...range);
125
+ const center = [(bounds[0] + bounds[1]) / 2.0, (bounds[2] + bounds[3]) / 2.0, (bounds[4] + bounds[5]) / 2.0];
126
+ const distance = camera.getDistance();
127
+ const dop = camera.getDirectionOfProjection();
142
128
  normalize(dop);
143
- var midPoint = (range[1] + range[0]) / 2.0;
144
- var zeroPoint = [center[0] - dop[0] * midPoint, center[1] - dop[1] * midPoint, center[2] - dop[2] * midPoint];
145
- var slicePoint = [zeroPoint[0] + dop[0] * clampedSlice, zeroPoint[1] + dop[1] * clampedSlice, zeroPoint[2] + dop[2] * clampedSlice];
146
- var newPos = [slicePoint[0] - dop[0] * distance, slicePoint[1] - dop[1] * distance, slicePoint[2] - dop[2] * distance];
147
- camera.setPosition.apply(camera, newPos);
148
- camera.setFocalPoint.apply(camera, slicePoint);
129
+ const midPoint = (range[1] + range[0]) / 2.0;
130
+ const zeroPoint = [center[0] - dop[0] * midPoint, center[1] - dop[1] * midPoint, center[2] - dop[2] * midPoint];
131
+ const slicePoint = [zeroPoint[0] + dop[0] * clampedSlice, zeroPoint[1] + dop[1] * clampedSlice, zeroPoint[2] + dop[2] * clampedSlice];
132
+ const newPos = [slicePoint[0] - dop[0] * distance, slicePoint[1] - dop[1] * distance, slicePoint[2] - dop[2] * distance];
133
+ camera.setPosition(...newPos);
134
+ camera.setFocalPoint(...slicePoint);
149
135
  }
150
136
  };
151
-
152
- publicAPI.getSliceRange = function () {
137
+ publicAPI.getSliceRange = () => {
153
138
  if (model.volumeMapper) {
154
- var sliceNormal = publicAPI.getSliceNormal();
155
-
139
+ const sliceNormal = publicAPI.getSliceNormal();
156
140
  if (sliceNormal[0] === cache.sliceNormal[0] && sliceNormal[1] === cache.sliceNormal[1] && sliceNormal[2] === cache.sliceNormal[2]) {
157
141
  return cache.sliceRange;
158
142
  }
159
-
160
- var bounds = model.volumeMapper.getBounds();
161
- var points = boundsToCorners(bounds); // Get rotation matrix from normal to +X (since bounds is aligned to XYZ)
162
-
163
- var transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(sliceNormal, [1, 0, 0]);
164
- points.forEach(function (pt) {
165
- return transform.apply(pt);
166
- }); // range is now maximum X distance
167
-
168
- var minX = Infinity;
169
- var maxX = -Infinity;
170
-
171
- for (var i = 0; i < 8; i++) {
172
- var x = points[i][0];
173
-
143
+ const bounds = model.volumeMapper.getBounds();
144
+ const points = boundsToCorners(bounds);
145
+
146
+ // Get rotation matrix from normal to +X (since bounds is aligned to XYZ)
147
+ const transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(sliceNormal, [1, 0, 0]);
148
+ points.forEach(pt => transform.apply(pt));
149
+
150
+ // range is now maximum X distance
151
+ let minX = Infinity;
152
+ let maxX = -Infinity;
153
+ for (let i = 0; i < 8; i++) {
154
+ const x = points[i][0];
174
155
  if (x > maxX) {
175
156
  maxX = x;
176
157
  }
177
-
178
158
  if (x < minX) {
179
159
  minX = x;
180
160
  }
181
161
  }
182
-
183
162
  cache.sliceNormal = sliceNormal;
184
163
  cache.sliceRange = [minX, maxX];
185
164
  return cache.sliceRange;
186
165
  }
187
-
188
166
  return [0, 0];
189
- }; // Slice normal is just camera DOP
190
-
167
+ };
191
168
 
192
- publicAPI.getSliceNormal = function () {
169
+ // Slice normal is just camera DOP
170
+ publicAPI.getSliceNormal = () => {
193
171
  if (model.volumeMapper) {
194
- var renderer = model._interactor.getCurrentRenderer();
195
-
196
- var camera = renderer.getActiveCamera();
172
+ const renderer = model._interactor.getCurrentRenderer();
173
+ const camera = renderer.getActiveCamera();
197
174
  return camera.getDirectionOfProjection();
198
175
  }
199
-
200
176
  return [0, 0, 0];
201
- }; // in world space
202
-
177
+ };
203
178
 
179
+ // in world space
204
180
  publicAPI.setSliceNormal = function () {
205
- var renderer = model._interactor.getCurrentRenderer();
206
-
207
- var camera = renderer.getActiveCamera();
208
-
181
+ const renderer = model._interactor.getCurrentRenderer();
182
+ const camera = renderer.getActiveCamera();
209
183
  for (var _len = arguments.length, normal = new Array(_len), _key = 0; _key < _len; _key++) {
210
184
  normal[_key] = arguments[_key];
211
185
  }
212
-
213
186
  normalize(normal);
214
-
215
187
  if (model.volumeMapper) {
216
- var bounds = model.volumeMapper.getBounds(); // diagonal will be used as "width" of camera scene
217
-
218
- var diagonal = Math.sqrt(distance2BetweenPoints([bounds[0], bounds[2], bounds[4]], [bounds[1], bounds[3], bounds[5]])); // center will be used as initial focal point
219
-
220
- var center = [(bounds[0] + bounds[1]) / 2.0, (bounds[2] + bounds[3]) / 2.0, (bounds[4] + bounds[5]) / 2.0];
221
- var angle = 90; // distance from camera to focal point
222
-
223
- var dist = diagonal / (2 * Math.tan(angle / 360 * Math.PI));
224
- var cameraPos = [center[0] - normal[0] * dist, center[1] - normal[1] * dist, center[2] - normal[2] * dist]; // set viewUp based on DOP rotation
225
-
226
- var oldDop = camera.getDirectionOfProjection();
227
- var transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(oldDop, normal);
228
- var viewUp = [0, 1, 0];
188
+ const bounds = model.volumeMapper.getBounds();
189
+
190
+ // diagonal will be used as "width" of camera scene
191
+ const diagonal = Math.sqrt(distance2BetweenPoints([bounds[0], bounds[2], bounds[4]], [bounds[1], bounds[3], bounds[5]]));
192
+
193
+ // center will be used as initial focal point
194
+ const center = [(bounds[0] + bounds[1]) / 2.0, (bounds[2] + bounds[3]) / 2.0, (bounds[4] + bounds[5]) / 2.0];
195
+ const angle = 90;
196
+ // distance from camera to focal point
197
+ const dist = diagonal / (2 * Math.tan(angle / 360 * Math.PI));
198
+ const cameraPos = [center[0] - normal[0] * dist, center[1] - normal[1] * dist, center[2] - normal[2] * dist];
199
+
200
+ // set viewUp based on DOP rotation
201
+ const oldDop = camera.getDirectionOfProjection();
202
+ const transform = vtkMatrixBuilder.buildFromDegree().identity().rotateFromDirections(oldDop, normal);
203
+ const viewUp = [0, 1, 0];
229
204
  transform.apply(viewUp);
230
- camera.setPosition.apply(camera, cameraPos);
231
- camera.setDistance(dist); // should be set after pos and distance
232
-
233
- camera.setDirectionOfProjection.apply(camera, normal);
234
- camera.setViewUp.apply(camera, viewUp);
205
+ camera.setPosition(...cameraPos);
206
+ camera.setDistance(dist);
207
+ // should be set after pos and distance
208
+ camera.setDirectionOfProjection(...normal);
209
+ camera.setViewUp(...viewUp);
235
210
  camera.setViewAngle(angle);
236
211
  camera.setClippingRange(dist, dist + 0.1);
237
212
  publicAPI.setCenterOfRotation(center);
238
213
  }
239
214
  };
240
-
241
215
  setManipulators();
242
- } // ----------------------------------------------------------------------------
216
+ }
217
+
218
+ // ----------------------------------------------------------------------------
243
219
  // Object factory
244
220
  // ----------------------------------------------------------------------------
245
221
 
222
+ const DEFAULT_VALUES = {};
246
223
 
247
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
224
+ // ----------------------------------------------------------------------------
248
225
 
249
226
  function extend(publicAPI, model) {
250
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
251
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
227
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
228
+ Object.assign(model, DEFAULT_VALUES, initialValues);
252
229
 
230
+ // Inheritance
253
231
  vtkInteractorStyleManipulator.extend(publicAPI, model, initialValues);
254
- macro.setGet(publicAPI, model, ['volumeMapper']); // Object specific methods
232
+ macro.setGet(publicAPI, model, ['volumeMapper']);
255
233
 
234
+ // Object specific methods
256
235
  vtkInteractorStyleMPRSlice(publicAPI, model);
257
- } // ----------------------------------------------------------------------------
236
+ }
258
237
 
259
- var newInstance = macro.newInstance(extend, 'vtkInteractorStyleMPRSlice'); // ----------------------------------------------------------------------------
238
+ // ----------------------------------------------------------------------------
239
+
240
+ const newInstance = macro.newInstance(extend, 'vtkInteractorStyleMPRSlice');
241
+
242
+ // ----------------------------------------------------------------------------
260
243
 
261
244
  var vtkInteractorStyleMPRSlice$1 = {
262
- newInstance: newInstance,
263
- extend: extend
245
+ newInstance,
246
+ extend
264
247
  };
265
248
 
266
249
  export { vtkInteractorStyleMPRSlice$1 as default, extend, newInstance };
@@ -1,6 +1,6 @@
1
1
  import Manipulators from '../../Manipulators.js';
2
2
 
3
- var MANIPULTOR_TYPES = {
3
+ const MANIPULTOR_TYPES = {
4
4
  slice: Manipulators.vtkMouseCameraSliceManipulator,
5
5
  multiRotate: Manipulators.vtkMouseCameraTrackballMultiRotateManipulator,
6
6
  pan: Manipulators.vtkMouseCameraTrackballPanManipulator,
@@ -17,7 +17,7 @@ var MANIPULTOR_TYPES = {
17
17
  unicam: Manipulators.vtkMouseCameraUnicamManipulator,
18
18
  unicamRotate: Manipulators.vtkMouseCameraUnicamRotateManipulator
19
19
  };
20
- var STYLES = {
20
+ const STYLES = {
21
21
  '3D': [{
22
22
  type: 'rotate'
23
23
  }, {
@@ -186,14 +186,11 @@ var STYLES = {
186
186
  }
187
187
  }]
188
188
  };
189
-
190
189
  function applyDefinitions(definitions, manipulatorStyle) {
191
190
  manipulatorStyle.removeAllManipulators();
192
-
193
- for (var idx = 0; idx < definitions.length; idx++) {
194
- var definition = definitions[idx];
195
- var instance = MANIPULTOR_TYPES[definition.type].newInstance(definition.options);
196
-
191
+ for (let idx = 0; idx < definitions.length; idx++) {
192
+ const definition = definitions[idx];
193
+ const instance = MANIPULTOR_TYPES[definition.type].newInstance(definition.options);
197
194
  if (instance.isA('vtkCompositeVRManipulator')) {
198
195
  manipulatorStyle.addVRManipulator(instance);
199
196
  } else if (instance.isA('vtkCompositeGestureManipulator')) {
@@ -204,27 +201,22 @@ function applyDefinitions(definitions, manipulatorStyle) {
204
201
  manipulatorStyle.addMouseManipulator(instance);
205
202
  }
206
203
  }
207
-
208
204
  return true;
209
205
  }
210
-
211
206
  function applyPreset(name, manipulatorStyle) {
212
207
  return applyDefinitions(STYLES[name], manipulatorStyle);
213
208
  }
214
-
215
209
  function registerManipulatorType(type, classDef) {
216
210
  MANIPULTOR_TYPES[type] = classDef;
217
211
  }
218
-
219
212
  function registerStylePreset(name, definitions) {
220
213
  STYLES[name] = definitions;
221
214
  }
222
-
223
215
  var InteractionPresets = {
224
- applyDefinitions: applyDefinitions,
225
- applyPreset: applyPreset,
226
- registerManipulatorType: registerManipulatorType,
227
- registerStylePreset: registerStylePreset
216
+ applyDefinitions,
217
+ applyPreset,
218
+ registerManipulatorType,
219
+ registerStylePreset
228
220
  };
229
221
 
230
222
  export { InteractionPresets as default };