@kitware/vtk.js 28.10.2 → 28.11.1

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