@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 vtkOpenGLFramebuffer from './Framebuffer.js';
3
3
  import vtkRenderPass from '../SceneGraph/RenderPass.js';
4
4
  import vtkDataArray from '../../Common/Core/DataArray.js';
@@ -6,199 +6,200 @@ import vtkHelper from './Helper.js';
6
6
  import vtkVertexArrayObject from './VertexArrayObject.js';
7
7
  import { Representation } from '../Core/Property/Constants.js';
8
8
 
9
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
9
+ const {
10
+ vtkErrorMacro
11
+ } = macro;
12
+ // ----------------------------------------------------------------------------
10
13
 
11
14
  function vtkConvolution2DPass(publicAPI, model) {
12
15
  // Set our className
13
16
  model.classHierarchy.push('vtkConvolution2DPass');
14
-
15
17
  publicAPI.computeKernelWeight = function computeKernelWeight(kernel) {
16
- var weight = kernel.reduce(function (prev, curr) {
17
- return prev + curr;
18
- });
18
+ const weight = kernel.reduce((prev, curr) => prev + curr);
19
19
  return weight <= 0 ? 1 : weight;
20
- }; // handles post-processing via convolution kernel and call delegate
21
-
20
+ };
22
21
 
22
+ // handles post-processing via convolution kernel and call delegate
23
23
  publicAPI.traverse = function (viewNode) {
24
-
25
24
  if (model.deleted) {
26
25
  return;
27
- } // check if kernel dimension is valid
28
-
26
+ }
29
27
 
28
+ // check if kernel dimension is valid
30
29
  if (model.kernelDimension % 2 !== 1) {
31
30
  vtkErrorMacro('Invalid kernel dimension! Kernel dimension must be odd (e.g. 3, 5, 7, ...).');
32
31
  return;
33
- } // if no kernel is set, use the default kernel (no post-processing)
34
-
32
+ }
35
33
 
34
+ // if no kernel is set, use the default kernel (no post-processing)
36
35
  if (model.kernel === null) {
37
36
  model.kernel = new Float32Array(model.kernelDimension);
38
37
  model.kernel[Math.floor(model.kernelDimension / 2)] = 1;
39
38
  }
40
-
41
- var kernelLength = model.kernelDimension * model.kernelDimension;
42
-
39
+ const kernelLength = model.kernelDimension * model.kernelDimension;
43
40
  if (model.kernel.length !== kernelLength) {
44
- vtkErrorMacro("The given kernel is invalid. 2D convolution kernels have to be 1D arrays with ".concat(kernelLength, " components representing the ").concat(model.kernelDimension, "x").concat(model.kernelDimension, " kernel in row-major form."));
41
+ vtkErrorMacro(`The given kernel is invalid. 2D convolution kernels have to be 1D arrays with ${kernelLength} components representing the ${model.kernelDimension}x${model.kernelDimension} kernel in row-major form.`);
45
42
  return;
46
- } // prepare framebuffer // allocate framebuffer if needed and bind it
47
-
43
+ }
48
44
 
45
+ // prepare framebuffer // allocate framebuffer if needed and bind it
49
46
  if (model.framebuffer === null) {
50
47
  model.framebuffer = vtkOpenGLFramebuffer.newInstance();
51
48
  }
52
-
53
- var size = viewNode.getSize();
54
- var gl = viewNode.getContext();
55
-
49
+ const size = viewNode.getSize();
50
+ const gl = viewNode.getContext();
56
51
  if (gl === null) {
57
52
  // nothing to do -> no render context
58
53
  // traverse delegate passes -> has to be done in order for the vtk render-pipeline to work correctly
59
- model.delegates.forEach(function (val) {
54
+ model.delegates.forEach(val => {
60
55
  val.traverse(viewNode, publicAPI);
61
56
  });
62
57
  return;
63
- } // prepare rendering
64
-
58
+ }
65
59
 
60
+ // prepare rendering
66
61
  if (model.VBOBuildTime.getMTime() < publicAPI.getMTime()) {
67
62
  model.tris.setOpenGLRenderWindow(viewNode);
68
63
  publicAPI.buildVertexBuffer();
69
- } // store framebuffer bindings to restore them later
70
-
64
+ }
71
65
 
