@kitware/vtk.js 28.10.2 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. package/vtk.js +18 -31
@@ -1,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 };