@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,4 +1,4 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkWebGPUFullScreenQuad from './FullScreenQuad.js';
3
3
  import vtkWebGPUOpaquePass from './OpaquePass.js';
4
4
  import vtkWebGPUOrderIndepenentTranslucentPass from './OrderIndependentTranslucentPass.js';
@@ -8,41 +8,63 @@ import vtkRenderPass from '../SceneGraph/RenderPass.js';
8
8
  import vtkWebGPUSampler from './Sampler.js';
9
9
  import vtkWebGPUTextureView from './TextureView.js';
10
10
 
11
- var finalBlitFragTemplate = "\n//VTK::Mapper::Dec\n\n//VTK::TCoord::Dec\n\n//VTK::RenderEncoder::Dec\n\n//VTK::IOStructs::Dec\n\n@fragment\nfn main(\n//VTK::IOStructs::Input\n)\n//VTK::IOStructs::Output\n{\n var output: fragmentOutput;\n\n var computedColor: vec4<f32> = clamp(textureSampleLevel(opaquePassColorTexture, finalPassSampler, input.tcoordVS, 0),vec4<f32>(0.0),vec4<f32>(1.0));\n\n //VTK::RenderEncoder::Impl\n return output;\n}\n"; // ----------------------------------------------------------------------------
11
+ const finalBlitFragTemplate = `
12
+ //VTK::Mapper::Dec
13
+
14
+ //VTK::TCoord::Dec
15
+
16
+ //VTK::RenderEncoder::Dec
17
+
18
+ //VTK::IOStructs::Dec
19
+
20
+ @fragment
21
+ fn main(
22
+ //VTK::IOStructs::Input
23
+ )
24
+ //VTK::IOStructs::Output
25
+ {
26
+ var output: fragmentOutput;
27
+
28
+ var computedColor: vec4<f32> = clamp(textureSampleLevel(opaquePassColorTexture, finalPassSampler, input.tcoordVS, 0),vec4<f32>(0.0),vec4<f32>(1.0));
29
+
30
+ //VTK::RenderEncoder::Impl
31
+ return output;
32
+ }
33
+ `;
34
+
35
+ // ----------------------------------------------------------------------------
12
36
 