66
+ // store framebuffer bindings to restore them later
72
67
  model.framebuffer.setOpenGLRenderWindow(viewNode);
73
68
  model.framebuffer.saveCurrentBindingsAndBuffers();
74
- var fbSize = model.framebuffer.getSize();
75
-
69
+ const fbSize = model.framebuffer.getSize();
76
70
  if (fbSize === null || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
77
71
  // create post-processing framebuffer if not already existing
78
72
  model.framebuffer.create(size[0], size[1]);
79
73
  model.framebuffer.populateFramebuffer();
80
- } // bind framebuffer to re-direct the render-output of the delegate passes to the buffer
81
-
74
+ }
82
75
 
83
- model.framebuffer.bind(); // do the delegate rendering
76
+ // bind framebuffer to re-direct the render-output of the delegate passes to the buffer
77
+ model.framebuffer.bind();
84
78
 
85
- model.delegates.forEach(function (val) {
79
+ // do the delegate rendering
80
+ model.delegates.forEach(val => {
86
81
  val.traverse(viewNode, publicAPI);
87
- }); // now draw the convolved values
82
+ });
88
83
 
89
- model.framebuffer.restorePreviousBindingsAndBuffers(); // check if kernel dimension has changed and convolution shader needs to be re-compiled
84
+ // now draw the convolved values
85
+ model.framebuffer.restorePreviousBindingsAndBuffers();
90
86
 
87
+ // check if kernel dimension has changed and convolution shader needs to be re-compiled
91
88
  if (model.convolutionShader !== null && model.oldKernelDimension !== model.kernelDimension) {
92
89
  model.convolutionShader = null;
93
90
  model.oldKernelDimension = model.kernelDimension;
94
- } // make sure the convolution shader is ready
95
-
91
+ }
96
92
 
93
+ // make sure the convolution shader is ready
97
94
  if (model.convolutionShader === null) {
98
95
  model.convolutionShader = viewNode.getShaderCache().readyShaderProgramArray(['//VTK::System::Dec', 'attribute vec4 vertexDC;', 'attribute vec2 tcoordTC;', 'varying vec2 tcoord;', 'void main() { tcoord = tcoordTC; gl_Position = vertexDC; }'].join('\n'), publicAPI.getFragmentShaderCode(model.kernelDimension), '');
99
- var program = model.convolutionShader; // prepare the vertex and triangle data for the image plane to render to
96
+ const program = model.convolutionShader;
100
97
 
98
+ // prepare the vertex and triangle data for the image plane to render to
101
99
  model.copyVAO = vtkVertexArrayObject.newInstance();
102
100
  model.copyVAO.setOpenGLRenderWindow(viewNode);
103
101
  model.tris.getCABO().bind();
104
-
105
102
  if (!model.copyVAO.addAttributeArray(program, model.tris.getCABO(), 'vertexDC', model.tris.getCABO().getVertexOffset(), model.tris.getCABO().getStride(), gl.FLOAT, 3, gl.FALSE)) {
106
103
  vtkErrorMacro('Error setting vertexDC in copy shader VAO.');
107
104
  }
108
-
109
105
  if (!model.copyVAO.addAttributeArray(program, model.tris.getCABO(), 'tcoordTC', model.tris.getCABO().getTCoordOffset(), model.tris.getCABO().getStride(), gl.FLOAT, 2, gl.FALSE)) {
110
106
  vtkErrorMacro('Error setting vertexDC in copy shader VAO.');
111
107
  }
112
108
  } else {
113
109
  viewNode.getShaderCache().readyShaderProgram(model.convolutionShader);
114
110
  }
115
-
116
111
  gl.viewport(0, 0, size[0], size[1]);
117
- gl.scissor(0, 0, size[0], size[1]); // activate texture
112
+ gl.scissor(0, 0, size[0], size[1]);
118
113
 
119
- var tex = model.framebuffer.getColorTexture();
114
+ // activate texture
115
+ const tex = model.framebuffer.getColorTexture();
120
116
  tex.activate();
121
117
  model.convolutionShader.setUniformi('u_image', tex.getTextureUnit());
