@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,25 +1,25 @@
1
1
  import { mat4 } from 'gl-matrix';
2
- import { newInstance as newInstance$1, obj, setGet } from '../../macros.js';
2
+ import { n as newInstance$1, o as obj, e as setGet } from '../../macros2.js';
3
3
  import vtkViewNode from '../SceneGraph/ViewNode.js';
4
4
  import { registerOverride } from './ViewNodeFactory.js';
5
5
 
6
+ // ----------------------------------------------------------------------------
6
7
  // vtkOpenGLImageSlice methods
7
8
  // ----------------------------------------------------------------------------
8
9
 
9
10
  function vtkOpenGLImageSlice(publicAPI, model) {
10
11
  // Set our className
11
- model.classHierarchy.push('vtkOpenGLImageSlice'); // Builds myself.
12
+ model.classHierarchy.push('vtkOpenGLImageSlice');
12
13
 
13
- publicAPI.buildPass = function (prepass) {
14
+ // Builds myself.
15
+ publicAPI.buildPass = prepass => {
14
16
  if (!model.renderable || !model.renderable.getVisibility()) {
15
17
  return;
16
18
  }
17
-
18
19
  if (prepass) {
19
20
  if (!model.renderable) {
20
21
  return;
21
22
  }
22
-
23
23
  model._openGLRenderWindow = publicAPI.getFirstAncestorOfType('vtkOpenGLRenderWindow');
24
24
  model._openGLRenderer = publicAPI.getFirstAncestorOfType('vtkOpenGLRenderer');
25
25
  model.context = model._openGLRenderWindow.getContext();
@@ -28,55 +28,46 @@ function vtkOpenGLImageSlice(publicAPI, model) {
28
28
  publicAPI.removeUnusedNodes();
29
29
  }
30
30
  };
31
-
32
- publicAPI.traverseZBufferPass = function (renderPass) {
31
+ publicAPI.traverseZBufferPass = renderPass => {
33
32
  if (!model.renderable || !model.renderable.getNestedVisibility() || model._openGLRenderer.getSelector() && !model.renderable.getNestedPickable()) {
34
33
  return;
35
34
  }
36
-
37
35
  publicAPI.apply(renderPass, true);
38
- model.children.forEach(function (child) {
36
+ model.children.forEach(child => {
39
37
  child.traverse(renderPass);
40
38
  });
41
39
  publicAPI.apply(renderPass, false);
42
40
  };
41
+ publicAPI.traverseOpaqueZBufferPass = renderPass => publicAPI.traverseOpaquePass(renderPass);
43
42
 
44
- publicAPI.traverseOpaqueZBufferPass = function (renderPass) {
45
- return publicAPI.traverseOpaquePass(renderPass);
46
- }; // we draw textures, then mapper, then post pass textures
47
-
48
-
49
- publicAPI.traverseOpaquePass = function (renderPass) {
43
+ // we draw textures, then mapper, then post pass textures
44
+ publicAPI.traverseOpaquePass = renderPass => {
50
45
  if (!model.renderable || !model.renderable.getNestedVisibility() || !model.renderable.getIsOpaque() || model._openGLRenderer.getSelector() && !model.renderable.getNestedPickable()) {
51
46
  return;
52
47
  }
53
-
54
48
  publicAPI.apply(renderPass, true);
55
- model.children.forEach(function (child) {
49
+ model.children.forEach(child => {
56
50
  child.traverse(renderPass);
57
51
  });
58
52
  publicAPI.apply(renderPass, false);
59
- }; // we draw textures, then mapper, then post pass textures
60
-
53
+ };
61
54
 
62
- publicAPI.traverseTranslucentPass = function (renderPass) {
55
+ // we draw textures, then mapper, then post pass textures
56
+ publicAPI.traverseTranslucentPass = renderPass => {
63
57
  if (!model.renderable || !model.renderable.getNestedVisibility() || model.renderable.getIsOpaque() || model._openGLRenderer.getSelector() && !model.renderable.getNestedPickable()) {
64
58
  return;
65
59
  }
66
-
67
60
  publicAPI.apply(renderPass, true);
68
- model.children.forEach(function (child) {
61
+ model.children.forEach(child => {
69
62
  child.traverse(renderPass);
70
63
  });
71
64
  publicAPI.apply(renderPass, false);
72
65
  };
73
-
74
- publicAPI.queryPass = function (prepass, renderPass) {
66
+ publicAPI.queryPass = (prepass, renderPass) => {
75
67
  if (prepass) {
76
68
  if (!model.renderable || !model.renderable.getVisibility()) {
77
69
  return;
78
70
  }
79
-
80
71
  if (model.renderable.getIsOpaque()) {
81
72
  renderPass.incrementOpaqueActorCount();
82
73
  } else {
@@ -84,52 +75,48 @@ function vtkOpenGLImageSlice(publicAPI, model) {
84
75
  }
85
76
  }
86
77
  };
78
+ publicAPI.zBufferPass = (prepass, renderPass) => publicAPI.opaquePass(prepass, renderPass);
79
+ publicAPI.opaqueZBufferPass = (prepass, renderPass) => publicAPI.opaquePass(prepass, renderPass);
87
80
 
88
- publicAPI.zBufferPass = function (prepass, renderPass) {
89
- return publicAPI.opaquePass(prepass, renderPass);
90
- };
91
-
92
- publicAPI.opaqueZBufferPass = function (prepass, renderPass) {
93
- return publicAPI.opaquePass(prepass, renderPass);
94
- }; // Renders myself
95
-
96
-
97
- publicAPI.opaquePass = function (prepass, renderPass) {
81
+ // Renders myself
82
+ publicAPI.opaquePass = (prepass, renderPass) => {
98
83
  if (prepass) {
99
84
  model.context.depthMask(true);
100
85
  }
101
- }; // Renders myself
102
-
86
+ };
103
87
 
104
- publicAPI.translucentPass = function (prepass, renderPass) {
88
+ // Renders myself
89
+ publicAPI.translucentPass = (prepass, renderPass) => {
105
90
  model.context.depthMask(!prepass);
106
91
  };
107
-
108
- publicAPI.getKeyMatrices = function () {
92
+ publicAPI.getKeyMatrices = () => {
109
93
  // has the actor changed?
110
94
  if (model.renderable.getMTime() > model.keyMatrixTime.getMTime()) {
111
95
  mat4.copy(model.keyMatrices.mcwc, model.renderable.getMatrix());
112
96
  mat4.transpose(model.keyMatrices.mcwc, model.keyMatrices.mcwc);
113
97
  model.keyMatrixTime.modified();
114
98
  }
115
-
116
99
  return model.keyMatrices;
117
100
  };
118
- } // ----------------------------------------------------------------------------
101
+ }
102
+
103
+ // ----------------------------------------------------------------------------
119
104
  // Object factory
120
105
  // ----------------------------------------------------------------------------
121
106
 
122
-
123
- var DEFAULT_VALUES = {
107
+ const DEFAULT_VALUES = {
124
108
  context: null,
125
109
  keyMatrixTime: null,
126
110
  keyMatrices: null
127
- }; // ----------------------------------------------------------------------------
111
+ };
112
+
113
+ // ----------------------------------------------------------------------------
128
114
 
129
115
  function extend(publicAPI, model) {
130
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
131
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
116
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
117
+ Object.assign(model, DEFAULT_VALUES, initialValues);
132
118
 
119
+ // Inheritance
133
120
  vtkViewNode.extend(publicAPI, model, initialValues);
134
121
  model.keyMatrixTime = {};
135
122
  obj(model.keyMatrixTime, {
@@ -137,20 +124,27 @@ function extend(publicAPI, model) {
137
124
  });
138
125
  model.keyMatrices = {
139
126
  mcwc: mat4.identity(new Float64Array(16))
140
- }; // Build VTK API
127
+ };
141
128
 
142
- setGet(publicAPI, model, ['context']); // Object methods
129
+ // Build VTK API
130
+ setGet(publicAPI, model, ['context']);
143
131
 
132
+ // Object methods
144
133
  vtkOpenGLImageSlice(publicAPI, model);
145
- } // ----------------------------------------------------------------------------
134
+ }
146
135
 
147
- var newInstance = newInstance$1(extend, 'vtkOpenGLImageSlice'); // ----------------------------------------------------------------------------
136
+ // ----------------------------------------------------------------------------
137
+
138
+ const newInstance = newInstance$1(extend, 'vtkOpenGLImageSlice');
139
+
140
+ // ----------------------------------------------------------------------------
148
141
 
149
142
  var vtkImageSlice = {
150
- newInstance: newInstance,
151
- extend: extend
152
- }; // Register ourself to OpenGL backend if imported
143
+ newInstance,
144
+ extend
145
+ };
153
146
 
147
+ // Register ourself to OpenGL backend if imported
154
148
  registerOverride('vtkImageSlice', newInstance);
155
149
 
156
150
  export { vtkImageSlice as default, extend, newInstance };
@@ -1,5 +1,4 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkOpenGLTexture from './Texture.js';
4
3
  import vtkOpenGLFramebuffer from './Framebuffer.js';
5
4
  import vtkRenderPass from '../SceneGraph/RenderPass.js';
@@ -9,60 +8,82 @@ import vtkProperty from '../Core/Property.js';
9
8
  import vtkShaderProgram from './ShaderProgram.js';
10
9
  import vtkVertexArrayObject from './VertexArrayObject.js';
11
10
 
12
- var Representation = vtkProperty.Representation;
13
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
11
+ const {
12
+ Representation
13
+ } = vtkProperty;
14
+ const {
15
+ vtkErrorMacro
16
+ } = macro;
17
+
18
+ // ----------------------------------------------------------------------------
14
19
 
15
20
  function translucentShaderReplacement(shaders) {
16
- var substituteRes = vtkShaderProgram.substitute(shaders.Fragment, '//VTK::RenderPassFragmentShader::Impl', "\n float weight = gl_FragData[0].a * pow(max(1.1 - gl_FragCoord.z, 0.0), 2.0);\n gl_FragData[0] = vec4(gl_FragData[0].rgb*weight, gl_FragData[0].a);\n gl_FragData[1].r = weight;\n ", false);
21
+ const substituteRes = vtkShaderProgram.substitute(shaders.Fragment, '//VTK::RenderPassFragmentShader::Impl', `
22
+ float weight = gl_FragData[0].a * pow(max(1.1 - gl_FragCoord.z, 0.0), 2.0);
23
+ gl_FragData[0] = vec4(gl_FragData[0].rgb*weight, gl_FragData[0].a);
24
+ gl_FragData[1].r = weight;
25
+ `, false);
17
26
  shaders.Fragment = substituteRes.result;
18
27
  }
28
+ const oitpFragTemplate = `//VTK::System::Dec
29
+
30
+ in vec2 tcoord;
31
+
32
+ uniform sampler2D translucentRTexture;
33
+ uniform sampler2D translucentRGBATexture;
19
34
 
20
- var oitpFragTemplate = "//VTK::System::Dec\n\nin vec2 tcoord;\n\nuniform sampler2D translucentRTexture;\nuniform sampler2D translucentRGBATexture;\n\n// the output of this shader\n//VTK::Output::Dec\n\nvoid main()\n{\n vec4 t1Color = texture(translucentRGBATexture, tcoord);\n float t2Color = texture(translucentRTexture, tcoord).r;\n gl_FragData[0] = vec4(t1Color.rgb/max(t2Color,0.01), 1.0 - t1Color.a);\n}\n";
35
+ // the output of this shader
36
+ //VTK::Output::Dec
21
37
 
38
+ void main()
39
+ {
40
+ vec4 t1Color = texture(translucentRGBATexture, tcoord);
41
+ float t2Color = texture(translucentRTexture, tcoord).r;
42
+ gl_FragData[0] = vec4(t1Color.rgb/max(t2Color,0.01), 1.0 - t1Color.a);
43
+ }
44
+ `;
22
45
  function vtkOpenGLOrderIndependentTranslucentPass(publicAPI, model) {
23
46
  // Set our className
24
- model.classHierarchy.push('vtkOpenGLOrderIndependentTranslucentPass'); // build vertices etc
47
+ model.classHierarchy.push('vtkOpenGLOrderIndependentTranslucentPass');
25
48
 
26
- publicAPI.createVertexBuffer = function () {
49
+ // build vertices etc
50
+ publicAPI.createVertexBuffer = () => {
27
51
  // 4 corner points in clipping space in order (x, y, z) where z is always set to -1
28
52
  // prettier-ignore
29
- var ptsArray = new Float32Array([-1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1]); // 4 corresponding corner points in texture space in order (x, y)
53
+ const ptsArray = new Float32Array([-1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1]);
30
54
 
31
- var tcoordArray = new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]); // a square defined as cell relation ship in order (cell_size, v1, v2, v3, v4)
55
+ // 4 corresponding corner points in texture space in order (x, y)
56
+ const tcoordArray = new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]);
32
57
 
33
- var cellArray = new Uint16Array([4, 0, 1, 3, 2]);
34
- var points = vtkDataArray.newInstance({
58
+ // a square defined as cell relation ship in order (cell_size, v1, v2, v3, v4)
59
+ const cellArray = new Uint16Array([4, 0, 1, 3, 2]);
60
+ const points = vtkDataArray.newInstance({
35
61
  numberOfComponents: 3,
36
62
  values: ptsArray
37
63
  });
38
64
  points.setName('points');
39
- var tcoords = vtkDataArray.newInstance({
65
+ const tcoords = vtkDataArray.newInstance({
40
66
  numberOfComponents: 2,
41
67
  values: tcoordArray
42
68
  });
43
69
  tcoords.setName('tcoords');
44
- var cells = vtkDataArray.newInstance({
70
+ const cells = vtkDataArray.newInstance({
45
71
  numberOfComponents: 1,
46
72
  values: cellArray
47
73
  });
48
74
  model.tris.getCABO().createVBO(cells, 'polys', Representation.SURFACE, {
49
- points: points,
50
- tcoords: tcoords,
75
+ points,
76
+ tcoords,
51
77
  cellOffset: 0
52
78
  });
53
79
  model.VBOBuildTime.modified();
54
80
  };
55
-
56
- publicAPI.createFramebuffer = function (viewNode) {
57
- var _model$framebuffer;
58
-
59
- var size = viewNode.getSize();
60
- var gl = viewNode.getContext();
81
+ publicAPI.createFramebuffer = viewNode => {
82
+ const size = viewNode.getSize();
83
+ const gl = viewNode.getContext();
61
84
  model.framebuffer = vtkOpenGLFramebuffer.newInstance();
62
85
  model.framebuffer.setOpenGLRenderWindow(viewNode);
63
-
64
- (_model$framebuffer = model.framebuffer).create.apply(_model$framebuffer, _toConsumableArray(size));
65
-
86
+ model.framebuffer.create(...size);
66
87
  model.framebuffer.saveCurrentBindingsAndBuffers();
67
88
  model.framebuffer.bind();
68
89
  model.translucentRGBATexture = vtkOpenGLTexture.newInstance();
@@ -84,52 +105,46 @@ function vtkOpenGLOrderIndependentTranslucentPass(publicAPI, model) {
84
105
  model.framebuffer.setColorBuffer(model.translucentRTexture, 1);
85
106
  model.framebuffer.setDepthBuffer(model.translucentZTexture);
86
107
  };
87
-
88
- publicAPI.createCopyShader = function (viewNode) {
108
+ publicAPI.createCopyShader = viewNode => {
89
109
  model.copyShader = viewNode.getShaderCache().readyShaderProgramArray(['//VTK::System::Dec', 'attribute vec4 vertexDC;', 'attribute vec2 tcoordTC;', 'varying vec2 tcoord;', 'void main() { tcoord = tcoordTC; gl_Position = vertexDC; }'].join('\n'), oitpFragTemplate, '');
90
110
  };
91
-
92
- publicAPI.createVBO = function (viewNode) {
93
- var gl = viewNode.getContext();
111
+ publicAPI.createVBO = viewNode => {
112
+ const gl = viewNode.getContext();
94
113
  model.tris.setOpenGLRenderWindow(viewNode);
95
114
  publicAPI.createVertexBuffer();
96
- var program = model.copyShader; // prepare the vertex and triangle data for the image plane to render to
115
+ const program = model.copyShader;
116
+ // prepare the vertex and triangle data for the image plane to render to
97
117
 
98
118
  model.tris.getCABO().bind();
99
-
100
119
  if (!model.copyVAO.addAttributeArray(program, model.tris.getCABO(), 'vertexDC', model.tris.getCABO().getVertexOffset(), model.tris.getCABO().getStride(), gl.FLOAT, 3, gl.FALSE)) {
101
120
  vtkErrorMacro('Error setting vertexDC in copy shader VAO.');
102
121
  }
103
-
104
122
  if (!model.copyVAO.addAttributeArray(program, model.tris.getCABO(), 'tcoordTC', model.tris.getCABO().getTCoordOffset(), model.tris.getCABO().getStride(), gl.FLOAT, 2, gl.FALSE)) {
105
123
  vtkErrorMacro('Error setting vertexDC in copy shader VAO.');
106
124
  }
107
125
  };
108
-
109
- publicAPI.traverse = function (viewNode, renNode, forwardPass) {
126
+ publicAPI.traverse = (viewNode, renNode, forwardPass) => {
110
127
  if (model.deleted) {
111
128
  return;
112
129
  }
130
+ const size = viewNode.getSize();
131
+ const gl = viewNode.getContext();
113
132
 
114
- var size = viewNode.getSize();
115
- var gl = viewNode.getContext(); // if we lack the webgl2 and half floatsupport just do
133
+ // if we lack the webgl2 and half floatsupport just do
116
134
  // basic alpha blending
117
-
118
135
  model._supported = false;
119
-
120
136
  if (renNode.getSelector() || !gl || !viewNode.getWebgl2() || !gl.getExtension('EXT_color_buffer_half_float') && !gl.getExtension('EXT_color_buffer_float')) {
121
137
  publicAPI.setCurrentOperation('translucentPass');
122
138
  renNode.traverse(publicAPI);
123
139
  return;
124
140
  }
141
+ model._supported = true;
125
142
 
126
- model._supported = true; // prepare framebuffer // allocate framebuffer if needed and bind it
127
-
143
+ // prepare framebuffer // allocate framebuffer if needed and bind it
128
144
  if (model.framebuffer === null) {
129
145
  publicAPI.createFramebuffer(viewNode);
130
146
  } else {
131
- var fbSize = model.framebuffer.getSize();
132
-
147
+ const fbSize = model.framebuffer.getSize();
133
148
  if (fbSize === null || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
134
149
  model.framebuffer.releaseGraphicsResources();
135
150
  model.translucentRGBATexture.releaseGraphicsResources(viewNode);
@@ -142,153 +157,156 @@ function vtkOpenGLOrderIndependentTranslucentPass(publicAPI, model) {
142
157
  model.framebuffer.bind();
143
158
  }
144
159
  }
145
-
146
160
  gl.drawBuffers([gl.COLOR_ATTACHMENT0]);
147
161
  gl.clearBufferfv(gl.COLOR, 0, [0.0, 0.0, 0.0, 0.0]);
148
162
  gl.clearBufferfv(gl.DEPTH, 0, [1.0]);
149
- gl.colorMask(false, false, false, false); // rerender the opaque pass to set the depth buffer
163
+ gl.colorMask(false, false, false, false);
164
+
165
+ // rerender the opaque pass to set the depth buffer
150
166
  // TODO remove when webgl1 is deprecated and instead
151
167
  // have the forward pass use a texture backed zbuffer
152
-
153
168
  if (forwardPass.getOpaqueActorCount() > 0) {
154
169
  // Don't use zBufferPass as it will also render the depth of translucent actors
155
170
  forwardPass.setCurrentOperation('opaqueZBufferPass');
156
171
  renNode.traverse(forwardPass);
157
172
  }
158
-
159
173
  gl.colorMask(true, true, true, true);
160
- gl.drawBuffers([gl.COLOR_ATTACHMENT0, gl.COLOR_ATTACHMENT1]); // make sure to clear the entire framebuffer as we will
161
- // be blitting the entire thing all of it needs good initial values
174
+ gl.drawBuffers([gl.COLOR_ATTACHMENT0, gl.COLOR_ATTACHMENT1]);
162
175
 
176
+ // make sure to clear the entire framebuffer as we will
177
+ // be blitting the entire thing all of it needs good initial values
163
178
  gl.viewport(0, 0, size[0], size[1]);
164
179
  gl.scissor(0, 0, size[0], size[1]);
165
180
  gl.clearBufferfv(gl.COLOR, 0, [0.0, 0.0, 0.0, 1.0]);
166
181
  gl.clearBufferfv(gl.COLOR, 1, [0.0, 0.0, 0.0, 0.0]);
167
182
  gl.enable(gl.DEPTH_TEST);
168
- gl.enable(gl.BLEND); // basic gist is we accumulate color into RGB We compute final opacity
169
- // into A We store accumulated opacity into R of the R texture.
183
+ gl.enable(gl.BLEND);
170
184
 
171
- gl.blendFuncSeparate(gl.ONE, gl.ONE, gl.ZERO, gl.ONE_MINUS_SRC_ALPHA); // now do the translucent rendering
185
+ // basic gist is we accumulate color into RGB We compute final opacity
186
+ // into A We store accumulated opacity into R of the R texture.
187
+ gl.blendFuncSeparate(gl.ONE, gl.ONE, gl.ZERO, gl.ONE_MINUS_SRC_ALPHA);
172
188
 
189
+ // now do the translucent rendering
173
190
  publicAPI.setCurrentOperation('translucentPass');
174
191
  renNode.traverse(publicAPI);
175
192
  gl.drawBuffers([gl.NONE]);
176
- model.framebuffer.restorePreviousBindingsAndBuffers(); // gl.drawBuffers([gl.BACK]);
177
- // make sure the copy shader is ready
193
+ model.framebuffer.restorePreviousBindingsAndBuffers();
194
+ // gl.drawBuffers([gl.BACK]);
178
195
 
196
+ // make sure the copy shader is ready
179
197
  if (model.copyShader === null) {
180
198
  publicAPI.createCopyShader(viewNode);
181
199
  } else {
182
200
  viewNode.getShaderCache().readyShaderProgram(model.copyShader);
183
- } // make sure we have a VAO
184
-
201
+ }
185
202
 
203
+ // make sure we have a VAO
186
204
  if (!model.copyVAO) {
187
205
  model.copyVAO = vtkVertexArrayObject.newInstance();
188
206
  model.copyVAO.setOpenGLRenderWindow(viewNode);
189
207
  }
208
+ model.copyVAO.bind();
190
209
 
191
- model.copyVAO.bind(); // make sure the VBO is up to date
192
-
210
+ // make sure the VBO is up to date
193
211
  if (model.VBOBuildTime.getMTime() < publicAPI.getMTime()) {
194
212
  publicAPI.createVBO(viewNode);
195
213
  }
196
-
197
214
  gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
198
215
  gl.depthMask(false);
199
216
  gl.depthFunc(gl.ALWAYS);
200
217
  gl.viewport(0, 0, size[0], size[1]);
201
- gl.scissor(0, 0, size[0], size[1]); // activate texture
218
+ gl.scissor(0, 0, size[0], size[1]);
202
219
 
220
+ // activate texture
203
221
  model.translucentRGBATexture.activate();
204
222
  model.copyShader.setUniformi('translucentRGBATexture', model.translucentRGBATexture.getTextureUnit());
205
223
  model.translucentRTexture.activate();
206
- model.copyShader.setUniformi('translucentRTexture', model.translucentRTexture.getTextureUnit()); // render quad
224
+ model.copyShader.setUniformi('translucentRTexture', model.translucentRTexture.getTextureUnit());
207
225
 
226
+ // render quad
208
227
  gl.drawArrays(gl.TRIANGLES, 0, model.tris.getCABO().getElementCount());
209
228
  gl.depthMask(true);
210
229
  gl.depthFunc(gl.LEQUAL);
211
230
  model.translucentRGBATexture.deactivate();
212
231
  model.translucentRTexture.deactivate();
213
232
  };
214
-
215
- publicAPI.getShaderReplacement = function () {
233
+ publicAPI.getShaderReplacement = () => {
216
234
  if (model._supported) {
217
235
  return translucentShaderReplacement;
218
236
  }
219
-
220
237
  return null;
221
238
  };
222
-
223
- publicAPI.releaseGraphicsResources = function (viewNode) {
239
+ publicAPI.releaseGraphicsResources = viewNode => {
224
240
  if (model.framebuffer) {
225
241
  model.framebuffer.releaseGraphicsResources(viewNode);
226
242
  model.framebuffer = null;
227
243
  }
228
-
229
244
  if (model.translucentRGBATexture) {
230
245
  model.translucentRGBATexture.releaseGraphicsResources(viewNode);
231
246
  model.translucentRGBATexture = null;
232
247
  }
233
-
234
248
  if (model.translucentRTexture) {
235
249
  model.translucentRTexture.releaseGraphicsResources(viewNode);
236
250
  model.translucentRTexture = null;
237
251
  }
238
-
239
252
  if (model.translucentZTexture) {
240
253
  model.translucentZTexture.releaseGraphicsResources(viewNode);
241
254
  model.translucentZTexture = null;
242
255
  }
243
-
244
256
  if (model.copyVAO) {
245
257
  model.copyVAO.releaseGraphicsResources(viewNode);
246
258
  model.copyVAO = null;
247
259
  }
248
-
249
260
  if (model.copyShader) {
250
261
  model.copyShader.releaseGraphicsResources(viewNode);
251
262
  model.copyShader = null;
252
263
  }
253
-
254
264
  if (model.tris) {
255
265
  model.tris.releaseGraphicsResources(viewNode);
256
266
  model.tris = null;
257
267
  }
258
-
259
268
  publicAPI.modified();
260
269
  };
261
- } // ----------------------------------------------------------------------------
270
+ }
271
+
272
+ // ----------------------------------------------------------------------------
262
273
  // Object factory
263
274
  // ----------------------------------------------------------------------------
264
275
 
265
-
266
- var DEFAULT_VALUES = {
276
+ const DEFAULT_VALUES = {
267
277
  framebuffer: null,
268
278
  copyShader: null,
269
279
  tris: null
270
- }; // ----------------------------------------------------------------------------
280
+ };
281
+
282
+ // ----------------------------------------------------------------------------
271
283
 
272
284
  function extend(publicAPI, model) {
273
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
274
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
285
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
286
+ Object.assign(model, DEFAULT_VALUES, initialValues);
275
287
 
288
+ // Build VTK API
276
289
  vtkRenderPass.extend(publicAPI, model, initialValues);
277
290
  model.VBOBuildTime = {};
278
291
  macro.obj(model.VBOBuildTime, {
279
292
  mtime: 0
280
293
  });
281
294
  model.tris = vtkHelper.newInstance();
282
- macro.get(publicAPI, model, ['framebuffer']); // Object methods
295
+ macro.get(publicAPI, model, ['framebuffer']);
283
296
 
297
+ // Object methods
284
298
  vtkOpenGLOrderIndependentTranslucentPass(publicAPI, model);
285
- } // ----------------------------------------------------------------------------
299
+ }
300
+
301
+ // ----------------------------------------------------------------------------
302
+
303
+ const newInstance = macro.newInstance(extend, 'vtkOpenGLOrderIndependentTranslucentPass');
286
304
 
287
- var newInstance = macro.newInstance(extend, 'vtkOpenGLOrderIndependentTranslucentPass'); // ----------------------------------------------------------------------------
305
+ // ----------------------------------------------------------------------------
288
306
 
289
307
  var vtkOpenGLOrderIndependentTranslucentPass$1 = {
290
- newInstance: newInstance,
291
- extend: extend
308
+ newInstance,
309
+ extend
292
310
  };
293
311
 
294
312
  export { vtkOpenGLOrderIndependentTranslucentPass$1 as default, extend, newInstance };