@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,6 +1,4 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import macro from '../../../macros.js';
1
+ import { m as macro } from '../../../macros2.js';
4
2
  import { v as vtkLineIntegralConvolution2D_LIC0 } from './glsl/vtkLineIntegralConvolution2D_LIC0.glsl.js';
5
3
  import { v as vtkLineIntegralConvolution2D_LICI } from './glsl/vtkLineIntegralConvolution2D_LICI.glsl.js';
6
4
  import { v as vtkLineIntegralConvolution2D_LICN } from './glsl/vtkLineIntegralConvolution2D_LICN.glsl.js';
@@ -16,39 +14,50 @@ import vtkLICPingPongBufferManager from './LineIntegralConvolution2D/pingpong.js
16
14
  import { ContrastEnhanceMode } from '../../Core/SurfaceLICInterface/Constants.js';
17
15
 
18
16
  function getVectorLookupProgram() {
19
- var normalize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
17
+ let normalize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
20
18
  // lookup the vector and normalize
21
- var getNormVecSrc = "\n vec2 getVector( vec2 vectc )\n\n {\n\n vec2 V = texture2D( texVectors, vectc ).xy;\n\n // normalize if |V| not 0\n\n float lenV = length( V );\n\n if ( lenV > 1.0e-8 )\n\n {\n\n return V/lenV;\n\n }\n\n else\n\n {\n\n return vec2( 0.0, 0.0 );\n\n }\n\n }\n\n "; // lookup the vector
22
-
23
- var getVecSrc = "\n vec2 getVector( vec2 vectc )\n\n {\n\n return texture2D( texVectors, vectc ).xy;\n\n }\n\n ";
24
-
19
+ const getNormVecSrc = `
20
+ vec2 getVector( vec2 vectc )\n
21
+ {\n
22
+ vec2 V = texture2D( texVectors, vectc ).xy;\n
23
+ // normalize if |V| not 0\n
24
+ float lenV = length( V );\n
25
+ if ( lenV > 1.0e-8 )\n
26
+ {\n
27
+ return V/lenV;\n
28
+ }\n
29
+ else\n
30
+ {\n
31
+ return vec2( 0.0, 0.0 );\n
32
+ }\n
33
+ }\n
34
+ `;
35
+
36
+ // lookup the vector
37
+ const getVecSrc = `
38
+ vec2 getVector( vec2 vectc )\n
39
+ {\n
40
+ return texture2D( texVectors, vectc ).xy;\n
41
+ }\n
42
+ `;
25
43
  if (normalize) {
26
44
  return getNormVecSrc;
27
45
  }
28
-
29
46
  return getVecSrc;
30
47
  }