122
118
  model.convolutionShader.setUniform2f('u_textureSize', tex.getWidth(), tex.getHeight());
123
119
  model.convolutionShader.setUniformfv('u_kernel', model.kernel);
124
- model.convolutionShader.setUniformf('u_kernelWeight', publicAPI.computeKernelWeight(model.kernel)); // render quad
120
+ model.convolutionShader.setUniformf('u_kernelWeight', publicAPI.computeKernelWeight(model.kernel));
125
121
 
122
+ // render quad
126
123
  gl.drawArrays(gl.TRIANGLES, 0, model.tris.getCABO().getElementCount());
127
124
  tex.deactivate();
128
125
  };
129
-
130
- publicAPI.getFragmentShaderCode = function (kernelDimension) {
126
+ publicAPI.getFragmentShaderCode = kernelDimension => {
131
127
  // generate new shader code
132
- var kernelLength = kernelDimension * kernelDimension;
133
- var shaderCode = ['//VTK::System::Dec', '//VTK::Output::Dec', 'uniform sampler2D u_image;', 'uniform vec2 u_textureSize;', "uniform float u_kernel[".concat(kernelLength, "];"), 'uniform float u_kernelWeight;', 'varying vec2 tcoord;', 'void main(){', ' vec2 onePixel = vec2(1.0, 1.0) / u_textureSize;', ' vec4 colorSum =\n'].join('\n');
134
- var halfDim = Math.floor(kernelDimension / 2); // generate sum per pixel
135
-
136
- var i = 0;
137
-
138
- for (var y = -halfDim; y <= halfDim; ++y) {
139
- for (var x = -halfDim; x <= halfDim; ++x) {
140
- shaderCode += " texture2D(u_image, tcoord + onePixel * vec2(".concat(x, ", ").concat(y, ")) * u_kernel[").concat(i, "]");
128
+ const kernelLength = kernelDimension * kernelDimension;
129
+ let shaderCode = ['//VTK::System::Dec', '//VTK::Output::Dec', 'uniform sampler2D u_image;', 'uniform vec2 u_textureSize;', `uniform float u_kernel[${kernelLength}];`, 'uniform float u_kernelWeight;', 'varying vec2 tcoord;', 'void main(){', ' vec2 onePixel = vec2(1.0, 1.0) / u_textureSize;', ' vec4 colorSum =\n'].join('\n');
130
+ const halfDim = Math.floor(kernelDimension / 2);
131
+
132
+ // generate sum per pixel
133
+ let i = 0;
134
+ for (let y = -halfDim; y <= halfDim; ++y) {
135
+ for (let x = -halfDim; x <= halfDim; ++x) {
136
+ shaderCode += ` texture2D(u_image, tcoord + onePixel * vec2(${x}, ${y})) * u_kernel[${i}]`;
141
137
  ++i;
142
-
143
138
  if (i !== kernelLength) {
144
139
  shaderCode += ' +\n';
145
140
  }
146
141
  }
147
- } // finish code
148
-
142
+ }
149
143
 
144
+ // finish code
150
145
  shaderCode += [';', ' gl_FragData[0] = vec4((colorSum / u_kernelWeight).rgb, texture2D(u_image, tcoord).a);', '}'].join('\n');
151
146
  return shaderCode;
152
- }; // build vertices etc
153
-
147
+ };
154
148
 
155
- publicAPI.buildVertexBuffer = function () {
149
+ // build vertices etc
150
+ publicAPI.buildVertexBuffer = () => {
156
151
  // 4 corner points in clipping space in order (x, y, z) where z is always set to -1
157
152
  // prettier-ignore
158
- 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)
153
+ const ptsArray = new Float32Array([-1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1]);
159
154
 
160
- 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)
155
+ // 4 corresponding corner points in texture space in order (x, y)
156
+ const tcoordArray = new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]);
161
157
 
