@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,13 +1,18 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import HalfFloat from '../../Common/Core/HalfFloat.js';
3
3
  import vtkWebGPUBufferManager from './BufferManager.js';
4
4
  import vtkWebGPUTextureView from './TextureView.js';
5
5
  import vtkWebGPUTypes from './Types.js';
6
6
  import vtkTexture from '../Core/Texture.js';
7
7
 
8
- var BufferUsage = vtkWebGPUBufferManager.BufferUsage; // ----------------------------------------------------------------------------
8
+ const {
9
+ BufferUsage
10
+ } = vtkWebGPUBufferManager;
11
+
12
+ // ----------------------------------------------------------------------------
9
13
  // Global methods
10
14
  // ----------------------------------------------------------------------------
15
+
11
16
  // ----------------------------------------------------------------------------
12
17
  // vtkWebGPUTexture methods
13
18
  // ----------------------------------------------------------------------------
@@ -15,36 +20,30 @@ var BufferUsage = vtkWebGPUBufferManager.BufferUsage; // -----------------------
15
20
  function vtkWebGPUTexture(publicAPI, model) {
16
21
  // Set our className
17
22
  model.classHierarchy.push('vtkWebGPUTexture');
18
-
19
- publicAPI.create = function (device, options) {
23
+ publicAPI.create = (device, options) => {
20
24
  model.device = device;
21
25
  model.width = options.width;
22
26
  model.height = options.height;
23
27
  model.depth = options.depth ? options.depth : 1;
24
- var dimension = model.depth === 1 ? '2d' : '3d';
28
+ const dimension = model.depth === 1 ? '2d' : '3d';
25
29
  model.format = options.format ? options.format : 'rgba8unorm';
26
30
  model.mipLevel = options.mipLevel ? options.mipLevel : 0;
27
31
  /* eslint-disable no-undef */
28
-
29
32
  /* eslint-disable no-bitwise */
30
-
31
33
  model.usage = options.usage ? options.usage : GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST;
32
34
  /* eslint-enable no-undef */
33
-
34
35
  /* eslint-enable no-bitwise */
35
-
36
36
  model.handle = model.device.getHandle().createTexture({
37
37
  size: [model.width, model.height, model.depth],
38
38
  format: model.format,
39
39
  // 'rgba8unorm',
40
40
  usage: model.usage,
41
41
  label: model.label,
42
- dimension: dimension,
42
+ dimension,
43
43
  mipLevelCount: model.mipLevel + 1
44
44
  });
45
45
  };
46
-
47
- publicAPI.assignFromHandle = function (device, handle, options) {
46
+ publicAPI.assignFromHandle = (device, handle, options) => {
48
47
  model.device = device;
49
48
  model.handle = handle;
50
49
  model.width = options.width;
@@ -52,18 +51,14 @@ function vtkWebGPUTexture(publicAPI, model) {
52
51
  model.depth = options.depth ? options.depth : 1;
53
52
  model.format = options.format ? options.format : 'rgba8unorm';
54
53
  /* eslint-disable no-undef */
55
-
56
54
  /* eslint-disable no-bitwise */
57
-
58
55
  model.usage = options.usage ? options.usage : GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST;
59
56
  /* eslint-enable no-undef */
60
-
61
57
  /* eslint-enable no-bitwise */
62
58
  };
63
59
 
64
- publicAPI.writeImageData = function (req) {
65
- var nativeArray = [];
66
-
60
+ publicAPI.writeImageData = req => {
61
+ let nativeArray = [];
67
62
  if (req.canvas) {
68
63
  model.device.getHandle().queue.copyExternalImageToTexture({
69
64
  source: req.canvas,
@@ -75,7 +70,6 @@ function vtkWebGPUTexture(publicAPI, model) {
75
70
  model.ready = true;
76
71
  return;
77
72
  }
78
-
79
73
  if (req.jsImageData && !req.nativeArray) {
80
74
  req.width = req.jsImageData.width;
81
75
  req.height = req.jsImageData.height;
@@ -84,79 +78,70 @@ function vtkWebGPUTexture(publicAPI, model) {
84
78
  req.flip = true;
85
79
  req.nativeArray = req.jsImageData.data;
86
80
  }
87
-
88
- var tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
89
- var bufferBytesPerRow = model.width * tDetails.stride;
90
-
91
- var fixAll = function fixAll(arr, height, depth) {
81
+ const tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
82
+ let bufferBytesPerRow = model.width * tDetails.stride;
83
+ const fixAll = (arr, height, depth) => {
92
84
  // bytesPerRow must be a multiple of 256 so we might need to rebuild
93
85
  // the data here before passing to the buffer. e.g. if it is unorm8x4 then
94
86
  // we need to have width be a multiple of 64
95
- var inWidthInBytes = arr.length / (height * depth) * arr.BYTES_PER_ELEMENT; // is this a half float texture?
87
+ const inWidthInBytes = arr.length / (height * depth) * arr.BYTES_PER_ELEMENT;
96
88
 
97
- var halfFloat = tDetails.elementSize === 2 && tDetails.sampleType === 'float'; // if we need to copy the data
89
+ // is this a half float texture?
90
+ const halfFloat = tDetails.elementSize === 2 && tDetails.sampleType === 'float';
98
91
 
92
+ // if we need to copy the data
99
93
  if (halfFloat || inWidthInBytes % 256) {
100
- var inArray = arr;
101
- var inWidth = inWidthInBytes / inArray.BYTES_PER_ELEMENT;
102
- var outBytesPerElement = tDetails.elementSize;
103
- var outWidthInBytes = 256 * Math.floor((inWidth * outBytesPerElement + 255) / 256);
104
- var outWidth = outWidthInBytes / outBytesPerElement;
105
- var outArray = macro.newTypedArray(halfFloat ? 'Uint16Array' : inArray.constructor.name, outWidth * height * depth);
106
-
107
- for (var v = 0; v < height * depth; v++) {
94
+ const inArray = arr;
95
+ const inWidth = inWidthInBytes / inArray.BYTES_PER_ELEMENT;
96
+ const outBytesPerElement = tDetails.elementSize;
97
+ const outWidthInBytes = 256 * Math.floor((inWidth * outBytesPerElement + 255) / 256);
98
+ const outWidth = outWidthInBytes / outBytesPerElement;
99
+ const outArray = macro.newTypedArray(halfFloat ? 'Uint16Array' : inArray.constructor.name, outWidth * height * depth);
100
+ for (let v = 0; v < height * depth; v++) {
108
101
  if (halfFloat) {
109
- for (var i = 0; i < inWidth; i++) {
102
+ for (let i = 0; i < inWidth; i++) {
110
103
  outArray[v * outWidth + i] = HalfFloat.toHalf(inArray[v * inWidth + i]);
111
104
  }
112
105
  } else {
113
106
  outArray.set(inArray.subarray(v * inWidth, (v + 1) * inWidth), v * outWidth);
114
107
  }
115
108
  }
116
-
117
109
  return [outArray, outWidthInBytes];
118
110
  }
119
-
120
111
  return [arr, inWidthInBytes];
121
112
  };
122
-
123
113
  if (req.nativeArray) {
124
114
  nativeArray = req.nativeArray;
125
115
  }
126
-
127
116
  if (req.image) {
128
- var canvas = document.createElement('canvas');
117
+ const canvas = document.createElement('canvas');
129
118
  canvas.width = req.image.width;
130
119
  canvas.height = req.image.height;
131
- var ctx = canvas.getContext('2d');
120
+ const ctx = canvas.getContext('2d');
132
121
  ctx.translate(0, canvas.height);
133
122
  ctx.scale(1, -1);
134
123
  ctx.drawImage(req.image, 0, 0, req.image.width, req.image.height, 0, 0, canvas.width, canvas.height);
135
- var imageData = ctx.getImageData(0, 0, req.image.width, req.image.height);
124
+ const imageData = ctx.getImageData(0, 0, req.image.width, req.image.height);
136
125
  nativeArray = imageData.data;
137
126
  }
138
-
139
- var cmdEnc = model.device.createCommandEncoder();
140
-
127
+ const cmdEnc = model.device.createCommandEncoder();
141
128
  if (publicAPI.getDimensionality() !== 3) {
142
129
  // Non-3D, supports mipmaps
143
- var mips = vtkTexture.generateMipmaps(nativeArray, model.width, model.height, model.mipLevel);
144
- var currentWidth = model.width;
145
- var currentHeight = model.height;
146
-
147
- for (var m = 0; m <= model.mipLevel; m++) {
148
- var fix = fixAll(mips[m], currentHeight, 1);
130
+ const mips = vtkTexture.generateMipmaps(nativeArray, model.width, model.height, model.mipLevel);
131
+ let currentWidth = model.width;
132
+ let currentHeight = model.height;
133
+ for (let m = 0; m <= model.mipLevel; m++) {
134
+ const fix = fixAll(mips[m], currentHeight, 1);
149
135
  bufferBytesPerRow = fix[1];
150
- var buffRequest = {
136
+ const buffRequest = {
151
137
  dataArray: req.dataArray ? req.dataArray : null,
152
138
  nativeArray: fix[0],
153
-
154
139
  /* eslint-disable no-undef */
155
140
  usage: BufferUsage.Texture
156
141
  /* eslint-enable no-undef */
157
-
158
142
  };
159
- var buff = model.device.getBufferManager().getBuffer(buffRequest);
143
+
144
+ const buff = model.device.getBufferManager().getBuffer(buffRequest);
160
145
  cmdEnc.copyBufferToTexture({
161
146
  buffer: buff.getHandle(),
162
147
  offset: 0,
@@ -169,28 +154,23 @@ function vtkWebGPUTexture(publicAPI, model) {
169
154
  currentWidth /= 2;
170
155
  currentHeight /= 2;
171
156
  }
172
-
173
157
  model.device.submitCommandEncoder(cmdEnc);
174
158
  model.ready = true;
175
159
  } else {
176
160
  // 3D, no mipmaps
177
- var _fix = fixAll(nativeArray, model.height, model.depth);
178
-
179
- bufferBytesPerRow = _fix[1];
180
- var _buffRequest = {
161
+ const fix = fixAll(nativeArray, model.height, model.depth);
162
+ bufferBytesPerRow = fix[1];
163
+ const buffRequest = {
181
164
  dataArray: req.dataArray ? req.dataArray : null,
182
-
183
165
  /* eslint-disable no-undef */
184
166
  usage: BufferUsage.Texture
185
167
  /* eslint-enable no-undef */
186
-
187
168
  };
188
- _buffRequest.nativeArray = _fix[0];
189
-
190
- var _buff = model.device.getBufferManager().getBuffer(_buffRequest);
191
169
 
170
+ buffRequest.nativeArray = fix[0];
171
+ const buff = model.device.getBufferManager().getBuffer(buffRequest);
192
172
  cmdEnc.copyBufferToTexture({
193
- buffer: _buff.getHandle(),
173
+ buffer: buff.getHandle(),
194
174
  offset: 0,
195
175
  bytesPerRow: bufferBytesPerRow,
196
176
  rowsPerImage: model.height
@@ -200,31 +180,28 @@ function vtkWebGPUTexture(publicAPI, model) {
200
180
  model.device.submitCommandEncoder(cmdEnc);
201
181
  model.ready = true;
202
182
  }
203
- }; // when data is pulled out of this texture what scale must be applied to
183
+ };
184
+
185
+ // when data is pulled out of this texture what scale must be applied to
204
186
  // get back to the original source data. For formats such as r8unorm we
205
187
  // have to multiply by 255.0, for formats such as r16float it is 1.0
206
-
207
-
208
- publicAPI.getScale = function () {
209
- var tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
210
- var halfFloat = tDetails.elementSize === 2 && tDetails.sampleType === 'float';
188
+ publicAPI.getScale = () => {
189
+ const tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
190
+ const halfFloat = tDetails.elementSize === 2 && tDetails.sampleType === 'float';
211
191
  return halfFloat ? 1.0 : 255.0;
212
192
  };
213
-
214
- publicAPI.getNumberOfComponents = function () {
215
- var tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
193
+ publicAPI.getNumberOfComponents = () => {
194
+ const tDetails = vtkWebGPUTypes.getDetailsFromTextureFormat(model.format);
216
195
  return tDetails.numComponents;
217
196
  };
218
-
219
- publicAPI.getDimensionality = function () {
220
- var dims = 0;
197
+ publicAPI.getDimensionality = () => {
198
+ let dims = 0;
221
199
  if (model.width > 1) dims++;
222
200
  if (model.height > 1) dims++;
223
201
  if (model.depth > 1) dims++;
224
202
  return dims;
225
203
  };
226
-
227
- publicAPI.resizeToMatch = function (tex) {
204
+ publicAPI.resizeToMatch = tex => {
228
205
  if (tex.getWidth() !== model.width || tex.getHeight() !== model.height || tex.getDepth() !== model.depth) {
229
206
  model.width = tex.getWidth();
230
207
  model.height = tex.getHeight();
@@ -237,10 +214,8 @@ function vtkWebGPUTexture(publicAPI, model) {
237
214
  });
238
215
  }
239
216
  };
240
-
241
217
  publicAPI.resize = function (width, height) {
242
- var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
243
-
218
+ let depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
244
219
  if (width !== model.width || height !== model.height || depth !== model.depth) {
245
220
  model.width = width;
246
221
  model.height = height;
@@ -253,49 +228,54 @@ function vtkWebGPUTexture(publicAPI, model) {
253
228
  });
254
229
  }
255
230
  };
256
-
257
231
  publicAPI.createView = function (label) {
258
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
259
-
232
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
260
233
  // if options is missing values try to add them in
261
234
  if (!options.dimension) {
262
235
  options.dimension = model.depth === 1 ? '2d' : '3d';
263
236
  }
264
-
265
- var view = vtkWebGPUTextureView.newInstance({
266
- label: label
237
+ const view = vtkWebGPUTextureView.newInstance({
238
+ label
267
239
  });
268
240
  view.create(publicAPI, options);
269
241
  return view;
270
242
  };
271
- } // ----------------------------------------------------------------------------
243
+ }
244
+
245
+ // ----------------------------------------------------------------------------
272
246
  // Object factory
273
247
  // ----------------------------------------------------------------------------
274
248
 
275
-
276
- var DEFAULT_VALUES = {
249
+ const DEFAULT_VALUES = {
277
250
  device: null,
278
251
  handle: null,
279
252
  buffer: null,
280
253
  ready: false,
281
254
  label: null
282
- }; // ----------------------------------------------------------------------------
255
+ };
256
+
257
+ // ----------------------------------------------------------------------------
283
258
 
284
259
  function extend(publicAPI, model) {
285
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
286
- Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods
260
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
261
+ Object.assign(model, DEFAULT_VALUES, initialValues);
287
262
 
263
+ // Object methods
288
264
  macro.obj(publicAPI, model);
289
265
  macro.get(publicAPI, model, ['handle', 'ready', 'width', 'height', 'depth', 'format', 'usage']);
290
266
  macro.setGet(publicAPI, model, ['device', 'label']);
291
267
  vtkWebGPUTexture(publicAPI, model);
292
- } // ----------------------------------------------------------------------------
268
+ }
269
+
270
+ // ----------------------------------------------------------------------------
271
+
272
+ const newInstance = macro.newInstance(extend);
293
273
 
294
- var newInstance = macro.newInstance(extend); // ----------------------------------------------------------------------------
274
+ // ----------------------------------------------------------------------------
295
275
 
296
276
  var vtkWebGPUTexture$1 = {
297
- newInstance: newInstance,
298
- extend: extend
277
+ newInstance,
278
+ extend
299
279
  };
300
280
 
301
281
  export { vtkWebGPUTexture$1 as default, extend, newInstance };
@@ -1,55 +1,56 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkDataArray from '../../Common/Core/DataArray.js';
3
3
  import vtkWebGPUTexture from './Texture.js';
4
4
 
5
- var VtkDataTypes = vtkDataArray.VtkDataTypes; // ----------------------------------------------------------------------------
5
+ const {
6
+ VtkDataTypes
7
+ } = vtkDataArray;
8
+
9
+ // ----------------------------------------------------------------------------
6
10
  // Global methods
7
11
  // ----------------------------------------------------------------------------
12
+
8
13
  // ----------------------------------------------------------------------------
9
14
  // vtkWebGPUTextureManager methods
10
15
  // ----------------------------------------------------------------------------
11
16
 
12
17
  function vtkWebGPUTextureManager(publicAPI, model) {
13
18
  // Set our className
14
- model.classHierarchy.push('vtkWebGPUTextureManager'); // fills in request values based on what is missing/provided
19
+ model.classHierarchy.push('vtkWebGPUTextureManager');
15
20
 
21
+ // fills in request values based on what is missing/provided
16
22
  function _fillRequest(req) {
17
23
  // fill in values based on imageData if the request has it
18
24
  if (req.imageData) {
19
25
  req.dataArray = req.imageData.getPointData().getScalars();
20
26
  req.time = req.dataArray.getMTime();
21
27
  req.nativeArray = req.dataArray.getData();
22
- var dims = req.imageData.getDimensions();
28
+ const dims = req.imageData.getDimensions();
23
29
  req.width = dims[0];
24
30
  req.height = dims[1];
25
31
  req.depth = dims[2];
26
- var numComp = req.dataArray.getNumberOfComponents(); // todo fix handling of 3 component
27
-
32
+ const numComp = req.dataArray.getNumberOfComponents();
33
+ // todo fix handling of 3 component
28
34
  switch (numComp) {
29
35
  case 1:
30
36
  req.format = 'r';
31
37
  break;
32
-
33
38
  case 2:
34
39
  req.format = 'rg';
35
40
  break;
36
-
37
41
  case 3:
38
42
  case 4:
39
43
  default:
40
44
  req.format = 'rgba';
41
45
  break;
42
46
  }
43
-
44
- var dataType = req.dataArray.getDataType();
45
-
47
+ const dataType = req.dataArray.getDataType();
46
48
  switch (dataType) {
47
49
  case VtkDataTypes.UNSIGNED_CHAR:
48
50
  req.format += '8unorm';
49
51
  break;
50
52
  // todo extend to other types that are not filterable
51
53
  // as they can be useful
52
-
53
54
  case VtkDataTypes.FLOAT:
54
55
  case VtkDataTypes.UNSIGNED_INT:
55
56
  case VtkDataTypes.INT:
@@ -60,17 +61,17 @@ function vtkWebGPUTextureManager(publicAPI, model) {
60
61
  req.format += '16float';
61
62
  break;
62
63
  }
63
- } // fill in values based on image if the request has it
64
-
64
+ }
65
65
 
66
+ // fill in values based on image if the request has it
66
67
  if (req.image) {
67
68
  req.width = req.image.width;
68
69
  req.height = req.image.height;
69
70
  req.depth = 1;
70
71
  req.format = 'rgba8unorm';
71
- } // fill in based on js imageData
72
-
72
+ }
73
73
 
74
+ // fill in based on js imageData
74
75
  if (req.jsImageData) {
75
76
  req.width = req.jsImageData.width;
76
77
  req.height = req.jsImageData.height;
@@ -79,7 +80,6 @@ function vtkWebGPUTextureManager(publicAPI, model) {
79
80
  req.flip = true;
80
81
  req.nativeArray = req.jsImageData.data;
81
82
  }
82
-
83
83
  if (req.canvas) {
84
84
  req.width = req.canvas.width;
85
85
  req.height = req.canvas.height;
@@ -87,19 +87,16 @@ function vtkWebGPUTextureManager(publicAPI, model) {
87
87
  req.format = 'rgba8unorm';
88
88
  req.flip = true;
89
89
  /* eslint-disable no-undef */
90
-
91
90
  /* eslint-disable no-bitwise */
92
-
93
91
  req.usage = GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT;
94
92
  /* eslint-enable no-undef */
95
-
96
93
  /* eslint-enable no-bitwise */
97
94
  }
98
- } // create a texture (used by getTexture)
99
-
95
+ }
100
96
 
97
+ // create a texture (used by getTexture)
101
98
  function _createTexture(req) {
102
- var newTex = vtkWebGPUTexture.newInstance();
99
+ const newTex = vtkWebGPUTexture.newInstance();
103
100
  newTex.create(model.device, {
104
101
  width: req.width,
105
102
  height: req.height,
@@ -107,44 +104,39 @@ function vtkWebGPUTextureManager(publicAPI, model) {
107
104
  format: req.format,
108
105
  usage: req.usage,
109
106
  mipLevel: req.mipLevel
110
- }); // fill the texture if we have data
107
+ });
111
108
 
109
+ // fill the texture if we have data
112
110
  if (req.nativeArray || req.image || req.canvas) {
113
111
  newTex.writeImageData(req);
114
112
  }
115
-
116
113
  return newTex;
117
- } // get a texture or create it if not cached.
118
- // this is the main entry point
119
-
114
+ }
120
115
 
121
- publicAPI.getTexture = function (req) {
116
+ // get a texture or create it if not cached.
117
+ // this is the main entry point
118
+ publicAPI.getTexture = req => {
122
119
  // if we have a source the get/create/cache the texture
123
120
  if (req.hash) {
124
121
  // if a matching texture already exists then return it
125
122
  return model.device.getCachedObject(req.hash, _createTexture, req);
126
123
  }
127
-
128
124
  return _createTexture(req);
129
125
  };
130
-
131
- publicAPI.getTextureForImageData = function (imgData) {
132
- var treq = {
126
+ publicAPI.getTextureForImageData = imgData => {
127
+ const treq = {
133
128
  time: imgData.getMTime()
134
129
  };
135
- treq.imageData = imgData; // fill out the req time and format based on imageData/image
136
-
130
+ treq.imageData = imgData;
131
+ // fill out the req time and format based on imageData/image
137
132
  _fillRequest(treq);
138
-
139
133
  treq.hash = treq.time + treq.format + treq.mipLevel;
140
134
  return model.device.getTextureManager().getTexture(treq);
141
135
  };
142
-
143
- publicAPI.getTextureForVTKTexture = function (srcTexture) {
144
- var treq = {
136
+ publicAPI.getTextureForVTKTexture = srcTexture => {
137
+ const treq = {
145
138
  time: srcTexture.getMTime()
146
139
  };
147
-
148
140
  if (srcTexture.getInputData()) {
149
141
  treq.imageData = srcTexture.getInputData();
150
142
  } else if (srcTexture.getImage()) {
@@ -153,39 +145,45 @@ function vtkWebGPUTextureManager(publicAPI, model) {
153
145
  treq.jsImageData = srcTexture.getJsImageData();
154
146
  } else if (srcTexture.getCanvas()) {
155
147
  treq.canvas = srcTexture.getCanvas();
156
- } // fill out the req time and format based on imageData/image
157
-
158
-
148
+ }
149
+ // fill out the req time and format based on imageData/image
159
150
  _fillRequest(treq);
160
-
161
151
  treq.mipLevel = srcTexture.getMipLevel();
162
152
  treq.hash = treq.time + treq.format + treq.mipLevel;
163
153
  return model.device.getTextureManager().getTexture(treq);
164
154
  };
165
- } // ----------------------------------------------------------------------------
155
+ }
156
+
157
+ // ----------------------------------------------------------------------------
166
158
  // Object factory
167
159
  // ----------------------------------------------------------------------------
168
160
 
169
-
170
- var DEFAULT_VALUES = {
161
+ const DEFAULT_VALUES = {
171
162
  handle: null,
172
163
  device: null
173
- }; // ----------------------------------------------------------------------------
164
+ };
165
+
166
+ // ----------------------------------------------------------------------------
174
167
 
175
168
  function extend(publicAPI, model) {
176
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
177
- Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods
169
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
170
+ Object.assign(model, DEFAULT_VALUES, initialValues);
178
171
 
172
+ // Object methods
179
173
  macro.obj(publicAPI, model);
180
174
  macro.setGet(publicAPI, model, ['device']);
181
175
  vtkWebGPUTextureManager(publicAPI, model);
182
- } // ----------------------------------------------------------------------------
176
+ }
177
+
178
+ // ----------------------------------------------------------------------------
183
179
 
184
- var newInstance = macro.newInstance(extend); // ----------------------------------------------------------------------------
180
+ const newInstance = macro.newInstance(extend);
181
+
182
+ // ----------------------------------------------------------------------------
185
183
 
186
184
  var vtkWebGPUTextureManager$1 = {
187
- newInstance: newInstance,
188
- extend: extend
185
+ newInstance,
186
+ extend
189
187
  };
190
188
 
191
189
  export { vtkWebGPUTextureManager$1 as default, extend, newInstance };