31
-
32
48
  function vtkLineIntegralConvolution2D(publicAPI, model) {
33
49
  model.classHierarchy.push('vtkLineIntegralConvolution2D');
34
-
35
- publicAPI.buildAShader = function (fSource) {
36
- return model._openGLRenderWindow.getShaderCache().readyShaderProgramArray(vtkLineIntegralConvolution2D_quadVS, fSource, '');
37
- };
38
-
50
+ publicAPI.buildAShader = fSource => model._openGLRenderWindow.getShaderCache().readyShaderProgramArray(vtkLineIntegralConvolution2D_quadVS, fSource, '');
39
51
  publicAPI.dumpTextureValues = function (texture, _ref) {
40
- var _ref2 = _slicedToArray(_ref, 2),
41
- width = _ref2[0],
42
- height = _ref2[1];
43
-
44
- var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : model.context;
45
- var openGLRenderWindow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : model._openGLRenderWindow;
46
- var nComp = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 4;
52
+ let [width, height] = _ref;
53
+ let context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : model.context;
54
+ let openGLRenderWindow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : model._openGLRenderWindow;
55
+ let nComp = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 4;
47
56
  // To get texture values in es 2.0, we need to attach the texture to a fbo,
48
57
  // then use glReadPixels
49
- var fb = vtkOpenGLFramebuffer.newInstance();
50
- var gl = context;
51
- var pixels = null;
58
+ const fb = vtkOpenGLFramebuffer.newInstance();
59
+ const gl = context;
60
+ let pixels = null;
52
61
  fb.setOpenGLRenderWindow(openGLRenderWindow);
53
62
  fb.saveCurrentBindingsAndBuffers();
54
63
  fb.create(width, height);
@@ -59,310 +68,290 @@ function vtkLineIntegralConvolution2D(publicAPI, model) {
59
68
  fb.restorePreviousBindingsAndBuffers();
60
69
  return pixels;
61
70
  };
62
-
63
71
  publicAPI.getTextureMinMax = function (texture, size) {
64
- var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : model.context;
65
- var openGLRenderWindow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : model._openGLRenderWindow;
66
- var values = publicAPI.dumpTextureValues(texture, size, context, openGLRenderWindow, 4);
67
- var min = Number.MAX_VALUE;
68
- var max = Number.MIN_VALUE;
69
-
70
- for (var i = 0; i < values.length; i += 4) {
72
+ let context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : model.context;
73
+ let openGLRenderWindow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : model._openGLRenderWindow;
74
+ const values = publicAPI.dumpTextureValues(texture, size, context, openGLRenderWindow, 4);
75
+ let min = Number.MAX_VALUE;
76
+ let max = Number.MIN_VALUE;
77
+ for (let i = 0; i < values.length; i += 4) {
71
78
  // Make sure the current pixel is inside the rendered geometry (g === 0)
72
79
  if (values[i + 1] === 0.0) {
73
- var val = values[i];
74
-
80
+ const val = values[i];
75
81
  if (val < min) {
76
82
  min = val;
77
83
  }
78
-
79
84
  if (val > max) {
80
85
  max = val;
81
86
  }
82
87
  }
83
88
  }
84
-
85
89
  return {
86
- min: min,
87
- max: max
90
+ min,
91
+ max
88
92
  };
89
93
  };
90
-
91
- publicAPI.getComponentSelectionProgram = function (ids) {
92
- var compNames = 'xyzw';
93
- return ".".concat(compNames[ids[0]]).concat(compNames[ids[1]]);
94
+ publicAPI.getComponentSelectionProgram = ids => {
95
+ const compNames = 'xyzw';
96
+ return `.${compNames[ids[0]]}${compNames[ids[1]]}`;
94
97
  };
95
-
96
- publicAPI.buildShaders = function () {
98
+ publicAPI.buildShaders = () => {
97
99
  model.LIC0ShaderProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_LIC0);
98
- var VTFSource = vtkShaderProgram.substitute(vtkLineIntegralConvolution2D_VT, '//VTK::LICComponentSelection::Impl', "vec2 V = texture2D(texVectors, tcoordVC.st)".concat(publicAPI.getComponentSelectionProgram(model.componentIds), ";")).result;
100
+ const VTFSource = vtkShaderProgram.substitute(vtkLineIntegralConvolution2D_VT, '//VTK::LICComponentSelection::Impl', `vec2 V = texture2D(texVectors, tcoordVC.st)${publicAPI.getComponentSelectionProgram(model.componentIds)};`).result;
99
101
  model.VTProgram = publicAPI.buildAShader(VTFSource);
100
- var LICISource = vtkShaderProgram.substitute(vtkLineIntegralConvolution2D_LICI, '//VTK::LICVectorLookup::Impl', getVectorLookupProgram(model.normalizeVectors), true).result;
102
+ const LICISource = vtkShaderProgram.substitute(vtkLineIntegralConvolution2D_LICI, '//VTK::LICVectorLookup::Impl', getVectorLookupProgram(model.normalizeVectors), true).result;
101
103
  model.LICIShaderProgram = publicAPI.buildAShader(LICISource);
102
104
  model.LICNShaderProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_LICN);
103
105
  model.CEProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_CE);
104
106
  model.EEProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_EE);
105
107
  model.AAHProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_AAH);
106
108
  model.AAVProgram = publicAPI.buildAShader(vtkLineIntegralConvolution2D_AAV);
107
- }; // factorized out frequent patterns
108
-
109
+ };
109
110
 
