@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,66 +1,52 @@
1
1
  function createMethods(session) {
2
2
  return {
3
- subscribeToImageStream: function subscribeToImageStream(callback) {
4
- return session.subscribe('viewport.image.push.subscription', callback);
5
- },
6
- unsubscribeToImageStream: function unsubscribeToImageStream(subscription) {
7
- return session.unsubscribe(subscription);
8
- },
9
- registerView: function registerView(viewId) {
10
- return session.call('viewport.image.push.observer.add', [viewId]);
11
- },
12
- unregisterView: function unregisterView(viewId) {
13
- return session.call('viewport.image.push.observer.remove', [viewId]);
14
- },
15
- enableView: function enableView(viewId, enabled) {
16
- return session.call('viewport.image.push.enabled', [viewId, enabled]);
17
- },
18
- render: function render() {
19
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
3
+ subscribeToImageStream: callback => session.subscribe('viewport.image.push.subscription', callback),
4
+ unsubscribeToImageStream: subscription => session.unsubscribe(subscription),
5
+ registerView: viewId => session.call('viewport.image.push.observer.add', [viewId]),
6
+ unregisterView: viewId => session.call('viewport.image.push.observer.remove', [viewId]),
7
+ enableView: (viewId, enabled) => session.call('viewport.image.push.enabled', [viewId, enabled]),
8
+ render: function () {
9
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
20
10
  size: [400, 400],
21
11
  view: -1
22
12
  };
23
13
  return session.call('viewport.image.push', [options]);
24
14
  },
25
- resetCamera: function resetCamera() {
26
- var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
15
+ resetCamera: function () {
16
+ let view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
27
17
  return session.call('viewport.camera.reset', [view]);
28
18
  },
29
- invalidateCache: function invalidateCache(viewId) {
30
- return session.call('viewport.image.push.invalidate.cache', [viewId]);
31
- },
32
- setQuality: function setQuality(viewId, quality) {
33
- var ratio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
19
+ invalidateCache: viewId => session.call('viewport.image.push.invalidate.cache', [viewId]),
20
+ setQuality: function (viewId, quality) {
21
+ let ratio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
34
22
  return session.call('viewport.image.push.quality', [viewId, quality, ratio]);
35
23
  },
36
- setSize: function setSize(viewId) {
37
- var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
38
- var height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 400;
24
+ setSize: function (viewId) {
25
+ let width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
26
+ let height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 400;
39
27
  return session.call('viewport.image.push.original.size', [viewId, width, height]);
40
28
  },
41
- setServerAnimationFPS: function setServerAnimationFPS() {
42
- var fps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
29
+ setServerAnimationFPS: function () {
30
+ let fps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
43
31
  return session.call('viewport.image.animation.fps.max', [fps]);
44
32
  },
45
- getServerAnimationFPS: function getServerAnimationFPS() {
46
- return session.call('viewport.image.animation.fps.get', []);
47
- },
48
- startAnimation: function startAnimation() {
49
- var viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
33
+ getServerAnimationFPS: () => session.call('viewport.image.animation.fps.get', []),
34
+ startAnimation: function () {
35
+ let viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
50
36
  return session.call('viewport.image.animation.start', [viewId]);
51
37
  },
52
- stopAnimation: function stopAnimation() {
53
- var viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
38
+ stopAnimation: function () {
39
+ let viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
54
40
  return session.call('viewport.image.animation.stop', [viewId]);
55
41
  },
56
- updateCamera: function updateCamera(viewId, focalPoint, viewUp, position) {
57
- var forceUpdate = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
58
- return session.call('viewport.camera.update', [viewId !== null && viewId !== void 0 ? viewId : -1, focalPoint, viewUp, position, forceUpdate]);
42
+ updateCamera: function (viewId, focalPoint, viewUp, position) {
43
+ let forceUpdate = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
44
+ return session.call('viewport.camera.update', [viewId ?? -1, focalPoint, viewUp, position, forceUpdate]);
59
45
  },
60
- updateCameraParameters: function updateCameraParameters() {
61
- var viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
62
- var parameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
63
- var forceUpdate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
46
+ updateCameraParameters: function () {
47
+ let viewId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
48
+ let parameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
49
+ let forceUpdate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
64
50
  return session.call('viewport.camera.update.params', [viewId, parameters, forceUpdate]);
65
51
  }
66
52
  };
@@ -1,9 +1,10 @@
1
- import macro from '../../../macros.js';
1
+ import { m as macro } from '../../../macros2.js';
2
2
 
3
3
  function vtkViewStream(publicAPI, model) {
4
4
  // Set our className
5
- model.classHierarchy.push('vtkViewStream'); // Internal variables
5
+ model.classHierarchy.push('vtkViewStream');
6
6
 
7
+ // Internal variables
7
8
  model.imageDecodingPool = [new Image(), new Image()];
8
9
  model.eventPool = [];
9
10
  model.nextPoolImageIndex = 0;
@@ -11,135 +12,126 @@ function vtkViewStream(publicAPI, model) {
11
12
  model.activeURL = null;
12
13
  model.fps = [];
13
14
  model.lastTime = Date.now();
14
- model.lastImageEvent = null; // --------------------------------------------------------------------------
15
+ model.lastImageEvent = null;
16
+
17
+ // --------------------------------------------------------------------------
15
18
  // Internal methods
16
19
  // --------------------------------------------------------------------------
17
20
 
18
21
  function imageLoaded(e) {
19
- var id = Number(this.dataset.id);
22
+ const id = Number(this.dataset.id);
20
23
  publicAPI.invokeImageReady(model.eventPool[id]);
21
- } // --------------------------------------------------------------------------
24
+ }
22
25
 
26
+ // --------------------------------------------------------------------------
23
27
 
24
28
  function prepareDecodingPool() {
25
- var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
26
-
29
+ let size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
27
30
  while (model.imageDecodingPool.length < size) {
28
31
  model.imageDecodingPool.push(new Image());
29
32
  }
30
-
31
- for (var i = 0; i < model.imageDecodingPool.length; i++) {
33
+ for (let i = 0; i < model.imageDecodingPool.length; i++) {
32
34
  model.imageDecodingPool[i].dataset.id = i;
33
35
  model.imageDecodingPool[i].onload = imageLoaded;
34
36
  }
35
- } // --------------------------------------------------------------------------
37
+ }
36
38
 
39
+ // --------------------------------------------------------------------------
37
40
 
38
41
  function decodeImage(event) {
39
42
  model.eventPool[model.nextPoolImageIndex] = event;
40
43
  event.image = model.imageDecodingPool[model.nextPoolImageIndex++];
41
44
  model.nextPoolImageIndex %= model.imageDecodingPool.length;
42
45
  event.image.src = event.url;
43
- } // --------------------------------------------------------------------------
46
+ }
44
47
 
48
+ // --------------------------------------------------------------------------
45
49
 
46
- publicAPI.pushCamera = function () {
47
- var focalPoint = model.camera.getReferenceByName('focalPoint');
48
- var viewUp = model.camera.getReferenceByName('viewUp');
49
- var position = model.camera.getReferenceByName('position');
50
- var parallelProjection = model.camera.getParallelProjection();
51
- var viewAngle = model.camera.getViewAngle();
52
- var parallelScale = model.camera.getParallelScale();
53
- var promise = null;
54
-
50
+ publicAPI.pushCamera = () => {
51
+ const focalPoint = model.camera.getReferenceByName('focalPoint');
52
+ const viewUp = model.camera.getReferenceByName('viewUp');
53
+ const position = model.camera.getReferenceByName('position');
54
+ const parallelProjection = model.camera.getParallelProjection();
55
+ const viewAngle = model.camera.getViewAngle();
56
+ const parallelScale = model.camera.getParallelScale();
57
+ let promise = null;
55
58
  if (model.useCameraParameters) {
56
59
  promise = model.protocol.updateCameraParameters(model.viewId, {
57
- focalPoint: focalPoint,
58
- viewUp: viewUp,
59
- position: position,
60
- parallelProjection: parallelProjection,
61
- viewAngle: viewAngle,
62
- parallelScale: parallelScale
60
+ focalPoint,
61
+ viewUp,
62
+ position,
63
+ parallelProjection,
64
+ viewAngle,
65
+ parallelScale
63
66
  }, false);
64
67
  } else {
65
68
  promise = model.protocol.updateCamera(model.viewId, focalPoint, viewUp, position, false);
66
69
  }
67
-
68
70
  if (model.isAnimating) {
69
71
  setTimeout(publicAPI.pushCamera, 1000 / model.cameraUpdateRate);
70
72
  }
71
-
72
73
  return promise;
73
- }; // --------------------------------------------------------------------------
74
+ };
74
75
 
75
-
76
- publicAPI.invalidateCache = function () {
77
- return model.protocol.invalidateCache(model.viewId);
78
- }; // --------------------------------------------------------------------------
79
- // PublicAPI
80
76
  // --------------------------------------------------------------------------
81
77
 
78
+ publicAPI.invalidateCache = () => model.protocol.invalidateCache(model.viewId);
82
79
 
83
- publicAPI.render = function () {
84
- return model.protocol.render({
85
- view: model.viewId,
86
- size: model.size
87
- });
88
- }; // --------------------------------------------------------------------------
80
+ // --------------------------------------------------------------------------
81
+ // PublicAPI
82
+ // --------------------------------------------------------------------------
89
83
 
84
+ publicAPI.render = () => model.protocol.render({
85
+ view: model.viewId,
86
+ size: model.size
87
+ });
90
88
 
91
- publicAPI.resetCamera = function () {
92
- return model.protocol.resetCamera(model.viewId);
93
- }; // --------------------------------------------------------------------------
89
+ // --------------------------------------------------------------------------
94
90
 
91
+ publicAPI.resetCamera = () => model.protocol.resetCamera(model.viewId);
95
92
 
96
- publicAPI.startAnimation = function () {
97
- return model.protocol.startAnimation(model.viewId);
98
- }; // --------------------------------------------------------------------------
93
+ // --------------------------------------------------------------------------
99
94
 
95
+ publicAPI.startAnimation = () => model.protocol.startAnimation(model.viewId);
100
96
 
101
- publicAPI.stopAnimation = function () {
102
- return model.protocol.stopAnimation(model.viewId);
103
- }; // --------------------------------------------------------------------------
97
+ // --------------------------------------------------------------------------
104
98
 
99
+ publicAPI.stopAnimation = () => model.protocol.stopAnimation(model.viewId);
105
100
 
106
- publicAPI.setSize = function (width, height) {
107
- var changeDetected = false;
101
+ // --------------------------------------------------------------------------
108
102
 
103
+ publicAPI.setSize = (width, height) => {
104
+ let changeDetected = false;
109
105
  if (model.size[0] !== width || model.size[1] !== height) {
110
106
  model.size = [width, height];
111
107
  changeDetected = true;
112
108
  }
113
-
114
109
  if (changeDetected) {
115
110
  publicAPI.modified();
116
-
117
111
  if (model.protocol) {
118
112
  return model.protocol.setSize(model.viewId, width, height);
119
113
  }
120
114
  }
121
-
122
115
  return Promise.resolve(false);
123
- }; // --------------------------------------------------------------------------
124
-
116
+ };
125
117
 
126
- publicAPI.startInteraction = function () {
127
- var promises = [model.protocol.setQuality(model.viewId, model.interactiveQuality, model.interactiveRatio)];
118
+ // --------------------------------------------------------------------------
128
119
 
120
+ publicAPI.startInteraction = () => {
121
+ const promises = [model.protocol.setQuality(model.viewId, model.interactiveQuality, model.interactiveRatio)];
129
122
  if (model.camera) {
130
123
  promises.push(publicAPI.startAnimation());
131
124
  model.isAnimating = true;
132
125
  promises.push(publicAPI.pushCamera());
133
126
  }
134
-
135
127
  return Promise.all(promises);
136
- }; // --------------------------------------------------------------------------
128
+ };
137
129
 
130
+ // --------------------------------------------------------------------------
138
131
 
139
- publicAPI.endInteraction = function () {
140
- var promises = [];
132
+ publicAPI.endInteraction = () => {
133
+ const promises = [];
141
134
  promises.push(model.protocol.setQuality(model.viewId, model.stillQuality, model.stillRatio));
142
-
143
135
  if (model.camera) {
144
136
  promises.push(publicAPI.stopAnimation());
145
137
  model.isAnimating = false;
@@ -147,63 +139,57 @@ function vtkViewStream(publicAPI, model) {
147
139
  } else {
148
140
  promises.push(publicAPI.render());
149
141
  }
150
-
151
142
  return Promise.all(promises);
152
- }; // --------------------------------------------------------------------------
143
+ };
153
144
 
145
+ // --------------------------------------------------------------------------
154
146
 
155
- publicAPI.setViewId = function (id) {
147
+ publicAPI.setViewId = id => {
156
148
  if (model.viewId === id || !model.protocol) {
157
149
  return false;
158
150
  }
159
-
160
151
  if (model.viewId) {
161
152
  model.protocol.unregisterView(model.viewId);
162
153
  }
163
-
164
154
  model.viewId = id;
165
-
166
155
  if (model.viewId) {
167
- model.protocol.registerView(model.viewId).then(function (_ref) {
168
- var viewId = _ref.viewId;
156
+ model.protocol.registerView(model.viewId).then(_ref => {
157
+ let {
158
+ viewId
159
+ } = _ref;
169
160
  model.viewId = viewId;
170
161
  });
171
162
  }
172
-
173
163
  return true;
174
- }; // --------------------------------------------------------------------------
164
+ };
175
165
 
166
+ // --------------------------------------------------------------------------
176
167
 
177
- publicAPI.processMessage = function (msg) {
168
+ publicAPI.processMessage = msg => {
178
169
  /* eslint-disable eqeqeq */
179
170
  if (msg.id != model.viewId) {
180
171
  return;
181
172
  }
182
173
  /* eslint-enable eqeqeq */
183
-
184
-
185
- var imgBlob = new Blob([msg.image], {
174
+ const imgBlob = new Blob([msg.image], {
186
175
  type: model.mimeType
187
176
  });
188
-
189
177
  if (model.activeURL) {
190
178
  model.urlToRevoke.push(model.activeURL);
191
179
  model.activeURL = null;
192
-
193
180
  while (model.urlToRevoke.length > 60) {
194
- var url = model.urlToRevoke.shift();
181
+ const url = model.urlToRevoke.shift();
195
182
  window.URL.revokeObjectURL(url);
196
183
  }
197
184
  }
198
-
199
185
  model.activeURL = URL.createObjectURL(imgBlob);
200
- var time = Date.now();
201
- var fps = Math.floor(10000 / (time - model.lastTime)) / 10;
186
+ const time = Date.now();
187
+ const fps = Math.floor(10000 / (time - model.lastTime)) / 10;
202
188
  model.fps.push(fps);
203
189
  model.lastTime = time;
204
190
  model.lastImageEvent = {
205
191
  url: model.activeURL,
206
- fps: fps,
192
+ fps,
207
193
  metadata: {
208
194
  size: msg.size,
209
195
  id: msg.id,
@@ -211,38 +197,40 @@ function vtkViewStream(publicAPI, model) {
211
197
  workTime: msg.workTime
212
198
  }
213
199
  };
214
-
215
200
  if (model.decodeImage) {
216
201
  decodeImage(model.lastImageEvent);
217
202
  } else {
218
203
  publicAPI.invokeImageReady(model.lastImageEvent);
219
- } // GC fps
220
-
204
+ }
221
205
 
206
+ // GC fps
222
207
  while (model.fps.length > model.fpsWindowSize) {
223
208
  model.fps.shift();
224
209
  }
225
- }; // --------------------------------------------------------------------------
210
+ };
226
211
 
212
+ // --------------------------------------------------------------------------
227
213
 
228
- publicAPI.delete = macro.chain(function () {
214
+ publicAPI.delete = macro.chain(() => {
229
215
  model.unregisterViewStream(publicAPI);
230
216
  publicAPI.setViewId(null);
231
-
232
217
  while (model.urlToRevoke.length) {
233
218
  window.URL.revokeObjectURL(model.urlToRevoke.pop());
234
219
  }
235
- }, publicAPI.delete); // --------------------------------------------------------------------------
220
+ }, publicAPI.delete);
221
+
222
+ // --------------------------------------------------------------------------
236
223
  // Initialize object
237
224
  // --------------------------------------------------------------------------
238
225
 
239
226
  prepareDecodingPool();
240
- } // ----------------------------------------------------------------------------
227
+ }
228
+
229
+ // ----------------------------------------------------------------------------
241
230
  // Object factory
242
231
  // ----------------------------------------------------------------------------
243
232
 
244
-
245
- var DEFAULT_VALUES = {
233
+ const DEFAULT_VALUES = {
246
234
  // protocol: null,
247
235
  // api: null,
248
236
  cameraUpdateRate: 30,
@@ -257,27 +245,36 @@ var DEFAULT_VALUES = {
257
245
  stillRatio: 1,
258
246
  useCameraParameters: false,
259
247
  viewId: null
260
- }; // ----------------------------------------------------------------------------
248
+ };
249
+
250
+ // ----------------------------------------------------------------------------
261
251
 
262
252
  function extend(publicAPI, model) {
263
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
264
- Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods
253
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
254
+ Object.assign(model, DEFAULT_VALUES, initialValues);
265
255
 
256
+ // Object methods
266
257
  macro.obj(publicAPI, model);
267
258
  macro.event(publicAPI, model, 'ImageReady');
268
259
  macro.get(publicAPI, model, ['viewId', 'size', 'fps', 'lastImageEvent']);
269
- macro.setGet(publicAPI, model, ['camera', 'cameraUpdateRate', 'decodeImage', 'fpsWindowSize', 'interactiveQuality', 'interactiveRatio', 'stillQuality', 'stillRatio', 'useCameraParameters']); // Object specific methods
260
+ macro.setGet(publicAPI, model, ['camera', 'cameraUpdateRate', 'decodeImage', 'fpsWindowSize', 'interactiveQuality', 'interactiveRatio', 'stillQuality', 'stillRatio', 'useCameraParameters']);
270
261
 
271
- vtkViewStream(publicAPI, model); // Blend APIs
262
+ // Object specific methods
263
+ vtkViewStream(publicAPI, model);
272
264
 
265
+ // Blend APIs
273
266
  Object.assign(publicAPI, model.sharedAPI);
274
- } // ----------------------------------------------------------------------------
267
+ }
275
268
 
276
- var newInstance = macro.newInstance(extend, 'vtkViewStream'); // ----------------------------------------------------------------------------
269
+ // ----------------------------------------------------------------------------
270
+
271
+ const newInstance = macro.newInstance(extend, 'vtkViewStream');
272
+
273
+ // ----------------------------------------------------------------------------
277
274
 
278
275
  var ViewStream = {
279
- newInstance: newInstance,
280
- extend: extend
276
+ newInstance,
277
+ extend
281
278
  };
282
279
 
283
280
  export { ViewStream as default, extend, newInstance };