13
37
  function vtkForwardPass(publicAPI, model) {
14
38
  // Set our className
15
- model.classHierarchy.push('vtkForwardPass'); // this pass implements a forward rendering pipeline
39
+ model.classHierarchy.push('vtkForwardPass');
40
+
41
+ // this pass implements a forward rendering pipeline
16
42
  // if both volumes and opaque geometry are present
17
43
  // it will mix the two together by capturing a zbuffer
18
44
  // first
19
-
20
45
  publicAPI.traverse = function (viewNode) {
21
- var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
22
-
46
+ let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
23
47
  if (model.deleted) {
24
48
  return;
25
- } // we just render our delegates in order
26
-
49
+ }
27
50
 
28
- model._currentParent = parent; // build
51
+ // we just render our delegates in order
52
+ model._currentParent = parent;
29
53
 
54
+ // build
30
55
  publicAPI.setCurrentOperation('buildPass');
31
56
  viewNode.traverse(publicAPI);
32
-
33
57
  if (!model.opaquePass) {
34
58
  model.opaquePass = vtkWebGPUOpaquePass.newInstance();
35
59
  }
36
-
37
- var numlayers = viewNode.getRenderable().getNumberOfLayers(); // iterate over renderers
38
-
39
- var renderers = viewNode.getChildren();
40
-
41
- for (var i = 0; i < numlayers; i++) {
42
- for (var index = 0; index < renderers.length; index++) {
43
- var renNode = renderers[index];
44
- var ren = viewNode.getRenderable().getRenderers()[index];
45
-
60
+ const numlayers = viewNode.getRenderable().getNumberOfLayers();
61
+
62
+ // iterate over renderers
63
+ const renderers = viewNode.getChildren();
64
+ for (let i = 0; i < numlayers; i++) {
65
+ for (let index = 0; index < renderers.length; index++) {
66
+ const renNode = renderers[index];
67
+ const ren = viewNode.getRenderable().getRenderers()[index];
46
68
  if (ren.getDraw() && ren.getLayer() === i) {
47
69
  // check for both opaque and volume actors
48
70
  model.opaqueActorCount = 0;
@@ -51,65 +73,56 @@ function vtkForwardPass(publicAPI, model) {
51
73
  publicAPI.setCurrentOperation('queryPass');
52
74
  renNode.traverse(publicAPI);
53
75
  publicAPI.setCurrentOperation('cameraPass');
54
- renNode.traverse(publicAPI); // always do opaque pass to get a valid color and zbuffer, even if empty
76
+ renNode.traverse(publicAPI);
55
77
 
56
- model.opaquePass.traverse(renNode, viewNode); // optional translucent pass
78
+ // always do opaque pass to get a valid color and zbuffer, even if empty
79
+ model.opaquePass.traverse(renNode, viewNode);
57
80
 
81
+ // optional translucent pass
58
82
  if (model.translucentActorCount > 0) {
59
83
  if (!model.translucentPass) {
60
84
  model.translucentPass = vtkWebGPUOrderIndepenentTranslucentPass.newInstance();
61
85
  }
62
-
63
86
  model.translucentPass.setColorTextureView(model.opaquePass.getColorTextureView());
64
87
  model.translucentPass.setDepthTextureView(model.opaquePass.getDepthTextureView());
65
88
  model.translucentPass.traverse(renNode, viewNode);
66
- } // optional volume pass
67
-
89
+ }
68
90
 
91
+ // optional volume pass
69
92
  if (model.volumes.length > 0) {
70
93
  if (!model.volumePass) {
71
94
  model.volumePass = vtkWebGPUVolumePass.newInstance();
72
95
  }
73
-
74
96
  model.volumePass.setColorTextureView(model.opaquePass.getColorTextureView());
75
97
  model.volumePass.setDepthTextureView(model.opaquePass.getDepthTextureView());
76
98
  model.volumePass.setVolumes(model.volumes);
77
99
  model.volumePass.traverse(renNode, viewNode);
78
- } // blit the result into the swap chain
79
-
100
+ }
80
101
 
102
+ // blit the result into the swap chain
81
103
  publicAPI.finalPass(viewNode, renNode);
82
104
  }
83
105
  }
84
106
  }
85
107
  };
86
-
87
- publicAPI.finalPass = function (viewNode, renNode) {
108
+ publicAPI.finalPass = (viewNode, renNode) => {
88
109
  if (!model._finalBlitEncoder) {
89
110
  publicAPI.createFinalBlitEncoder(viewNode);
90
111
  }
91
-
92
112
  model._finalBlitOutputTextureView.createFromTextureHandle(viewNode.getCurrentTexture(), {
93
113
  depth: 1,
94
114
  format: viewNode.getPresentationFormat()
95
115
  });
96
-
97
116
  model._finalBlitEncoder.attachTextureViews();
98
-
99
117
  model._finalBlitEncoder.begin(viewNode.getCommandEncoder());
100
-
101
118
  renNode.scissorAndViewport(model._finalBlitEncoder);
102
-
103
119
  model._fullScreenQuad.prepareAndDraw(model._finalBlitEncoder);
104
-
105
120
  model._finalBlitEncoder.end();
106
121
  };
107
-
108
- publicAPI.createFinalBlitEncoder = function (viewNode) {
122
+ publicAPI.createFinalBlitEncoder = viewNode => {
109
123
  model._finalBlitEncoder = vtkWebGPURenderEncoder.newInstance({
110
124
  label: 'forwardPassBlit'
111
125
  });
112
-
113
126
  model._finalBlitEncoder.setDescription({
114
127
  colorAttachments: [{
115
128
  view: null,
@@ -117,9 +130,7 @@ function vtkForwardPass(publicAPI, model) {
117
130
  storeOp: 'store'
118
131
  }]
119
132
  });
120
-
121
133
  model._finalBlitEncoder.setPipelineHash('fpf');
122
-
123
134
  model._finalBlitEncoder.setPipelineSettings({
124
135
  primitive: {
125
136
  cullMode: 'none'
@@ -140,73 +151,65 @@ function vtkForwardPass(publicAPI, model) {
140
151
  }]
141
152
  }
142
153
  });
143
-
144
154
  model._fsqSampler = vtkWebGPUSampler.newInstance({
145
155
  label: 'finalPassSampler'
146
156
  });
147
-
148
157
  model._fsqSampler.create(viewNode.getDevice(), {
149
158
  minFilter: 'linear',
150
159
  magFilter: 'linear'
151
160
  });
152
-
153
161
  model._fullScreenQuad = vtkWebGPUFullScreenQuad.newInstance();
154
-
155
162
  model._fullScreenQuad.setDevice(viewNode.getDevice());
156
-
157
163
  model._fullScreenQuad.setPipelineHash('fpfsq');
158
-
159
164
  model._fullScreenQuad.setTextureViews([model.opaquePass.getColorTextureView()]);
160
-
161
165
  model._fullScreenQuad.setAdditionalBindables([model._fsqSampler]);
162
-
163
166
  model._fullScreenQuad.setFragmentShaderTemplate(finalBlitFragTemplate);
164
-
165
167
  model._finalBlitOutputTextureView = vtkWebGPUTextureView.newInstance();
166
-
167
168
  model._finalBlitEncoder.setColorTextureView(0, model._finalBlitOutputTextureView);
168
169
  };
169
-
170
- publicAPI.incrementOpaqueActorCount = function () {
171
- return model.opaqueActorCount++;
172
- };
173
-
174
- publicAPI.incrementTranslucentActorCount = function () {
175
- return model.translucentActorCount++;
176
- };
177
-
178
- publicAPI.addVolume = function (volume) {
170
+ publicAPI.incrementOpaqueActorCount = () => model.opaqueActorCount++;
171
+ publicAPI.incrementTranslucentActorCount = () => model.translucentActorCount++;
172
+ publicAPI.addVolume = volume => {
179
173
  model.volumes.push(volume);
180
174
  };
181
- } // ----------------------------------------------------------------------------
175
+ }
176
+
177
+ // ----------------------------------------------------------------------------
182
178
  // Object factory
183
179
  // ----------------------------------------------------------------------------
184
180
 
185
-
186
- var DEFAULT_VALUES = {
181
+ const DEFAULT_VALUES = {
187
182
  opaqueActorCount: 0,
188
183
  translucentActorCount: 0,
189
184
  volumes: null,
190
185
  opaqueRenderEncoder: null,
191
186
  translucentPass: null,
192
187
  volumePass: null
193
- }; // ----------------------------------------------------------------------------
188
+ };
189
+
190
+ // ----------------------------------------------------------------------------
194
191
 
195
192
  function extend(publicAPI, model) {
196
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
197
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
193
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
194
+ Object.assign(model, DEFAULT_VALUES, initialValues);
198
195
 
196
+ // Build VTK API
199
197
  vtkRenderPass.extend(publicAPI, model, initialValues);
200
- macro.setGet(publicAPI, model, ['opaquePass', 'translucentPass', 'volumePass']); // Object methods
198
+ macro.setGet(publicAPI, model, ['opaquePass', 'translucentPass', 'volumePass']);
201
199
 
200
+ // Object methods
202
201
  vtkForwardPass(publicAPI, model);
203
- } // ----------------------------------------------------------------------------
202
+ }
204
203
 
205
- var newInstance = macro.newInstance(extend, 'vtkForwardPass'); // ----------------------------------------------------------------------------
204
+ // ----------------------------------------------------------------------------
205
+
206
+ const newInstance = macro.newInstance(extend, 'vtkForwardPass');
207
+
208
+ // ----------------------------------------------------------------------------
206
209
 
207
210
  var vtkForwardPass$1 = {
208
- newInstance: newInstance,
209
- extend: extend
211
+ newInstance,
212
+ extend
210
213
  };
211
214
 
212
215
  export { vtkForwardPass$1 as default, extend, newInstance };
@@ -1,51 +1,58 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkWebGPUShaderCache from './ShaderCache.js';
3
3
  import vtkWebGPUSimpleMapper from './SimpleMapper.js';
4
4
 
5
+ // ----------------------------------------------------------------------------
5
6
  // vtkWebGPUFullScreenQuad methods
6
7
  // ----------------------------------------------------------------------------
7
8
 
8
9
  function vtkWebGPUFullScreenQuad(publicAPI, model) {
9
10
  // Set our className
10
11
  model.classHierarchy.push('vtkWebGPUFullScreenQuad');
11
-
12
- publicAPI.replaceShaderPosition = function (hash, pipeline, vertexInput) {
13
- var vDesc = pipeline.getShaderDescription('vertex');
12
+ publicAPI.replaceShaderPosition = (hash, pipeline, vertexInput) => {
13
+ const vDesc = pipeline.getShaderDescription('vertex');
14
14
  vDesc.addBuiltinOutput('vec4<f32>', '@builtin(position) Position');
15
15
  vDesc.addOutput('vec4<f32>', 'vertexVC');
16
- var code = vDesc.getCode();
16
+ let code = vDesc.getCode();
17
17
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Position::Impl', ['output.tcoordVS = vec2<f32>(vertexBC.x * 0.5 + 0.5, 1.0 - vertexBC.y * 0.5 - 0.5);', 'output.Position = vec4<f32>(vertexBC, 1.0);', 'output.vertexVC = vec4<f32>(vertexBC, 1);']).result;
18
18
  vDesc.setCode(code);
19
19
  };
20
-
21
20
  model.shaderReplacements.set('replaceShaderPosition', publicAPI.replaceShaderPosition);
22
-
23
- publicAPI.updateBuffers = function () {
24
- var buff = model.device.getBufferManager().getFullScreenQuadBuffer();
21
+ publicAPI.updateBuffers = () => {
22
+ const buff = model.device.getBufferManager().getFullScreenQuadBuffer();
25
23
  model.vertexInput.addBuffer(buff, ['vertexBC']);
26
24
  model.numberOfVertices = 6;
27
25
  };
28
- } // ----------------------------------------------------------------------------
26
+ }
27
+
28
+ // ----------------------------------------------------------------------------
29
29
  // Object factory
30
30
  // ----------------------------------------------------------------------------
31
31
 
32
+ const DEFAULT_VALUES = {};
32
33
 
33
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
34
+ // ----------------------------------------------------------------------------
34
35
 
35
36
  function extend(publicAPI, model) {
36
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
37
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
37
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
38
+ Object.assign(model, DEFAULT_VALUES, initialValues);
38
39
 
39
- vtkWebGPUSimpleMapper.extend(publicAPI, model, initialValues); // Object methods
40
+ // Inheritance
41
+ vtkWebGPUSimpleMapper.extend(publicAPI, model, initialValues);
40
42
 
43
+ // Object methods
41
44
  vtkWebGPUFullScreenQuad(publicAPI, model);
42
- } // ----------------------------------------------------------------------------
45
+ }
46
+
47
+ // ----------------------------------------------------------------------------
43
48
 
44
- var newInstance = macro.newInstance(extend, 'vtkWebGPUFullScreenQuad'); // ----------------------------------------------------------------------------
49
+ const newInstance = macro.newInstance(extend, 'vtkWebGPUFullScreenQuad');
50
+
51
+ // ----------------------------------------------------------------------------
45
52
 
46
53
  var vtkWebGPUFullScreenQuad$1 = {
47
- newInstance: newInstance,
48
- extend: extend
54
+ newInstance,
55
+ extend
49
56
  };
50
57
 
51
58
  export { vtkWebGPUFullScreenQuad$1 as default, extend, newInstance };
@@ -1,180 +1,162 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { newInstance as newInstance$1, obj } from '../../macros.js';
1
+ import { n as newInstance$1, o as obj } from '../../macros2.js';
3
2
  import vtkWebGPUCellArrayMapper from './CellArrayMapper.js';
4
3
  import vtkWebGPUPolyDataMapper from './PolyDataMapper.js';
5
4
  import vtkWebGPUStorageBuffer from './StorageBuffer.js';
6
5
  import vtkWebGPUShaderCache from './ShaderCache.js';
7
6
  import { registerOverride } from './ViewNodeFactory.js';
8
7
 
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
-
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
-
13
8
  function vtkWebGPUGlyph3DCellArrayMapper(publicAPI, model) {
14
9
  // Set our className
15
10
  model.classHierarchy.push('vtkWebGPUGlyph3DCellArrayMapper');
16
-
17
- var superClass = _objectSpread({}, publicAPI);
18
-
19
- publicAPI.setGlyphInstances = function (val) {
11
+ const superClass = {
12
+ ...publicAPI
13
+ };
14
+ publicAPI.setGlyphInstances = val => {
20
15
  model.glyphInstances = val;
21
16
  };
22
-
23
- publicAPI.updateBuffers = function () {
17
+ publicAPI.updateBuffers = () => {
24
18
  superClass.updateBuffers();
25
19
  publicAPI.setNumberOfInstances(model.glyphInstances);
26
20
  };
27
-
28
- publicAPI.replaceShaderPosition = function (hash, pipeline, vertexInput) {
29
- var vDesc = pipeline.getShaderDescription('vertex');
21
+ publicAPI.replaceShaderPosition = (hash, pipeline, vertexInput) => {
22
+ const vDesc = pipeline.getShaderDescription('vertex');
30
23
  vDesc.addBuiltinInput('u32', '@builtin(instance_index) instanceIndex');
31
24
  vDesc.addBuiltinOutput('vec4<f32>', '@builtin(position) Position');
32
25
  if (!vDesc.hasOutput('vertexVC')) vDesc.addOutput('vec3<f32>', 'vertexVC');
33
- var code = vDesc.getCode();
26
+ let code = vDesc.getCode();
34
27
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Position::Impl', [' var vertexSC: vec4<f32> = mapperUBO.BCSCMatrix*glyphSSBO.values[input.instanceIndex].matrix*vertexBC;', ' output.vertexVC = (rendererUBO.SCVCMatrix*vertexSC).xyz;', ' output.Position = rendererUBO.SCPCMatrix*vertexSC;']).result;
35
28
  vDesc.setCode(code);
36
29
  };
37
-
38
30
  model.shaderReplacements.set('replaceShaderPosition', publicAPI.replaceShaderPosition);
39
-
40
- publicAPI.replaceShaderNormal = function (hash, pipeline, vertexInput) {
31
+ publicAPI.replaceShaderNormal = (hash, pipeline, vertexInput) => {
41
32
  if (vertexInput.hasAttribute('normalMC')) {
42
- var vDesc = pipeline.getShaderDescription('vertex');
43
- var code = vDesc.getCode();
33
+ const vDesc = pipeline.getShaderDescription('vertex');
34
+ let code = vDesc.getCode();
44
35
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Normal::Impl', [' output.normalVC = normalize((rendererUBO.WCVCNormals', ' * mapperUBO.MCWCNormals', ' * glyphSSBO.values[input.instanceIndex].normal*normalMC).xyz);']).result;
45
36
  vDesc.setCode(code);
46
37
  }
47
-
48
38
  superClass.replaceShaderNormal(hash, pipeline, vertexInput);
49
39
  };
50
-
51
40
  model.shaderReplacements.set('replaceShaderNormal', publicAPI.replaceShaderNormal);
52
-
53
- publicAPI.replaceShaderColor = function (hash, pipeline, vertexInput) {
41
+ publicAPI.replaceShaderColor = (hash, pipeline, vertexInput) => {
54
42
  if (!model.renderable.getColorArray()) {
55
43
  superClass.replaceShaderColor(hash, pipeline, vertexInput);
56
44
  return;
57
45
  }
58
-
59
- var vDesc = pipeline.getShaderDescription('vertex');
46
+ const vDesc = pipeline.getShaderDescription('vertex');
60
47
  vDesc.addOutput('vec4<f32>', 'color');
61
- var code = vDesc.getCode();
48
+ let code = vDesc.getCode();
62
49
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Color::Impl', [' output.color = glyphSSBO.values[input.instanceIndex].color;']).result;
63
50
  vDesc.setCode(code);
64
- var fDesc = pipeline.getShaderDescription('fragment');
51
+ const fDesc = pipeline.getShaderDescription('fragment');
65
52
  code = fDesc.getCode();
66
53
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Color::Impl', ['ambientColor = input.color;', 'diffuseColor = input.color;', 'opacity = mapperUBO.Opacity * input.color.a;']).result;
67
54
  fDesc.setCode(code);
68
55
  };
69
-
70
56
  model.shaderReplacements.set('replaceShaderColor', publicAPI.replaceShaderColor);
71
-
72
- publicAPI.replaceShaderSelect = function (hash, pipeline, vertexInput) {
57
+ publicAPI.replaceShaderSelect = (hash, pipeline, vertexInput) => {
73
58
  if (hash.includes('sel')) {
74
- var vDesc = pipeline.getShaderDescription('vertex');
59
+ const vDesc = pipeline.getShaderDescription('vertex');
75
60
  vDesc.addOutput('u32', 'compositeID', 'flat');
76
- var code = vDesc.getCode();
61
+ let code = vDesc.getCode();
77
62
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Select::Impl', [' output.compositeID = input.instanceIndex;']).result;
78
63
  vDesc.setCode(code);
79
- var fDesc = pipeline.getShaderDescription('fragment');
64
+ const fDesc = pipeline.getShaderDescription('fragment');
80
65
  code = fDesc.getCode();
81
66
  code = vtkWebGPUShaderCache.substitute(code, '//VTK::Select::Impl', ['var compositeID: u32 = input.compositeID;']).result;
82
67
  fDesc.setCode(code);
83
68
  }
84
69
  };
85
-
86
70
  model.shaderReplacements.set('replaceShaderSelect', publicAPI.replaceShaderSelect);
87
- } // ----------------------------------------------------------------------------
88
-
71
+ }
89
72
 
73
+ // ----------------------------------------------------------------------------
90
74
  function caExtend(publicAPI, model) {
91
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
92
- Object.assign(model, {}, initialValues); // Inheritance
75
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
76
+ Object.assign(model, {}, initialValues);
93
77
 
94
- vtkWebGPUCellArrayMapper.extend(publicAPI, model, initialValues); // Object methods
78
+ // Inheritance
79
+ vtkWebGPUCellArrayMapper.extend(publicAPI, model, initialValues);
95
80
 
81
+ // Object methods
96
82
  vtkWebGPUGlyph3DCellArrayMapper(publicAPI, model);
97
83
  }
98
- var caNewInstance = newInstance$1(caExtend, 'vtkWebGPUGlyph3DCellArrayMapper'); // ----------------------------------------------------------------------------
84
+ const caNewInstance = newInstance$1(caExtend, 'vtkWebGPUGlyph3DCellArrayMapper');
85
+
86
+ // ----------------------------------------------------------------------------
99
87
  // vtkWebGPUSphereMapper methods
100
88
  // ----------------------------------------------------------------------------
101
89
 
102
90
  function vtkWebGPUGlyph3DMapper(publicAPI, model) {
103
91
  // Set our className
104
92
  model.classHierarchy.push('vtkWebGPUGlyph3DMapper');
105
-
106
- publicAPI.createCellArrayMapper = function () {
107
- var mpr = caNewInstance();
93
+ publicAPI.createCellArrayMapper = () => {
94
+ const mpr = caNewInstance();
108
95
  mpr.setSSBO(model.SSBO);
109
96
  mpr.setRenderable(model.renderable);
110
97
  return mpr;
111
98
  };
112
-
113
- publicAPI.buildPass = function (prepass) {
99
+ publicAPI.buildPass = prepass => {
114
100
  if (prepass) {
115
101
  model.WebGPUActor = publicAPI.getFirstAncestorOfType('vtkWebGPUActor');
116
-
117
102
  if (!model.renderable.getStatic()) {
118
103
  model.renderable.update();
119
104
  }
120
-
121
- var gpoly = model.renderable.getInputData(1);
105
+ const gpoly = model.renderable.getInputData(1);
122
106
  model.renderable.mapScalars(gpoly, 1.0);
123
107
  publicAPI.updateSSBO();
124
108
  publicAPI.updateCellArrayMappers(gpoly);
125
-
126
- for (var i = 0; i < model.children.length; i++) {
127
- var cellMapper = model.children[i];
109
+ for (let i = 0; i < model.children.length; i++) {
110
+ const cellMapper = model.children[i];
128
111
  cellMapper.setGlyphInstances(model.numInstances);
129
112
  }
130
113
  }
131
114
  };
132
-
133
- publicAPI.updateSSBO = function () {
115
+ publicAPI.updateSSBO = () => {
134
116
  model.currentInput = model.renderable.getInputData(1);
135
- model.renderable.buildArrays(); // update the buffer objects if needed
117
+ model.renderable.buildArrays();
136
118
 
137
- var garray = model.renderable.getMatrixArray();
138
- var narray = model.renderable.getNormalArray();
119
+ // update the buffer objects if needed
120
+ const garray = model.renderable.getMatrixArray();
121
+ const narray = model.renderable.getNormalArray();
139
122
  model.carray = model.renderable.getColorArray();
140
123
  model.numInstances = garray.length / 16;
141
-
142
124
  if (model.renderable.getBuildTime().getMTime() > model.glyphBOBuildTime.getMTime()) {
143
125
  // In Core class all arrays are rebuilt when this happens
144
126
  // but these arrays can be shared between all primType
145
127
  model.WebGPURenderWindow = publicAPI.getFirstAncestorOfType('vtkWebGPURenderWindow');
146
- var device = model.WebGPURenderWindow.getDevice();
128
+ const device = model.WebGPURenderWindow.getDevice();
147
129
  model.SSBO.clearData();
148
130
  model.SSBO.setNumberOfInstances(model.numInstances);
149
131
  model.SSBO.addEntry('matrix', 'mat4x4<f32>');
150
132
  model.SSBO.addEntry('normal', 'mat4x4<f32>');
151
-
152
133
  if (model.carray) {
153
134
  model.SSBO.addEntry('color', 'vec4<f32>');
154
135
  }
155
-
156
136
  model.SSBO.setAllInstancesFromArray('matrix', garray);
157
137
  model.SSBO.setAllInstancesFromArray3x3To4x4('normal', narray);
158
-
159
138
  if (model.carray) {
160
139
  model.SSBO.setAllInstancesFromArrayColorToFloat('color', model.carray.getData());
161
140
  }
162
-
163
141
  model.SSBO.send(device);
164
142
  model.glyphBOBuildTime.modified();
165
143
  }
166
144
  };
167
- } // ----------------------------------------------------------------------------
145
+ }
146
+
147
+ // ----------------------------------------------------------------------------
168
148
  // Object factory
169
149
  // ----------------------------------------------------------------------------
170
150
 
151
+ const DEFAULT_VALUES = {};
171
152
 
172
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
153
+ // ----------------------------------------------------------------------------
173
154
 
174
155
  function extend(publicAPI, model) {
175
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
176
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
156
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
157
+ Object.assign(model, DEFAULT_VALUES, initialValues);
177
158
 
159
+ // Inheritance
178
160
  vtkWebGPUPolyDataMapper.extend(publicAPI, model, initialValues);
179
161
  model.glyphBOBuildTime = {};
180
162
  obj(model.glyphBOBuildTime, {
@@ -182,18 +164,24 @@ function extend(publicAPI, model) {
182
164
  });
183
165
  model.SSBO = vtkWebGPUStorageBuffer.newInstance({
184
166
  label: 'glyphSSBO'
185
- }); // Object methods
167
+ });
186
168
 
169
+ // Object methods
187
170
  vtkWebGPUGlyph3DMapper(publicAPI, model);
188
- } // ----------------------------------------------------------------------------
171
+ }
172
+
173
+ // ----------------------------------------------------------------------------
189
174
 
190
- var newInstance = newInstance$1(extend, 'vtkWebGPUGlyph3DMapper'); // ----------------------------------------------------------------------------
175
+ const newInstance = newInstance$1(extend, 'vtkWebGPUGlyph3DMapper');
176
+
177
+ // ----------------------------------------------------------------------------
191
178
 
192
179
  var index = {
193
- newInstance: newInstance,
194
- extend: extend
195
- }; // Register ourself to WebGPU backend if imported
180
+ newInstance,
181
+ extend
182
+ };
196
183
 
184
+ // Register ourself to WebGPU backend if imported
197
185
  registerOverride('vtkGlyph3DMapper', newInstance);
198
186
 
199
187
  export { caExtend, index as default, extend, newInstance };