@kitware/vtk.js 28.10.1 → 28.11.0

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