162
- var cellArray = new Uint16Array([4, 0, 1, 3, 2]);
163
- var points = vtkDataArray.newInstance({
158
+ // a square defined as cell relation ship in order (cell_size, v1, v2, v3, v4)
159
+ const cellArray = new Uint16Array([4, 0, 1, 3, 2]);
160
+ const points = vtkDataArray.newInstance({
164
161
  numberOfComponents: 3,
165
162
  values: ptsArray
166
163
  });
167
164
  points.setName('points');
168
- var tcoords = vtkDataArray.newInstance({
165
+ const tcoords = vtkDataArray.newInstance({
169
166
  numberOfComponents: 2,
170
167
  values: tcoordArray
171
168
  });
172
169
  tcoords.setName('tcoords');
173
- var cells = vtkDataArray.newInstance({
170
+ const cells = vtkDataArray.newInstance({
174
171
  numberOfComponents: 1,
175
172
  values: cellArray
176
173
  });
177
174
  model.tris.getCABO().createVBO(cells, 'polys', Representation.SURFACE, {
178
- points: points,
179
- tcoords: tcoords,
175
+ points,
176
+ tcoords,
180
177
  cellOffset: 0
181
178
  });
182
179
  model.VBOBuildTime.modified();
183
180
  };
184
- } // ----------------------------------------------------------------------------
181
+ }
182
+
183
+ // ----------------------------------------------------------------------------
185
184
  // Object factory
186
185
  // ----------------------------------------------------------------------------
187
186
 
188
-
189
- var DEFAULT_VALUES = {
187
+ const DEFAULT_VALUES = {
190
188
  framebuffer: null,
191
189
  convolutionShader: null,
192
190
  tris: null,
193
191
  kernel: [0, 0, 0, 0, 1, 0, 0, 0, 0],
194
192
  oldKernelDimension: 3,
195
193
  kernelDimension: 3
196
- }; // ----------------------------------------------------------------------------
194
+ };
195
+
196
+ // ----------------------------------------------------------------------------
197
197
 
198
198
  function extend(publicAPI, model) {
199
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
200
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
199
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
200
+ Object.assign(model, DEFAULT_VALUES, initialValues);
201
201
 
202
+ // Build VTK API
202
203
  vtkRenderPass.extend(publicAPI, model, initialValues);
203
204
  model.VBOBuildTime = {};
204
205
  macro.obj(model.VBOBuildTime, {
@@ -206,16 +207,21 @@ function extend(publicAPI, model) {
206
207
  });
207
208
  model.tris = vtkHelper.newInstance();
208
209
  macro.setGet(publicAPI, model, ['kernel', 'kernelDimension']);
209
- macro.get(publicAPI, model, ['framebuffer']); // Object methods
210
+ macro.get(publicAPI, model, ['framebuffer']);
210
211
 
212
+ // Object methods
211
213
  vtkConvolution2DPass(publicAPI, model);
212
- } // ----------------------------------------------------------------------------
214
+ }
215
+
216
+ // ----------------------------------------------------------------------------
213
217
 
214
- var newInstance = macro.newInstance(extend, 'vtkConvolution2DPass'); // ----------------------------------------------------------------------------
218
+ const newInstance = macro.newInstance(extend, 'vtkConvolution2DPass');
219
+
220
+ // ----------------------------------------------------------------------------
215
221
 
216
222
  var vtkConvolution2DPass$1 = {
217
- newInstance: newInstance,
218
- extend: extend
223
+ newInstance,
224
+ extend
219
225
  };
220
226
 
221
227
  export { vtkConvolution2DPass$1 as default, extend, newInstance };
@@ -1,63 +1,70 @@
1
- import { newInstance as newInstance$1 } from '../../macros.js';
1
+ import { n as newInstance$1 } from '../../macros2.js';
2
2
  import vtkCubeAxesActor from '../Core/CubeAxesActor.js';
3
3
  import vtkViewNode from '../SceneGraph/ViewNode.js';
4
4
  import { registerOverride } from './ViewNodeFactory.js';
5
5
 
6
+ // ----------------------------------------------------------------------------
6
7
  // vtkOpenGLCubeAxesActor methods
7
8
  // ----------------------------------------------------------------------------
8
9
 
9
10
  function vtkOpenGLCubeAxesActor(publicAPI, model) {
10
- model.classHierarchy.push('vtkOpenGLCubeAxesActor'); // Builds myself.
11
+ model.classHierarchy.push('vtkOpenGLCubeAxesActor');
11
12
 
12
- publicAPI.buildPass = function (prepass) {
13
+ // Builds myself.
14
+ publicAPI.buildPass = prepass => {
13
15
  if (prepass) {
14
16
  model._openGLRenderer = publicAPI.getFirstAncestorOfType('vtkOpenGLRenderer');
15
17
  model._openGLRenderWindow = model._openGLRenderer.getParent();
16
-
17
18
  if (!model.CubeAxesActorHelper.getRenderable()) {
18
19
  model.CubeAxesActorHelper.setRenderable(model.renderable);
19
20
  }
20
-
21
21
  publicAPI.prepareNodes();
22
22
  publicAPI.addMissingNode(model.CubeAxesActorHelper.getTmActor());
23
23
  publicAPI.addMissingNode(model.renderable.getGridActor());
24
24
  publicAPI.removeUnusedNodes();
25
25
  }
26
26
  };
27
-
28
- publicAPI.opaquePass = function (prepass, renderPass) {
27
+ publicAPI.opaquePass = (prepass, renderPass) => {
29
28
  if (prepass) {
30
- var camera = model._openGLRenderer ? model._openGLRenderer.getRenderable().getActiveCamera() : null;
31
-
32
- var tsize = model._openGLRenderer.getTiledSizeAndOrigin();
33
-
29
+ const camera = model._openGLRenderer ? model._openGLRenderer.getRenderable().getActiveCamera() : null;
30
+ const tsize = model._openGLRenderer.getTiledSizeAndOrigin();
34
31
  model.CubeAxesActorHelper.updateAPISpecificData([tsize.usize, tsize.vsize], camera, model._openGLRenderWindow.getRenderable());
35
32
  }
36
33
  };
37
- } // ----------------------------------------------------------------------------
34
+ }
35
+
36
+ // ----------------------------------------------------------------------------
38
37
  // Object factory
39
38
  // ----------------------------------------------------------------------------
40
39
 
40
+ const DEFAULT_VALUES = {};
41
41
 
42
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
42
+ // ----------------------------------------------------------------------------
43
43
 
44
44
  function extend(publicAPI, model) {
45
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
46
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
45
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
46
+ Object.assign(model, DEFAULT_VALUES, initialValues);
47
47
 
48
+ // Inheritance
48
49
  vtkViewNode.extend(publicAPI, model, initialValues);
49
- model.CubeAxesActorHelper = vtkCubeAxesActor.newCubeAxesActorHelper(); // Object methods
50
+ model.CubeAxesActorHelper = vtkCubeAxesActor.newCubeAxesActorHelper();
50
51
 
52
+ // Object methods
51
53
  vtkOpenGLCubeAxesActor(publicAPI, model);
52
- } // ----------------------------------------------------------------------------
54
+ }
55
+
56
+ // ----------------------------------------------------------------------------
57
+
58
+ const newInstance = newInstance$1(extend, 'vtkOpenGLCubeAxesActor');
53
59
 
54
- var newInstance = newInstance$1(extend, 'vtkOpenGLCubeAxesActor'); // ----------------------------------------------------------------------------
60
+ // ----------------------------------------------------------------------------
55
61
 
56
62
  var index = {
57
- newInstance: newInstance,
58
- extend: extend
59
- }; // Register ourself to OpenGL backend if imported
63
+ newInstance,
64
+ extend
65
+ };
60
66
 
67
+ // Register ourself to OpenGL backend if imported
61
68
  registerOverride('vtkCubeAxesActor', newInstance);
62
69
 
63
70
  export { index as default, extend, newInstance };
@@ -1,36 +1,38 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkOpenGLFramebuffer from './Framebuffer.js';
3
3
  import vtkRenderPass from '../SceneGraph/RenderPass.js';
4
4
  import vtkOpenGLOrderIndependentTranslucentPass from './OrderIndependentTranslucentPass.js';
5
5
 
6
+ // ----------------------------------------------------------------------------
7
+
6
8
  function vtkForwardPass(publicAPI, model) {
7
9
  // Set our className
8
- model.classHierarchy.push('vtkForwardPass'); // this pass implements a forward rendering pipeline
10
+ model.classHierarchy.push('vtkForwardPass');
11
+
12
+ // this pass implements a forward rendering pipeline
9
13
  // if both volumes and opaque geometry are present
10
14
  // it will mix the two together by capturing a zbuffer
11
15
  // first
12
-
13
16
  publicAPI.traverse = function (viewNode) {
14
- var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
15
-
17
+ let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
16
18
  if (model.deleted) {
17
19
  return;
18
- } // we just render our delegates in order
19
-
20
+ }
20
21
 
21
- model._currentParent = parent; // build
22
+ // we just render our delegates in order
23
+ model._currentParent = parent;
22
24
 
25
+ // build
23
26
  publicAPI.setCurrentOperation('buildPass');
24
27
  viewNode.traverse(publicAPI);
25
- var numlayers = viewNode.getRenderable().getNumberOfLayers(); // iterate over renderers
26
-
27
- var renderers = viewNode.getChildren();
28
-
29
- for (var i = 0; i < numlayers; i++) {
30
- for (var index = 0; index < renderers.length; index++) {
31
- var renNode = renderers[index];
32
- var ren = viewNode.getRenderable().getRenderers()[index];
33
-
28
+ const numlayers = viewNode.getRenderable().getNumberOfLayers();
29
+
30
+ // iterate over renderers
31
+ const renderers = viewNode.getChildren();
32
+ for (let i = 0; i < numlayers; i++) {
33
+ for (let index = 0; index < renderers.length; index++) {
34
+ const renNode = renderers[index];
35
+ const ren = viewNode.getRenderable().getRenderers()[index];
34
36
  if (ren.getDraw() && ren.getLayer() === i) {
35
37
  // check for both opaque and volume actors
36
38
  model.opaqueActorCount = 0;
@@ -38,56 +40,49 @@ function vtkForwardPass(publicAPI, model) {
38
40
  model.volumeCount = 0;
39
41
  model.overlayActorCount = 0;
40
42
  publicAPI.setCurrentOperation('queryPass');
41
- renNode.traverse(publicAPI); // do we need to capture a zbuffer?
43
+ renNode.traverse(publicAPI);
42
44
 
45
+ // do we need to capture a zbuffer?
43
46
  if ((model.opaqueActorCount > 0 || model.translucentActorCount > 0) && model.volumeCount > 0 || model.depthRequested) {
44
- var size = viewNode.getFramebufferSize(); // make sure the framebuffer is setup
45
-
47
+ const size = viewNode.getFramebufferSize();
48
+ // make sure the framebuffer is setup
46
49
  if (model.framebuffer === null) {
47
50
  model.framebuffer = vtkOpenGLFramebuffer.newInstance();
48
51
  }
49
-
50
52
  model.framebuffer.setOpenGLRenderWindow(viewNode);
51
53
  model.framebuffer.saveCurrentBindingsAndBuffers();
52
- var fbSize = model.framebuffer.getSize();
53
-
54
+ const fbSize = model.framebuffer.getSize();
54
55
  if (fbSize === null || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
55
56
  model.framebuffer.create(size[0], size[1]);
56
57
  model.framebuffer.populateFramebuffer();
57
58
  }
58
-
59
- model.framebuffer.bind(); // opaqueZBufferPass only renders opaque actors
59
+ model.framebuffer.bind();
60
+ // opaqueZBufferPass only renders opaque actors
60
61
  // zBufferPass renders both translucent and opaque actors
61
62
  // we want to be able to pick translucent actors
62
-
63
63
  publicAPI.setCurrentOperation('zBufferPass');
64
64
  renNode.traverse(publicAPI);
65
- model.framebuffer.restorePreviousBindingsAndBuffers(); // reset now that we have done it
65
+ model.framebuffer.restorePreviousBindingsAndBuffers();
66
66
 
67
+ // reset now that we have done it
67
68
  model.depthRequested = false;
68
69
  }
69
-
70
70
  publicAPI.setCurrentOperation('cameraPass');
71
71
  renNode.traverse(publicAPI);
72
-
73
72
  if (model.opaqueActorCount > 0) {
74
73
  publicAPI.setCurrentOperation('opaquePass');
75
74
  renNode.traverse(publicAPI);
76
75
  }
77
-
78
76
  if (model.translucentActorCount > 0) {
79
77
  if (!model.translucentPass) {
80
78
  model.translucentPass = vtkOpenGLOrderIndependentTranslucentPass.newInstance();
81
79
  }
82
-
83
80
  model.translucentPass.traverse(viewNode, renNode, publicAPI);
84
81
  }
85
-
86
82
  if (model.volumeCount > 0) {
87
83
  publicAPI.setCurrentOperation('volumePass');
88
84
  renNode.traverse(publicAPI);
89
85
  }
90
-
91
86
  if (model.overlayActorCount > 0) {
92
87
  publicAPI.setCurrentOperation('overlayPass');
93
88
  renNode.traverse(publicAPI);
@@ -96,63 +91,57 @@ function vtkForwardPass(publicAPI, model) {
96
91
  }
97
92
  }
98
93
  };
99
-
100
- publicAPI.getZBufferTexture = function () {
94
+ publicAPI.getZBufferTexture = () => {
101
95
  if (model.framebuffer) {
102
96
  return model.framebuffer.getColorTexture();
103
97
  }
104
-
105
98
  return null;
106
99
  };
107
-
108
- publicAPI.requestDepth = function () {
100
+ publicAPI.requestDepth = () => {
109
101
  model.depthRequested = true;
110
102
  };
103
+ publicAPI.incrementOpaqueActorCount = () => model.opaqueActorCount++;
104
+ publicAPI.incrementTranslucentActorCount = () => model.translucentActorCount++;
105
+ publicAPI.incrementVolumeCount = () => model.volumeCount++;
106
+ publicAPI.incrementOverlayActorCount = () => model.overlayActorCount++;
107
+ }
111
108
 
112
- publicAPI.incrementOpaqueActorCount = function () {
113
- return model.opaqueActorCount++;
114
- };
115
-
116
- publicAPI.incrementTranslucentActorCount = function () {
117
- return model.translucentActorCount++;
118
- };
119
-
120
- publicAPI.incrementVolumeCount = function () {
121
- return model.volumeCount++;
122
- };
123
-
124
- publicAPI.incrementOverlayActorCount = function () {
125
- return model.overlayActorCount++;
126
- };
127
- } // ----------------------------------------------------------------------------
109
+ // ----------------------------------------------------------------------------
128
110
  // Object factory
129
111
  // ----------------------------------------------------------------------------
130
112
 
131
-
132
- var DEFAULT_VALUES = {
113
+ const DEFAULT_VALUES = {
133
114
  opaqueActorCount: 0,
134
115
  translucentActorCount: 0,
135
116
  volumeCount: 0,
136
117
  overlayActorCount: 0,
137
118
  framebuffer: null,
138
119
  depthRequested: false
139
- }; // ----------------------------------------------------------------------------
120
+ };
121
+
122
+ // ----------------------------------------------------------------------------
140
123
 
141
124
  function extend(publicAPI, model) {
142
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
143
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
125
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
126
+ Object.assign(model, DEFAULT_VALUES, initialValues);
144
127
 
128
+ // Build VTK API
145
129
  vtkRenderPass.extend(publicAPI, model, initialValues);
146
- macro.get(publicAPI, model, ['framebuffer', 'opaqueActorCount', 'translucentActorCount', 'volumeCount']); // Object methods
130
+ macro.get(publicAPI, model, ['framebuffer', 'opaqueActorCount', 'translucentActorCount', 'volumeCount']);
147
131
 
132
+ // Object methods
148
133
  vtkForwardPass(publicAPI, model);
149
- } // ----------------------------------------------------------------------------
134
+ }
135
+
136
+ // ----------------------------------------------------------------------------
150
137
 
151
- var newInstance = macro.newInstance(extend, 'vtkForwardPass'); // ----------------------------------------------------------------------------
138
+ const newInstance = macro.newInstance(extend, 'vtkForwardPass');
139
+
140
+ // ----------------------------------------------------------------------------
152
141
 
153
142
  var vtkForwardPass$1 = {
154
- newInstance: newInstance,
155
- extend: extend
143
+ newInstance,
144
+ extend
156
145
  };
157
146
 
158
147
  export { vtkForwardPass$1 as default, extend, newInstance };