@kitware/vtk.js 28.10.2 → 28.11.0

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