111
+ // factorized out frequent patterns
110
112
  function setLICUniforms(program, bufs) {
111
113
  program.setUniformi('texLIC', bufs.getLICTextureUnit());
112
114
  program.setUniformi('texSeedPts', bufs.getSeedTextureUnit());
113
115
  }
114
-
115
116
  function renderPingPong(bufs, size, program) {
116
117
  bufs.attachLICBuffers();
117
118
  bufs.renderQuad(size, program);
118
119
  bufs.detachLICBuffers();
119
120
  bufs.swap();
120
121
  }
121
-
122
- publicAPI.executeLIC = function (size, vectorTexture, maskVectorTexture, noiseTexture, openGLRenderWindow, options) {
122
+ publicAPI.executeLIC = (size, vectorTexture, maskVectorTexture, noiseTexture, openGLRenderWindow, options) => {
123
123
  model._openGLRenderWindow = openGLRenderWindow;
124
124
  model.context = openGLRenderWindow.getContext();
125
125
  Object.assign(model, options);
126
-
127
126
  if (size[0] <= 0.0 || size[1] <= 0.0) {
128
127
  return null;
129
128
  }
130
-
131
- var tcScale = [1.0 / size[0], 1.0 / size[1]];
132
- var stepSize = model.stepSize * Math.sqrt(tcScale[0] * tcScale[0] + tcScale[1] * tcScale[1]);
133
-
129
+ const tcScale = [1.0 / size[0], 1.0 / size[1]];
130
+ let stepSize = model.stepSize * Math.sqrt(tcScale[0] * tcScale[0] + tcScale[1] * tcScale[1]);
134
131
  if (stepSize <= 0) {
135
132
  stepSize = 1.0e-10;
136
133
  }
137
-
138
- var gl = model.context;
139
- var fb = model.framebuffer;
140
-
134
+ const gl = model.context;
135
+ let fb = model.framebuffer;
141
136
  if (!fb || size[0] !== fb.getSize()[0] || size[1] !== fb.getSize()[1]) {
142
- var _fb;
143
-
144
137
  fb = vtkOpenGLFramebuffer.newInstance();
145
138
  fb.setOpenGLRenderWindow(model._openGLRenderWindow);
146
139
  fb.saveCurrentBindingsAndBuffers();
147
-
148
- (_fb = fb).create.apply(_fb, _toConsumableArray(size));
149
-
140
+ fb.create(...size);
150
141
  fb.populateFramebuffer();
151
142
  fb.restorePreviousBindingsAndBuffers();
152
143
  model.framebuffer = fb;
153
144
  }
154
-
155
145
  fb.saveCurrentBindingsAndBuffers();
156
146
  fb.bind();
157
- gl.viewport.apply(gl, [0, 0].concat(_toConsumableArray(size)));
158
- gl.scissor.apply(gl, [0, 0].concat(_toConsumableArray(size)));
159
-
147
+ gl.viewport(0, 0, ...size);
148
+ gl.scissor(0, 0, ...size);
160
149
  if (model.shadersNeedBuild) {
161
150
  publicAPI.buildShaders();
162
151
  model.shadersNeedBuild = false;
163
152
  }
164
-
165
153
  if (!model.bufs) {
166
154
  model.bufs = vtkLICPingPongBufferManager.newInstance({
167
- openGLRenderWindow: openGLRenderWindow,
155
+ openGLRenderWindow,
168
156
  doEEPass: model.enhancedLIC,
169
157
  doVTPass: model.transformVectors,
170
- vectorTexture: vectorTexture,
171
- maskVectorTexture: maskVectorTexture,
172
- noiseTexture: noiseTexture,
158
+ vectorTexture,
159
+ maskVectorTexture,
160
+ noiseTexture,
173
161
  framebuffer: fb,
174
- size: size
162
+ size
175
163
  });
176
164
  } else {
177
165
  model.bufs.setVectorTexture(vectorTexture);
178
166
  model.bufs.setMaskVectorTexture(maskVectorTexture);
179
167
  model.bufs.setNoiseTexture(noiseTexture);
180
168
  }
181
-
182
- var noiseBoundsPt1 = [(noiseTexture.getWidth() + 1) / size[0], (noiseTexture.getHeight() + 1) / size[1]];
183
- var dx = 1.0 / size[0];
184
- var dy = 1.0 / size[1];
185
-
186
- var shaderCache = model._openGLRenderWindow.getShaderCache();
187
-
169
+ const noiseBoundsPt1 = [(noiseTexture.getWidth() + 1) / size[0], (noiseTexture.getHeight() + 1) / size[1]];
170
+ const dx = 1.0 / size[0];
171
+ const dy = 1.0 / size[1];
172
+ const shaderCache = model._openGLRenderWindow.getShaderCache();
188
173
  if (model.transformVectors) {
189
- var VTShaderProgram = model.VTProgram;
174
+ const VTShaderProgram = model.VTProgram;
190
175
  shaderCache.readyShaderProgram(VTShaderProgram);
191
176
  model.bufs.attachImageVectorBuffer();
192
- VTShaderProgram.setUniform2f.apply(VTShaderProgram, ['uTexSize'].concat(_toConsumableArray(size)));
177
+ VTShaderProgram.setUniform2f('uTexSize', ...size);
193
178
  VTShaderProgram.setUniformi('texVectors', model.bufs.getVectorTextureUnit());
194
179
  gl.clearColor(0.0, 0.0, 0.0, 0.0);
195
180
  gl.clear(gl.COLOR_BUFFER_BIT);
196
181
  model.bufs.renderQuad(size, VTShaderProgram);
197
182
  model.bufs.detachImageVectorBuffer();
198
- } // first pass
199
- // initialize convolution and seeds
200
-
183
+ }
201
184
 
185
+ // first pass
186
+ // initialize convolution and seeds
202
187
  model.bufs.clearBuffers(model.enhancedLIC);
203
188
  model.bufs.activateVectorTextures();
204
189
  model.bufs.activateNoiseTexture(0);
205
- var LIC0ShaderProgram = model.LIC0ShaderProgram;
190
+ const {
191
+ LIC0ShaderProgram
192
+ } = model;
206
193
  shaderCache.readyShaderProgram(LIC0ShaderProgram);
207
194
  LIC0ShaderProgram.setUniformi('uStepNo', 0);
208
195
  LIC0ShaderProgram.setUniformi('uPassNo', 0);
209
196
  LIC0ShaderProgram.setUniformf('uMaskThreshold', model.maskThreshold);
210
- LIC0ShaderProgram.setUniform2f.apply(LIC0ShaderProgram, ['uNoiseBoundsPt1'].concat(noiseBoundsPt1));
197
+ LIC0ShaderProgram.setUniform2f('uNoiseBoundsPt1', ...noiseBoundsPt1);
211
198
  LIC0ShaderProgram.setUniformi('texMaskVectors', model.bufs.getMaskVectorTextureUnit());
212
199
  LIC0ShaderProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
213
200
  LIC0ShaderProgram.setUniformi('texNoise', model.bufs.getNoiseTextureUnit(0));
214
- renderPingPong(model.bufs, size, LIC0ShaderProgram); // backward lic
201
+ renderPingPong(model.bufs, size, LIC0ShaderProgram);
215
202
 
216
- var LICIShaderProgram = model.LICIShaderProgram;
203
+ // backward lic
204
+ const {
205
+ LICIShaderProgram
206
+ } = model;
217
207
  shaderCache.readyShaderProgram(LICIShaderProgram);
218
208
  LICIShaderProgram.setUniformi('uPassNo', 0);
219
209
  LICIShaderProgram.setUniformf('uStepSize', -stepSize);
220
- LICIShaderProgram.setUniform2f.apply(LICIShaderProgram, ['uNoiseBoundsPt1'].concat(noiseBoundsPt1));
210
+ LICIShaderProgram.setUniform2f('uNoiseBoundsPt1', ...noiseBoundsPt1);
221
211
  LICIShaderProgram.setUniformi('texVectors', model.bufs.getImageVectorTextureUnit());
222
212
  LICIShaderProgram.setUniformi('texNoise', model.bufs.getNoiseTextureUnit(0));
223
-
224
- for (var stepIdx = 0; stepIdx < model.numberOfSteps; ++stepIdx) {
213
+ for (let stepIdx = 0; stepIdx < model.numberOfSteps; ++stepIdx) {
225
214
  setLICUniforms(LICIShaderProgram, model.bufs);
226
215
  renderPingPong(model.bufs, size, LICIShaderProgram);
227
- } // initialize seeds
228
-
216
+ }
229
217
 
218
+ // initialize seeds
230
219
  shaderCache.readyShaderProgram(LIC0ShaderProgram);
231
220
  LIC0ShaderProgram.setUniformi('uStepNo', 1);
232
221
  setLICUniforms(LIC0ShaderProgram, model.bufs);
233
- renderPingPong(model.bufs, size, LIC0ShaderProgram); // forward LIC
222
+ renderPingPong(model.bufs, size, LIC0ShaderProgram);
234
223
 
224
+ // forward LIC
235
225
  shaderCache.readyShaderProgram(LICIShaderProgram);
236
226
  LICIShaderProgram.setUniformf('uStepSize', stepSize);
237
-
238
- for (var _stepIdx = 0; _stepIdx < model.numberOfSteps; ++_stepIdx) {
227
+ for (let stepIdx = 0; stepIdx < model.numberOfSteps; ++stepIdx) {
239
228
  setLICUniforms(LICIShaderProgram, model.bufs);
240
229
  renderPingPong(model.bufs, size, LICIShaderProgram);
241
230
  }
242
-
243
231
  model.bufs.deactivateNoiseTexture(0);
244
- model.bufs.deactivateVectorTextures(); // finalize LIC
232
+ model.bufs.deactivateVectorTextures();
245
233
 
246
- var LICNShaderProgram = model.LICNShaderProgram;
234
+ // finalize LIC
235
+ const {
236
+ LICNShaderProgram
237
+ } = model;
247
238
  shaderCache.readyShaderProgram(LICNShaderProgram);
248
239
  LICNShaderProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
249
- renderPingPong(model.bufs, size, LICNShaderProgram); // end of first-pass lic
240
+ renderPingPong(model.bufs, size, LICNShaderProgram);
250
241
 
242
+ // end of first-pass lic
251
243
  if (model.enhancedLIC) {
252
244
  if (model.enhanceContrast === ContrastEnhanceMode.LIC || model.enhanceContrast === ContrastEnhanceMode.BOTH) {
253
245
  publicAPI.contrastEnhance(false, size);
254
- } // EE stage
255
-
246
+ }
256
247
 
248
+ // EE stage
257
249
  model.bufs.attachEEBuffer();
258
- var EEProgram = model.EEProgram;
250
+ const {
251
+ EEProgram
252
+ } = model;
259
253
  shaderCache.readyShaderProgram(EEProgram);
260
254
  EEProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
261
255
  EEProgram.setUniformf('uDx', dx);
262
256
  EEProgram.setUniformf('uDy', dy);
263
257
  model.bufs.renderQuad(size, EEProgram);
264
- model.bufs.detachEEBuffer(); // begin second pass LIC
265
- // clear buffers
258
+ model.bufs.detachEEBuffer();
266
259
 
260
+ // begin second pass LIC
261
+ // clear buffers
267
262
  model.bufs.detachBuffers();
268
263
  model.bufs.clearBuffers(false);
269
264
  model.bufs.activateVectorTextures();
270
- model.bufs.activateNoiseTexture(1); // initialize convolution and seeds
265
+ model.bufs.activateNoiseTexture(1);
271
266
 
267
+ // initialize convolution and seeds
272
268
  shaderCache.readyShaderProgram(LIC0ShaderProgram);
273
269
  LIC0ShaderProgram.setUniformi('uStepNo', 0);
274
270
  LIC0ShaderProgram.setUniformi('uPassNo', 1);
275
271
  setLICUniforms(LIC0ShaderProgram, model.bufs);
276
272
  LIC0ShaderProgram.setUniformi('texNoise', model.bufs.getNoiseTextureUnit(1));
277
- renderPingPong(model.bufs, size, LIC0ShaderProgram); // backward LIC
273
+ renderPingPong(model.bufs, size, LIC0ShaderProgram);
278
274
 
275
+ // backward LIC
279
276
  shaderCache.readyShaderProgram(LICIShaderProgram);
280
277
  LICIShaderProgram.setUniformi('uPassNo', 1);
281
278
  LICIShaderProgram.setUniformf('uStepSize', -stepSize);
282
279
  LICIShaderProgram.setUniformi('texNoise', model.bufs.getNoiseTextureUnit(1));
283
- var nSteps = model.numberOfSteps / 2;
284
-
285
- for (var _stepIdx2 = 0; _stepIdx2 < nSteps; ++_stepIdx2) {
280
+ const nSteps = model.numberOfSteps / 2;
281
+ for (let stepIdx = 0; stepIdx < nSteps; ++stepIdx) {
286
282
  setLICUniforms(LICIShaderProgram, model.bufs);
287
283
  renderPingPong(model.bufs, size, LICIShaderProgram);
288
- } // initialize seeds
289
-
284
+ }
290
285
 
286
+ // initialize seeds
291
287
  shaderCache.readyShaderProgram(LIC0ShaderProgram);
292
288
  LIC0ShaderProgram.setUniformi('uStepNo', 1);
293
289
  setLICUniforms(LIC0ShaderProgram, model.bufs);
294
- renderPingPong(model.bufs, size, LIC0ShaderProgram); // forward LIC
290
+ renderPingPong(model.bufs, size, LIC0ShaderProgram);
295
291
 
292
+ // forward LIC
296
293
  shaderCache.readyShaderProgram(LICIShaderProgram);
297
294
  LICIShaderProgram.setUniformf('uStepSize', stepSize);
298
-
299
- for (var _stepIdx3 = 0; _stepIdx3 < nSteps; ++_stepIdx3) {
295
+ for (let stepIdx = 0; stepIdx < nSteps; ++stepIdx) {
300
296
  setLICUniforms(LICIShaderProgram, model.bufs);
301
297
  renderPingPong(model.bufs, size, LICIShaderProgram);
302
298
  }
303
-
304
299
  model.bufs.deactivateNoiseTexture(1);
305
- model.bufs.deactivateVectorTextures(); // finalize LIC
300
+ model.bufs.deactivateVectorTextures();
306
301
 
302
+ // finalize LIC
307
303
  shaderCache.readyShaderProgram(LICNShaderProgram);
308
304
  LICNShaderProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
309
305
  LICNShaderProgram.setUniformi('texSeedPts', model.bufs.getSeedTextureUnit());
310
306
  renderPingPong(model.bufs, size, LICNShaderProgram);
311
307
  }
312
-
313
308
  if (model.antiAlias) {
314
- var AAHShaderProgram = model.AAHProgram;
309
+ const AAHShaderProgram = model.AAHProgram;
315
310
  shaderCache.readyShaderProgram(AAHShaderProgram);
316
311
  AAHShaderProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
317
312
  AAHShaderProgram.setUniformf('uDx', dx);
318
- var AAVShaderProgram = model.AAVProgram;
313
+ const AAVShaderProgram = model.AAVProgram;
319
314
  shaderCache.readyShaderProgram(AAVShaderProgram);
320
315
  AAVShaderProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
321
316
  AAVShaderProgram.setUniformf('uDy', dy);
322
-
323
- for (var i = 0; i < model.antiAlias; ++i) {
317
+ for (let i = 0; i < model.antiAlias; ++i) {
324
318
  // Vertical pass
325
319
  shaderCache.readyShaderProgram(AAHShaderProgram);
326
320
  setLICUniforms(AAHShaderProgram, model.bufs);
327
- renderPingPong(model.bufs, size, AAHShaderProgram); // Horizontal pass
328
-
321
+ renderPingPong(model.bufs, size, AAHShaderProgram);
322
+ // Horizontal pass
329
323
  shaderCache.readyShaderProgram(AAVShaderProgram);
330
324
  setLICUniforms(AAVShaderProgram, model.bufs);
331
325
  renderPingPong(model.bufs, size, AAVShaderProgram);
332
326
  }
333
327
  }
334
-
335
328
  if (model.enhanceContrast === ContrastEnhanceMode.LIC || model.enhanceContrast === ContrastEnhanceMode.BOTH) {
336
329
  publicAPI.contrastEnhance(true, size);
337
330
  }
338
-
339
331
  model.bufs.detachBuffers();
340
332
  fb.restorePreviousBindingsAndBuffers();
341
333
  return model.bufs.getLastLICBuffer();
342
334
  };
343
-
344
- publicAPI.contrastEnhance = function (isSecondStage, size) {
345
- var shaderCache = model._openGLRenderWindow.getShaderCache();
346
-
347
- var _publicAPI$getTexture = publicAPI.getTextureMinMax(model.bufs.getLastLICBuffer(), size, model.context, model._openGLRenderWindow),
348
- min = _publicAPI$getTexture.min,
349
- max = _publicAPI$getTexture.max;
350
-
335
+ publicAPI.contrastEnhance = (isSecondStage, size) => {
336
+ const shaderCache = model._openGLRenderWindow.getShaderCache();
337
+ let {
338
+ min,
339
+ max
340
+ } = publicAPI.getTextureMinMax(model.bufs.getLastLICBuffer(), size, model.context, model._openGLRenderWindow);
351
341
  if (max <= min || max > 1.0 || min < 0) {
352
342
  console.error('Invalid color range: ', min, max);
353
343
  min = 0.0;
354
344
  max = 1.0;
355
345
  }
356
-
357
- var diff = max - min;
358
-
346
+ let diff = max - min;
359
347
  if (isSecondStage) {
360
348
  min += diff * model.lowLICContrastEnhancementFactor;
361
349
  max -= diff * model.highLICContrastEnhancementFactor;
362
350
  diff = max - min;
363
351
  }
364
-
365
- var CEProgram = model.CEProgram;
352
+ const {
353
+ CEProgram
354
+ } = model;
366
355
  shaderCache.readyShaderProgram(CEProgram);
367
356
  CEProgram.setUniformi('texLIC', model.bufs.getLICTextureUnit());
368
357
  CEProgram.setUniformf('uMin', min);
@@ -370,8 +359,7 @@ function vtkLineIntegralConvolution2D(publicAPI, model) {
370
359
  renderPingPong(model.bufs, size, CEProgram);
371
360
  };
372
361
  }
373
-
374
- var DEFAULT_VALUES = {
362
+ const DEFAULT_VALUES = {
375
363
  shadersNeedBuild: true,
376
364
  stepSize: 1,
377
365
  numberOfSteps: 10,
@@ -388,19 +376,22 @@ var DEFAULT_VALUES = {
388
376
  isComposite: true
389
377
  };
390
378
  function extend(publicAPI, model) {
391
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
379
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
392
380
  Object.assign(model, DEFAULT_VALUES, initialValues);
393
381
  macro.obj(publicAPI, model);
394
382
  macro.setGet(publicAPI, model, ['context', '_openGLRenderWindow', 'nuberOfSteps', 'stepSize', 'normalizeVectors', 'maskThreshold', 'enhancedLIC', 'enhanceContrast', 'lowLICContrastEnhancementFactor', 'highLICContrastEnhancementFactor', 'antiAlias', 'componentIds', 'isComposite']);
395
- macro.moveToProtected(publicAPI, model, ['openGLRenderWindow']); // Object methods
383
+ macro.moveToProtected(publicAPI, model, ['openGLRenderWindow']);
396
384
 
385
+ // Object methods
397
386
  vtkLineIntegralConvolution2D(publicAPI, model);
398
- } // ----------------------------------------------------------------------------
387
+ }
388
+
389
+ // ----------------------------------------------------------------------------
399
390
 
400
- var newInstance = macro.newInstance(extend, 'vtkLineIntegralConvolution2D');
391
+ const newInstance = macro.newInstance(extend, 'vtkLineIntegralConvolution2D');
401
392
  var vtkLineIntegralConvolution2D$1 = {
402
- newInstance: newInstance,
403
- extend: extend
393
+ newInstance,
394
+ extend
404
395
  };
405
396
 
406
397
  export { vtkLineIntegralConvolution2D$1 as default, extend, newInstance };