@kitware/vtk.js 28.10.2 → 28.11.1

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