@kitware/vtk.js 28.10.1 → 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 (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 +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 +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  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 +92 -170
  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 +193 -257
  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 +444 -609
  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 +41 -39
  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 +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  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,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 };