@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,305 +1,263 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
1
  import Constants from './DataArray/Constants.js';
3
- import { newInstance as newInstance$1, newTypedArray, newTypedArrayFrom, obj, set, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
2
+ import { n as newInstance$1, a as newTypedArray, b as newTypedArrayFrom, o as obj, s as set, c as macro } from '../../macros2.js';
4
3
  import { n as norm } from './Math/index.js';
5
4
 
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
+ const {
6
+ vtkErrorMacro
7
+ } = macro;
8
+ const {
9
+ DefaultDataType
10
+ } = Constants;
7
11
 
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- var vtkErrorMacro = vtkErrorMacro$1;
10
- var DefaultDataType = Constants.DefaultDataType; // ----------------------------------------------------------------------------
12
+ // ----------------------------------------------------------------------------
11
13
  // Global methods
12
14
  // ----------------------------------------------------------------------------
15
+
13
16
  // Original source from https://www.npmjs.com/package/compute-range
14
17
  // Modified to accept type arrays
15
-
16
18
  function fastComputeRange(arr, offset, numberOfComponents) {
17
- var len = arr.length;
18
- var min;
19
- var max;
20
- var x;
21
- var i;
22
-
19
+ const len = arr.length;
20
+ let min;
21
+ let max;
22
+ let x;
23
+ let i;
23
24
  if (len === 0) {
24
25
  return {
25
26
  min: Number.MAX_VALUE,
26
27
  max: -Number.MAX_VALUE
27
28
  };
28
29
  }
29
-
30
30
  min = arr[offset];
31
31
  max = min;
32
-
33
32
  for (i = offset; i < len; i += numberOfComponents) {
34
33
  x = arr[i];
35
-
36
34
  if (x < min) {
37
35
  min = x;
38
36
  } else if (x > max) {
39
37
  max = x;
40
38
  }
41
39
  }
42
-
43
40
  return {
44
- min: min,
45
- max: max
41
+ min,
42
+ max
46
43
  };
47
44
  }
45
+
48
46
  /**
49
47
  * @deprecated please use fastComputeRange instead
50
48
  */
51
-
52
-
53
49
  function createRangeHelper() {
54
- var min = Number.MAX_VALUE;
55
- var max = -Number.MAX_VALUE;
56
- var count = 0;
57
- var sum = 0;
50
+ let min = Number.MAX_VALUE;
51
+ let max = -Number.MAX_VALUE;
52
+ let count = 0;
53
+ let sum = 0;
58
54
  return {
59
- add: function add(value) {
55
+ add(value) {
60
56
  if (min > value) {
61
57
  min = value;
62
58
  }
63
-
64
59
  if (max < value) {
65
60
  max = value;
66
61
  }
67
-
68
62
  count++;
69
63
  sum += value;
70
64
  },
71
- get: function get() {
65
+ get() {
72
66
  return {
73
- min: min,
74
- max: max,
75
- count: count,
76
- sum: sum,
67
+ min,
68
+ max,
69
+ count,
70
+ sum,
77
71
  mean: sum / count
78
72
  };
79
73
  },
80
- getRange: function getRange() {
74
+ getRange() {
81
75
  return {
82
- min: min,
83
- max: max
76
+ min,
77
+ max
84
78
  };
85
79
  }
86
80
  };
87
81
  }
88
-
89
82
  function computeRange(values) {
90
- var component = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
91
- var numberOfComponents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
92
-
83
+ let component = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
84
+ let numberOfComponents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
93
85
  if (component < 0 && numberOfComponents > 1) {
94
86
  // Compute magnitude
95
- var size = values.length;
96
- var numberOfValues = size / numberOfComponents;
97
- var data = new Float64Array(numberOfValues);
98
-
99
- for (var i = 0, j = 0; i < numberOfValues; ++i) {
100
- var _i;
101
-
102
- for (var nextJ = j + numberOfComponents; j < nextJ; ++j) {
87
+ const size = values.length;
88
+ const numberOfValues = size / numberOfComponents;
89
+ const data = new Float64Array(numberOfValues);
90
+ for (let i = 0, j = 0; i < numberOfValues; ++i) {
91
+ for (let nextJ = j + numberOfComponents; j < nextJ; ++j) {
103
92
  data[i] += values[j] * values[j];
104
93
  }
105
-
106
- _i = i, data[_i] = Math.pow(data[_i], 0.5);
94
+ data[i] **= 0.5;
107
95
  }
108
-
109
96
  return fastComputeRange(data, 0, 1);
110
97
  }
111
-
112
98
  return fastComputeRange(values, component < 0 ? 0 : component, numberOfComponents);
113
99
  }
114
-
115
100
  function ensureRangeSize(rangeArray) {
116
- var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
117
- var ranges = rangeArray || []; // Pad ranges with null value to get the
118
-
101
+ let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
102
+ const ranges = rangeArray || [];
103
+ // Pad ranges with null value to get the
119
104
  while (ranges.length <= size) {
120
105
  ranges.push(null);
121
106
  }
122
-
123
107
  return ranges;
124
108
  }
125
-
126
109
  function getDataType(typedArray) {
127
110
  // Expects toString() to return "[object ...Array]"
128
111
  return Object.prototype.toString.call(typedArray).slice(8, -1);
129
112
  }
130
-
131
113
  function getMaxNorm(normArray) {
132
- var numComps = normArray.getNumberOfComponents();
133
- var maxNorm = 0.0;
134
- var tuple = new Array(numComps);
135
-
136
- for (var i = 0; i < normArray.getNumberOfTuples(); ++i) {
114
+ const numComps = normArray.getNumberOfComponents();
115
+ let maxNorm = 0.0;
116
+ const tuple = new Array(numComps);
117
+ for (let i = 0; i < normArray.getNumberOfTuples(); ++i) {
137
118
  normArray.getTuple(i, tuple);
138
- var norm$1 = norm(tuple, numComps);
139
-
119
+ const norm$1 = norm(tuple, numComps);
140
120
  if (norm$1 > maxNorm) {
141
121
  maxNorm = norm$1;
142
122
  }
143
123
  }
144
-
145
124
  return maxNorm;
146
- } // ----------------------------------------------------------------------------
125
+ }
126
+
127
+ // ----------------------------------------------------------------------------
147
128
  // Static API
148
129
  // ----------------------------------------------------------------------------
149
130
 
131
+ const STATIC = {
132
+ computeRange,
133
+ createRangeHelper,
134
+ fastComputeRange,
135
+ getDataType,
136
+ getMaxNorm
137
+ };
150
138
 
151
- var STATIC = {
152
- computeRange: computeRange,
153
- createRangeHelper: createRangeHelper,
154
- fastComputeRange: fastComputeRange,
155
- getDataType: getDataType,
156
- getMaxNorm: getMaxNorm
157
- }; // ----------------------------------------------------------------------------
139
+ // ----------------------------------------------------------------------------
158
140
  // vtkDataArray methods
159
141
  // ----------------------------------------------------------------------------
160
142
 
161
143
  function vtkDataArray(publicAPI, model) {
162
144
  // Set our className
163
145
  model.classHierarchy.push('vtkDataArray');
146
+
164
147
  /**
165
148
  * Resize model.values and copy the old values to the new array.
166
149
  * @param {Number} requestedNumTuples Final expected number of tuples; must be >= 0
167
150
  * @returns {Boolean} True if a resize occured, false otherwise
168
151
  */
169
-
170
152
  function resize(requestedNumTuples) {
171
153
  if (requestedNumTuples < 0) {
172
154
  return false;
173
155
  }
174
-
175
- var numComps = publicAPI.getNumberOfComponents();
176
- var curNumTuples = model.values.length / (numComps > 0 ? numComps : 1);
177
-
156
+ const numComps = publicAPI.getNumberOfComponents();
157
+ const curNumTuples = model.values.length / (numComps > 0 ? numComps : 1);
178
158
  if (requestedNumTuples === curNumTuples) {
179
159
  return true;
180
160
  }
181
-
182
161
  if (requestedNumTuples > curNumTuples) {
183
162
  // Requested size is bigger than current size. Allocate enough
184
163
  // memory to fit the requested size and be more than double the
185
164
  // currently allocated memory.
186
- var oldValues = model.values;
165
+ const oldValues = model.values;
187
166
  model.values = newTypedArray(model.dataType, (requestedNumTuples + curNumTuples) * numComps);
188
167
  model.values.set(oldValues);
189
168
  return true;
190
- } // Requested size is smaller than currently allocated size
191
-
169
+ }
192
170
 
171
+ // Requested size is smaller than currently allocated size
193
172
  if (model.size > requestedNumTuples * numComps) {
194
173
  model.size = requestedNumTuples * numComps;
195
174
  publicAPI.dataChange();
196
175
  }
197
-
198
176
  return true;
199
177
  }
200
-
201
- publicAPI.dataChange = function () {
178
+ publicAPI.dataChange = () => {
202
179
  model.ranges = null;
203
180
  publicAPI.modified();
204
181
  };
205
-
206
- publicAPI.resize = function (requestedNumTuples) {
182
+ publicAPI.resize = requestedNumTuples => {
207
183
  resize(requestedNumTuples);
208
- var newSize = requestedNumTuples * publicAPI.getNumberOfComponents();
209
-
184
+ const newSize = requestedNumTuples * publicAPI.getNumberOfComponents();
210
185
  if (model.size !== newSize) {
211
186
  model.size = newSize;
212
187
  publicAPI.dataChange();
213
188
  return true;
214
189
  }
215
-
216
190
  return false;
217
- }; // FIXME, to rename into "clear()" or "reset()"
218
-
191
+ };
219
192
 
220
- publicAPI.initialize = function () {
193
+ // FIXME, to rename into "clear()" or "reset()"
194
+ publicAPI.initialize = () => {
221
195
  publicAPI.resize(0);
222
196
  };
197
+ publicAPI.getElementComponentSize = () => model.values.BYTES_PER_ELEMENT;
223
198
 
224
- publicAPI.getElementComponentSize = function () {
225
- return model.values.BYTES_PER_ELEMENT;
226
- }; // Description:
199
+ // Description:
227
200
  // Return the data component at the location specified by tupleIdx and
228
201
  // compIdx.
229
-
230
-
231
202
  publicAPI.getComponent = function (tupleIdx) {
232
- var compIdx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
203
+ let compIdx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
233
204
  return model.values[tupleIdx * model.numberOfComponents + compIdx];
234
- }; // Description:
205
+ };
206
+
207
+ // Description:
235
208
  // Set the data component at the location specified by tupleIdx and compIdx
236
209
  // to value.
237
210
  // Note that i is less than NumberOfTuples and j is less than
238
211
  // NumberOfComponents. Make sure enough memory has been allocated
239
212
  // (use SetNumberOfTuples() and SetNumberOfComponents()).
240
-
241
-
242
- publicAPI.setComponent = function (tupleIdx, compIdx, value) {
213
+ publicAPI.setComponent = (tupleIdx, compIdx, value) => {
243
214
  if (value !== model.values[tupleIdx * model.numberOfComponents + compIdx]) {
244
215
  model.values[tupleIdx * model.numberOfComponents + compIdx] = value;
245
216
  publicAPI.dataChange();
246
217
  }
247
218
  };
248
-
249
- publicAPI.getValue = function (valueIdx) {
250
- var idx = valueIdx / model.numberOfComponents;
251
- var comp = valueIdx % model.numberOfComponents;
219
+ publicAPI.getValue = valueIdx => {
220
+ const idx = valueIdx / model.numberOfComponents;
221
+ const comp = valueIdx % model.numberOfComponents;
252
222
  return publicAPI.getComponent(idx, comp);
253
223
  };
254
-
255
- publicAPI.setValue = function (valueIdx, value) {
256
- var idx = valueIdx / model.numberOfComponents;
257
- var comp = valueIdx % model.numberOfComponents;
224
+ publicAPI.setValue = (valueIdx, value) => {
225
+ const idx = valueIdx / model.numberOfComponents;
226
+ const comp = valueIdx % model.numberOfComponents;
258
227
  publicAPI.setComponent(idx, comp, value);
259
228
  };
260
-
261
- publicAPI.getData = function () {
262
- return model.size === model.values.length ? model.values : model.values.subarray(0, model.size);
263
- };
264
-
229
+ publicAPI.getData = () => model.size === model.values.length ? model.values : model.values.subarray(0, model.size);
265
230
  publicAPI.getRange = function () {
266
- var componentIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
267
- var rangeIdx = componentIndex;
268
-
231
+ let componentIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
232
+ let rangeIdx = componentIndex;
269
233
  if (rangeIdx < 0) {
270
234
  // If scalar data, then store in slot 0 (same as componentIndex = 0).
271
235
  // If vector data, then store in last slot.
272
236
  rangeIdx = model.numberOfComponents === 1 ? 0 : model.numberOfComponents;
273
237
  }
274
-
275
- var range = null;
276
-
238
+ let range = null;
277
239
  if (!model.ranges) {
278
240
  model.ranges = ensureRangeSize(model.ranges, model.numberOfComponents);
279
241
  }
280
-
281
242
  range = model.ranges[rangeIdx];
282
-
283
243
  if (range) {
284
244
  model.rangeTuple[0] = range.min;
285
245
  model.rangeTuple[1] = range.max;
286
246
  return model.rangeTuple;
287
- } // Need to compute ranges...
288
-
247
+ }
289
248
 
249
+ // Need to compute ranges...
290
250
  range = computeRange(publicAPI.getData(), componentIndex, model.numberOfComponents);
291
251
  model.ranges[rangeIdx] = range;
292
252
  model.rangeTuple[0] = range.min;
293
253
  model.rangeTuple[1] = range.max;
294
254
  return model.rangeTuple;
295
255
  };
296
-
297
- publicAPI.setRange = function (rangeValue, componentIndex) {
256
+ publicAPI.setRange = (rangeValue, componentIndex) => {
298
257
  if (!model.ranges) {
299
258
  model.ranges = ensureRangeSize(model.ranges, model.numberOfComponents);
300
259
  }
301
-
302
- var range = {
260
+ const range = {
303
261
  min: rangeValue.min,
304
262
  max: rangeValue.max
305
263
  };
@@ -308,195 +266,155 @@ function vtkDataArray(publicAPI, model) {
308
266
  model.rangeTuple[1] = range.max;
309
267
  return model.rangeTuple;
310
268
  };
311
-
312
- publicAPI.setTuple = function (idx, tuple) {
313
- var offset = idx * model.numberOfComponents;
314
-
315
- for (var i = 0; i < model.numberOfComponents; i++) {
269
+ publicAPI.setTuple = (idx, tuple) => {
270
+ const offset = idx * model.numberOfComponents;
271
+ for (let i = 0; i < model.numberOfComponents; i++) {
316
272
  model.values[offset + i] = tuple[i];
317
273
  }
318
274
  };
319
-
320
- publicAPI.setTuples = function (idx, tuples) {
321
- var i = idx * model.numberOfComponents;
322
- var last = Math.min(tuples.length, model.size - i);
323
-
324
- for (var j = 0; j < last;) {
275
+ publicAPI.setTuples = (idx, tuples) => {
276
+ let i = idx * model.numberOfComponents;
277
+ const last = Math.min(tuples.length, model.size - i);
278
+ for (let j = 0; j < last;) {
325
279
  model.values[i++] = tuples[j++];
326
280
  }
327
281
  };
328
-
329
- publicAPI.insertTuple = function (idx, tuple) {
282
+ publicAPI.insertTuple = (idx, tuple) => {
330
283
  if (model.size <= idx * model.numberOfComponents) {
331
284
  model.size = (idx + 1) * model.numberOfComponents;
332
285
  resize(idx + 1);
333
286
  }
334
-
335
287
  publicAPI.setTuple(idx, tuple);
336
288
  return idx;
337
289
  };
338
-
339
- publicAPI.insertTuples = function (idx, tuples) {
340
- var end = idx + tuples.length / model.numberOfComponents;
341
-
290
+ publicAPI.insertTuples = (idx, tuples) => {
291
+ const end = idx + tuples.length / model.numberOfComponents;
342
292
  if (model.size < end * model.numberOfComponents) {
343
293
  model.size = end * model.numberOfComponents;
344
294
  resize(end);
345
295
  }
346
-
347
296
  publicAPI.setTuples(idx, tuples);
348
297
  return end;
349
298
  };
350
-
351
- publicAPI.insertNextTuple = function (tuple) {
352
- var idx = model.size / model.numberOfComponents;
299
+ publicAPI.insertNextTuple = tuple => {
300
+ const idx = model.size / model.numberOfComponents;
353
301
  return publicAPI.insertTuple(idx, tuple);
354
302
  };
355
-
356
- publicAPI.insertNextTuples = function (tuples) {
357
- var idx = model.size / model.numberOfComponents;
303
+ publicAPI.insertNextTuples = tuples => {
304
+ const idx = model.size / model.numberOfComponents;
358
305
  return publicAPI.insertTuples(idx, tuples);
359
306
  };
360
-
361
307
  publicAPI.getTuple = function (idx) {
362
- var tupleToFill = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
363
- var numberOfComponents = model.numberOfComponents || 1;
364
- var offset = idx * numberOfComponents; // Check most common component sizes first
308
+ let tupleToFill = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
309
+ const numberOfComponents = model.numberOfComponents || 1;
310
+ const offset = idx * numberOfComponents;
311
+ // Check most common component sizes first
365
312
  // to avoid doing a for loop if possible
366
-
367
313
  switch (numberOfComponents) {
368
314
  case 4:
369
315
  tupleToFill[3] = model.values[offset + 3];
370
316
  // eslint-disable-next-line no-fallthrough
371
-
372
317
  case 3:
373
318
  tupleToFill[2] = model.values[offset + 2];
374
319
  // eslint-disable-next-line no-fallthrough
375
-
376
320
  case 2:
377
321
  tupleToFill[1] = model.values[offset + 1];
378
322
  // eslint-disable-next-line no-fallthrough
379
-
380
323
  case 1:
381
324
  tupleToFill[0] = model.values[offset];
382
325
  break;
383
-
384
326
  default:
385
- for (var i = numberOfComponents - 1; i >= 0; --i) {
327
+ for (let i = numberOfComponents - 1; i >= 0; --i) {
386
328
  tupleToFill[i] = model.values[offset + i];
387
329
  }
388
-
389
330
  }
390
-
391
331
  return tupleToFill;
392
332
  };
393
-
394
- publicAPI.getTuples = function (fromId, toId) {
395
- var from = (fromId !== null && fromId !== void 0 ? fromId : 0) * model.numberOfComponents;
396
- var to = (toId !== null && toId !== void 0 ? toId : publicAPI.getNumberOfTuples()) * model.numberOfComponents;
397
- var arr = publicAPI.getData().subarray(from, to);
333
+ publicAPI.getTuples = (fromId, toId) => {
334
+ const from = (fromId ?? 0) * model.numberOfComponents;
335
+ const to = (toId ?? publicAPI.getNumberOfTuples()) * model.numberOfComponents;
336
+ const arr = publicAPI.getData().subarray(from, to);
398
337
  return arr.length > 0 ? arr : null;
399
338
  };
400
-
401
339
  publicAPI.getTupleLocation = function () {
402
- var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
340
+ let idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
403
341
  return idx * model.numberOfComponents;
404
342
  };
405
-
406
- publicAPI.getNumberOfComponents = function () {
407
- return model.numberOfComponents;
408
- };
409
-
410
- publicAPI.getNumberOfValues = function () {
411
- return model.size;
412
- };
413
-
414
- publicAPI.getNumberOfTuples = function () {
415
- return model.size / model.numberOfComponents;
416
- };
417
-
418
- publicAPI.getDataType = function () {
419
- return model.dataType;
420
- };
343
+ publicAPI.getNumberOfComponents = () => model.numberOfComponents;
344
+ publicAPI.getNumberOfValues = () => model.size;
345
+ publicAPI.getNumberOfTuples = () => model.size / model.numberOfComponents;
346
+ publicAPI.getDataType = () => model.dataType;
421
347
  /* eslint-disable no-use-before-define */
422
-
423
-
424
- publicAPI.newClone = function () {
425
- return newInstance({
426
- empty: true,
427
- name: model.name,
428
- dataType: model.dataType,
429
- numberOfComponents: model.numberOfComponents
430
- });
431
- };
348
+ publicAPI.newClone = () => newInstance({
349
+ empty: true,
350
+ name: model.name,
351
+ dataType: model.dataType,
352
+ numberOfComponents: model.numberOfComponents
353
+ });
432
354
  /* eslint-enable no-use-before-define */
433
355
 
434
-
435
- publicAPI.getName = function () {
356
+ publicAPI.getName = () => {
436
357
  if (!model.name) {
437
358
  publicAPI.modified();
438
- model.name = "vtkDataArray".concat(publicAPI.getMTime());
359
+ model.name = `vtkDataArray${publicAPI.getMTime()}`;
439
360
  }
440
-
441
361
  return model.name;
442
362
  };
443
-
444
- publicAPI.setData = function (typedArray, numberOfComponents) {
363
+ publicAPI.setData = (typedArray, numberOfComponents) => {
445
364
  model.values = typedArray;
446
365
  model.size = typedArray.length;
447
366
  model.dataType = getDataType(typedArray);
448
-
449
367
  if (numberOfComponents) {
450
368
  model.numberOfComponents = numberOfComponents;
451
369
  }
452
-
453
370
  if (model.size % model.numberOfComponents !== 0) {
454
371
  model.numberOfComponents = 1;
455
372
  }
456
-
457
373
  publicAPI.dataChange();
458
- }; // Override serialization support
459
-
374
+ };
460
375
 
461
- publicAPI.getState = function () {
376
+ // Override serialization support
377
+ publicAPI.getState = () => {
462
378
  if (model.deleted) {
463
379
  return null;
464
380
  }
465
-
466
- var jsonArchive = _objectSpread(_objectSpread({}, model), {}, {
381
+ const jsonArchive = {
382
+ ...model,
467
383
  vtkClass: publicAPI.getClassName()
468
- }); // Convert typed array to regular array
469
-
384
+ };
470
385
 
386
+ // Convert typed array to regular array
471
387
  jsonArchive.values = Array.from(jsonArchive.values);
472
- delete jsonArchive.buffer; // Clean any empty data
388
+ delete jsonArchive.buffer;
473
389
 
474
- Object.keys(jsonArchive).forEach(function (keyName) {
390
+ // Clean any empty data
391
+ Object.keys(jsonArchive).forEach(keyName => {
475
392
  if (!jsonArchive[keyName]) {
476
393
  delete jsonArchive[keyName];
477
394
  }
478
- }); // Sort resulting object by key name
395
+ });
479
396
 
480
- var sortedObj = {};
481
- Object.keys(jsonArchive).sort().forEach(function (name) {
397
+ // Sort resulting object by key name
398
+ const sortedObj = {};
399
+ Object.keys(jsonArchive).sort().forEach(name => {
482
400
  sortedObj[name] = jsonArchive[name];
483
- }); // Remove mtime
401
+ });
484
402
 
403
+ // Remove mtime
485
404
  if (sortedObj.mtime) {
486
405
  delete sortedObj.mtime;
487
406
  }
488
-
489
407
  return sortedObj;
490
408
  };
491
-
492
- publicAPI.deepCopy = function (other) {
409
+ publicAPI.deepCopy = other => {
493
410
  // Retain current dataType and array reference before shallowCopy call.
494
- var currentType = publicAPI.getDataType();
495
- var currentArray = model.values;
496
- publicAPI.shallowCopy(other); // Avoid array reallocation if size already sufficient
497
- // and dataTypes match.
411
+ const currentType = publicAPI.getDataType();
412
+ const currentArray = model.values;
413
+ publicAPI.shallowCopy(other);
498
414
 
499
- if ((currentArray === null || currentArray === void 0 ? void 0 : currentArray.length) >= other.getNumberOfValues() && currentType === other.getDataType()) {
415
+ // Avoid array reallocation if size already sufficient
416
+ // and dataTypes match.
417
+ if (currentArray?.length >= other.getNumberOfValues() && currentType === other.getDataType()) {
500
418
  currentArray.set(other.getData());
501
419
  model.values = currentArray;
502
420
  publicAPI.dataChange();
@@ -504,97 +422,94 @@ function vtkDataArray(publicAPI, model) {
504
422
  publicAPI.setData(other.getData().slice());
505
423
  }
506
424
  };
507
-
508
- publicAPI.interpolateTuple = function (idx, source1, source1Idx, source2, source2Idx, t) {
509
- var numberOfComponents = model.numberOfComponents || 1;
510
-
425
+ publicAPI.interpolateTuple = (idx, source1, source1Idx, source2, source2Idx, t) => {
426
+ const numberOfComponents = model.numberOfComponents || 1;
511
427
  if (numberOfComponents !== source1.getNumberOfComponents() || numberOfComponents !== source2.getNumberOfComponents()) {
512
428
  vtkErrorMacro('numberOfComponents must match');
513
429
  }
430
+ const tuple1 = source1.getTuple(source1Idx);
431
+ const tuple2 = source2.getTuple(source2Idx);
432
+ const out = [];
433
+ out.length = numberOfComponents;
514
434
 
515
- var tuple1 = source1.getTuple(source1Idx);
516
- var tuple2 = source2.getTuple(source2Idx);
517
- var out = [];
518
- out.length = numberOfComponents; // Check most common component sizes first
435
+ // Check most common component sizes first
519
436
  // to avoid doing a for loop if possible
520
-
521
437
  switch (numberOfComponents) {
522
438
  case 4:
523
439
  out[3] = tuple1[3] + (tuple2[3] - tuple1[3]) * t;
524
440
  // eslint-disable-next-line no-fallthrough
525
-
526
441
  case 3:
527
442
  out[2] = tuple1[2] + (tuple2[2] - tuple1[2]) * t;
528
443
  // eslint-disable-next-line no-fallthrough
529
-
530
444
  case 2:
531
445
  out[1] = tuple1[1] + (tuple2[1] - tuple1[1]) * t;
532
446
  // eslint-disable-next-line no-fallthrough
533
-
534
447
  case 1:
535
448
  out[0] = tuple1[0] + (tuple2[0] - tuple1[0]) * t;
536
449
  break;
537
-
538
450
  default:
539
- for (var i = 0; i < numberOfComponents; i++) {
451
+ for (let i = 0; i < numberOfComponents; i++) {
540
452
  out[i] = tuple1[i] + (tuple2[i] - tuple1[i]) * t;
541
453
  }
542
-
543
454
  }
544
-
545
455
  return publicAPI.insertTuple(idx, out);
546
456
  };
547
- } // ----------------------------------------------------------------------------
457
+ }
458
+
459
+ // ----------------------------------------------------------------------------
548
460
  // Object factory
549
461
  // ----------------------------------------------------------------------------
462
+
550
463
  // size: The current size of the dataArray.
551
464
  // NOTE: The underlying typed array may be larger than 'size'.
552
-
553
-
554
- var DEFAULT_VALUES = {
465
+ const DEFAULT_VALUES = {
555
466
  name: '',
556
467
  numberOfComponents: 1,
557
468
  dataType: DefaultDataType,
558
- rangeTuple: [0, 0] // size: undefined,
469
+ rangeTuple: [0, 0]
470
+ // size: undefined,
559
471
  // values: null,
560
472
  // ranges: null,
473
+ };
561
474
 
562
- }; // ----------------------------------------------------------------------------
475
+ // ----------------------------------------------------------------------------
563
476
 
564
477
  function extend(publicAPI, model) {
565
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
478
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
566
479
  Object.assign(model, DEFAULT_VALUES, initialValues);
567
-
568
480
  if (!model.empty && !model.values && !model.size) {
569
481
  throw new TypeError('Cannot create vtkDataArray object without: size > 0, values');
570
482
  }
571
-
572
483
  if (!model.values) {
573
484
  model.values = newTypedArray(model.dataType, model.size);
574
485
  } else if (Array.isArray(model.values)) {
575
486
  model.values = newTypedArrayFrom(model.dataType, model.values);
576
487
  }
577
-
578
488
  if (model.values) {
579
- var _model$size;
580
-
581
489
  // Takes the size if provided (can be lower than `model.values`) otherwise the actual length of `values`.
582
- model.size = (_model$size = model.size) !== null && _model$size !== void 0 ? _model$size : model.values.length;
490
+ model.size = model.size ?? model.values.length;
583
491
  model.dataType = getDataType(model.values);
584
- } // Object methods
585
-
492
+ }
586
493
 
494
+ // Object methods
587
495
  obj(publicAPI, model);
588
- set(publicAPI, model, ['name', 'numberOfComponents']); // Object specific methods
496
+ set(publicAPI, model, ['name', 'numberOfComponents']);
589
497
 
498
+ // Object specific methods
590
499
  vtkDataArray(publicAPI, model);
591
- } // ----------------------------------------------------------------------------
500
+ }
592
501
 
593
- var newInstance = newInstance$1(extend, 'vtkDataArray'); // ----------------------------------------------------------------------------
502
+ // ----------------------------------------------------------------------------
503
+
504
+ const newInstance = newInstance$1(extend, 'vtkDataArray');
505
+
506
+ // ----------------------------------------------------------------------------
594
507
 
595
- var vtkDataArray$1 = _objectSpread(_objectSpread({
596
- newInstance: newInstance,
597
- extend: extend
598
- }, STATIC), Constants);
508
+ var vtkDataArray$1 = {
509
+ newInstance,
510
+ extend,
511
+ ...STATIC,
512
+ ...Constants
513
+ };
599
514
 
600
515
  export { STATIC, vtkDataArray$1 as default, extend, newInstance };