@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,173 +1,174 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
 
3
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
3
+ const {
4
+ vtkErrorMacro
5
+ } = macro;
6
+
7
+ // ----------------------------------------------------------------------------
4
8
  // vtkCanvasView methods
5
9
  // ----------------------------------------------------------------------------
6
10
 
7
11
  function vtkCanvasView(publicAPI, model) {
8
12
  // Set our className
9
- model.classHierarchy.push('vtkCanvasView'); // Auto update style
13
+ model.classHierarchy.push('vtkCanvasView');
10
14
 
15
+ // Auto update style
11
16
  function updateWindow() {
12
17
  // Canvas size
13
18
  if (model._renderable) {
14
19
  model.canvas.setAttribute('width', model.size[0]);
15
20
  model.canvas.setAttribute('height', model.size[1]);
16
- } // ImageStream size
17
-
21
+ }
18
22
 
23
+ // ImageStream size
19
24
  if (model.viewStream) {
20
25
  // If same size that's a NoOp
21
26
  model.viewStream.setSize(model.size[0], model.size[1]);
22
- } // Offscreen ?
23
-
27
+ }
24
28
 
25
- model.canvas.style.display = model.useOffScreen ? 'none' : 'block'; // Cursor type
29
+ // Offscreen ?
30
+ model.canvas.style.display = model.useOffScreen ? 'none' : 'block';
26
31
 
32
+ // Cursor type
27
33
  if (model.el) {
28
34
  model.el.style.cursor = model.cursorVisibility ? model.cursor : 'none';
29
35
  }
30
36
  }
31
-
32
37
  publicAPI.onModified(updateWindow);
33
-
34
- publicAPI.setContainer = function (el) {
38
+ publicAPI.setContainer = el => {
35
39
  if (model.el && model.el !== el) {
36
40
  if (model.canvas.parentNode !== model.el) {
37
41
  vtkErrorMacro('Error: canvas parent node does not match container');
38
- } // Remove canvas from previous container
42
+ }
39
43
 
44
+ // Remove canvas from previous container
45
+ model.el.removeChild(model.canvas);
40
46
 
41
- model.el.removeChild(model.canvas); // If the renderer has previously added
47
+ // If the renderer has previously added
42
48
  // a background image, remove it from the DOM.
43
-
44
49
  if (model.el.contains(model.bgImage)) {
45
50
  model.el.removeChild(model.bgImage);
46
51
  }
47
52
  }
48
-
49
53
  if (model.el !== el) {
50
54
  model.el = el;
51
-
52
55
  if (model.el) {
53
56
  model.el.appendChild(model.canvas);
54
- } // If the renderer is set to use a background
55
- // image, attach it to the DOM.
56
-
57
+ }
57
58
 
59
+ // If the renderer is set to use a background
60
+ // image, attach it to the DOM.
58
61
  if (model.useBackgroundImage) {
59
62
  model.el.appendChild(model.bgImage);
60
- } // Trigger modified()
61
-
63
+ }
62
64
 
65
+ // Trigger modified()
63
66
  publicAPI.modified();
64
67
  }
65
68
  };
66
-
67
- publicAPI.setBackgroundImage = function (img) {
69
+ publicAPI.setBackgroundImage = img => {
68
70
  model.bgImage.src = img.src;
69
71
  };
72
+ publicAPI.setUseBackgroundImage = value => {
73
+ model.useBackgroundImage = value;
70
74
 
71
- publicAPI.setUseBackgroundImage = function (value) {
72
- model.useBackgroundImage = value; // Add or remove the background image from the
75
+ // Add or remove the background image from the
73
76
  // DOM as specified.
74
-
75
77
  if (model.useBackgroundImage && model.el && !model.el.contains(model.bgImage)) {
76
78
  model.el.appendChild(model.bgImage);
77
79
  } else if (!model.useBackgroundImage && model.el && model.el.contains(model.bgImage)) {
78
80
  model.el.removeChild(model.bgImage);
79
81
  }
80
82
  };
81
-
82
- publicAPI.setViewStream = function (stream) {
83
+ publicAPI.setViewStream = stream => {
83
84
  if (model.viewStream === stream) {
84
85
  return false;
85
86
  }
86
-
87
87
  if (model.subscription) {
88
88
  model.subscription.unsubscribe();
89
89
  model.subscription = null;
90
90
  }
91
-
92
91
  model.viewStream = stream;
93
-
94
92
  if (model.viewStream) {
95
93
  // Enable display of the background image
96
- publicAPI.setUseBackgroundImage(true); // Bind to remote stream
94
+ publicAPI.setUseBackgroundImage(true);
97
95
 
98
- model.subscription = model.viewStream.onImageReady(function (e) {
99
- return publicAPI.setBackgroundImage(e.image);
100
- });
96
+ // Bind to remote stream
97
+ model.subscription = model.viewStream.onImageReady(e => publicAPI.setBackgroundImage(e.image));
101
98
  model.viewStream.setSize(model.size[0], model.size[1]);
102
99
  model.viewStream.invalidateCache();
103
100
  model.viewStream.render();
104
101
  publicAPI.modified();
105
102
  }
106
-
107
103
  return true;
108
104
  };
105
+ publicAPI.delete = macro.chain(publicAPI.setViewStream, publicAPI.delete);
109
106
 
110
- publicAPI.delete = macro.chain(publicAPI.setViewStream, publicAPI.delete); // --------------------------------------------------------------------------
107
+ // --------------------------------------------------------------------------
111
108
  // Make us look like a View (i.e.: vtkOpenGLRenderWindow)
112
109
  // --------------------------------------------------------------------------
113
-
114
110
  model._renderable = publicAPI;
115
111
  model._renderers = [publicAPI];
112
+ publicAPI.traverseAllPasses = () => {};
113
+ publicAPI.isInViewport = () => true;
114
+ publicAPI.getInteractive = () => true;
115
+ }
116
116
 
117
- publicAPI.traverseAllPasses = function () {};
118
-
119
- publicAPI.isInViewport = function () {
120
- return true;
121
- };
122
-
123
- publicAPI.getInteractive = function () {
124
- return true;
125
- };
126
- } // ----------------------------------------------------------------------------
117
+ // ----------------------------------------------------------------------------
127
118
  // Object factory
128
119
  // ----------------------------------------------------------------------------
129
120
 
130
-
131
- var DEFAULT_VALUES = {
121
+ const DEFAULT_VALUES = {
132
122
  canvas: null,
133
123
  size: [300, 300],
134
124
  cursorVisibility: true,
135
125
  cursor: 'pointer',
136
126
  useOffScreen: false,
137
127
  useBackgroundImage: false
138
- }; // ----------------------------------------------------------------------------
128
+ };
129
+
130
+ // ----------------------------------------------------------------------------
139
131
 
140
132
  function extend(publicAPI, model) {
141
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
142
- Object.assign(model, DEFAULT_VALUES, initialValues); // Create internal instances
133
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
134
+ Object.assign(model, DEFAULT_VALUES, initialValues);
143
135
 
136
+ // Create internal instances
144
137
  model.canvas = document.createElement('canvas');
145
- model.canvas.style.width = '100%'; // Create internal bgImage
138
+ model.canvas.style.width = '100%';
146
139
 
140
+ // Create internal bgImage
147
141
  model.bgImage = new Image();
148
142
  model.bgImage.style.position = 'absolute';
149
143
  model.bgImage.style.left = '0';
150
144
  model.bgImage.style.top = '0';
151
145
  model.bgImage.style.width = '100%';
152
146
  model.bgImage.style.height = '100%';
153
- model.bgImage.style.zIndex = '-1'; // Inheritance
147
+ model.bgImage.style.zIndex = '-1';
154
148
 
155
- macro.obj(publicAPI, model, initialValues); // Build VTK API
149
+ // Inheritance
150
+ macro.obj(publicAPI, model, initialValues);
156
151
 
152
+ // Build VTK API
157
153
  macro.get(publicAPI, model, ['useBackgroundImage', '_renderable']);
158
154
  macro.setGet(publicAPI, model, ['canvas', 'cursor', 'useOffScreen', 'interactor']);
159
155
  macro.setGetArray(publicAPI, model, ['size'], 2);
160
156
  macro.getArray(publicAPI, model, ['_renderers']);
161
- macro.moveToProtected(publicAPI, model, ['renderable', 'renderers']); // Object methods
157
+ macro.moveToProtected(publicAPI, model, ['renderable', 'renderers']);
162
158
 
159
+ // Object methods
163
160
  vtkCanvasView(publicAPI, model);
164
- } // ----------------------------------------------------------------------------
161
+ }
162
+
163
+ // ----------------------------------------------------------------------------
165
164
 
166
- var newInstance = macro.newInstance(extend, 'vtkCanvasView'); // ----------------------------------------------------------------------------
165
+ const newInstance = macro.newInstance(extend, 'vtkCanvasView');
166
+
167
+ // ----------------------------------------------------------------------------
167
168
 
168
169
  var vtkCanvasView$1 = {
169
- newInstance: newInstance,
170
- extend: extend
170
+ newInstance,
171
+ extend
171
172
  };
172
173
 
173
174
  export { vtkCanvasView$1 as default, extend, newInstance };
@@ -1,5 +1,4 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkRenderer from '../Core/Renderer.js';
4
3
  import vtkRenderWindow from '../Core/RenderWindow.js';
5
4
  import vtkRenderWindowInteractor from '../Core/RenderWindowInteractor.js';
@@ -13,8 +12,9 @@ import '../Core/Mapper.js';
13
12
  import '../OpenGL/RenderWindow.js';
14
13
  import '../WebGPU/RenderWindow.js';
15
14
 
16
- var userParams = vtkURLExtract.extractURLParameters();
17
- var STYLE_CONTAINER = {
15
+ // Process arguments from URL
16
+ const userParams = vtkURLExtract.extractURLParameters();
17
+ const STYLE_CONTAINER = {
18
18
  margin: '0',
19
19
  padding: '0',
20
20
  position: 'absolute',
@@ -24,7 +24,7 @@ var STYLE_CONTAINER = {
24
24
  height: '100%',
25
25
  overflow: 'hidden'
26
26
  };
27
- var STYLE_CONTROL_PANEL = {
27
+ const STYLE_CONTROL_PANEL = {
28
28
  position: 'absolute',
29
29
  left: '25px',
30
30
  top: '25px',
@@ -39,63 +39,60 @@ var STYLE_CONTROL_PANEL = {
39
39
  maxHeight: 'calc(100% - 60px)',
40
40
  overflow: 'auto'
41
41
  };
42
-
43
42
  function applyStyle(el, style) {
44
- Object.keys(style).forEach(function (key) {
43
+ Object.keys(style).forEach(key => {
45
44
  el.style[key] = style[key];
46
45
  });
47
46
  }
48
-
49
47
  function vtkFullScreenRenderWindow(publicAPI, model) {
50
48
  model.classHierarchy.push('vtkFullScreenRenderWindow');
51
- var body = document.querySelector('body'); // Full screen DOM handler
49
+ const body = document.querySelector('body');
52
50
 
51
+ // Full screen DOM handler
53
52
  if (!model.rootContainer) {
54
53
  model.rootContainer = body;
55
54
  }
56
-
57
55
  if (!model.container) {
58
56
  model.container = document.createElement('div');
59
57
  applyStyle(model.container, model.containerStyle || STYLE_CONTAINER);
60
58
  model.rootContainer.appendChild(model.container);
61
- } // apply 100% to html and body for fullscreen
62
-
59
+ }
63
60
 
61
+ // apply 100% to html and body for fullscreen
64
62
  if (model.rootContainer === body) {
65
63
  document.documentElement.style.height = '100%';
66
64
  body.style.height = '100%';
67
65
  body.style.padding = '0';
68
66
  body.style.margin = '0';
69
- } // VTK renderWindow/renderer
70
-
67
+ }
71
68
 
69
+ // VTK renderWindow/renderer
72
70
  model.renderWindow = vtkRenderWindow.newInstance();
73
71
  model.renderer = vtkRenderer.newInstance();
74
- model.renderWindow.addRenderer(model.renderer); // apiSpecificRenderWindow
72
+ model.renderWindow.addRenderer(model.renderer);
75
73
 
74
+ // apiSpecificRenderWindow
76
75
  model.apiSpecificRenderWindow = model.renderWindow.newAPISpecificView(userParams.viewAPI);
77
76
  model.apiSpecificRenderWindow.setContainer(model.container);
78
- model.renderWindow.addView(model.apiSpecificRenderWindow); // Interactor
77
+ model.renderWindow.addView(model.apiSpecificRenderWindow);
79
78
 
79
+ // Interactor
80
80
  model.interactor = vtkRenderWindowInteractor.newInstance();
81
81
  model.interactor.setInteractorStyle(vtkInteractorStyleTrackballCamera.newInstance());
82
82
  model.interactor.setView(model.apiSpecificRenderWindow);
83
83
  model.interactor.initialize();
84
- model.interactor.bindEvents(model.container); // Expose background
84
+ model.interactor.bindEvents(model.container);
85
85
 
86
+ // Expose background
86
87
  publicAPI.setBackground = model.renderer.setBackground;
87
-
88
- publicAPI.removeController = function () {
89
- var el = model.controlContainer;
90
-
88
+ publicAPI.removeController = () => {
89
+ const el = model.controlContainer;
91
90
  if (el) {
92
91
  el.parentNode.removeChild(el);
93
92
  }
94
93
  };
95
-
96
- publicAPI.setControllerVisibility = function (visible) {
94
+ publicAPI.setControllerVisibility = visible => {
97
95
  model.controllerVisibility = visible;
98
-
99
96
  if (model.controlContainer) {
100
97
  if (visible) {
101
98
  model.controlContainer.style.display = 'block';
@@ -104,93 +101,94 @@ function vtkFullScreenRenderWindow(publicAPI, model) {
104
101
  }
105
102
  }
106
103
  };
107
-
108
- publicAPI.toggleControllerVisibility = function () {
104
+ publicAPI.toggleControllerVisibility = () => {
109
105
  publicAPI.setControllerVisibility(!model.controllerVisibility);
110
106
  };
111
-
112
- publicAPI.addController = function (html) {
107
+ publicAPI.addController = html => {
113
108
  model.controlContainer = document.createElement('div');
114
109
  applyStyle(model.controlContainer, model.controlPanelStyle || STYLE_CONTROL_PANEL);
115
110
  model.rootContainer.appendChild(model.controlContainer);
116
111
  model.controlContainer.innerHTML = html;
117
112
  publicAPI.setControllerVisibility(model.controllerVisibility);
118
- model.rootContainer.addEventListener('keypress', function (e) {
113
+ model.rootContainer.addEventListener('keypress', e => {
119
114
  if (String.fromCharCode(e.charCode) === 'c') {
120
115
  publicAPI.toggleControllerVisibility();
121
116
  }
122
117
  });
123
- }; // Update BG color
124
-
118
+ };
125
119
 
126
- publicAPI.setBackground.apply(publicAPI, _toConsumableArray(model.background)); // Representation API
120
+ // Update BG color
121
+ publicAPI.setBackground(...model.background);
127
122
 
128
- publicAPI.addRepresentation = function (representation) {
129
- representation.getActors().forEach(function (actor) {
123
+ // Representation API
124
+ publicAPI.addRepresentation = representation => {
125
+ representation.getActors().forEach(actor => {
130
126
  model.renderer.addActor(actor);
131
127
  });
132
128
  };
129
+ publicAPI.removeRepresentation = representation => {
130
+ representation.getActors().forEach(actor => model.renderer.removeActor(actor));
131
+ };
133
132
 
134
- publicAPI.removeRepresentation = function (representation) {
135
- representation.getActors().forEach(function (actor) {
136
- return model.renderer.removeActor(actor);
137
- });
138
- }; // Properly release GL context
139
-
140
-
141
- publicAPI.delete = macro.chain(publicAPI.setContainer, model.apiSpecificRenderWindow.delete, publicAPI.delete); // Handle window resize
133
+ // Properly release GL context
134
+ publicAPI.delete = macro.chain(publicAPI.setContainer, model.apiSpecificRenderWindow.delete, publicAPI.delete);
142
135
 
143
- publicAPI.resize = function () {
144
- var dims = model.container.getBoundingClientRect();
145
- var devicePixelRatio = window.devicePixelRatio || 1;
136
+ // Handle window resize
137
+ publicAPI.resize = () => {
138
+ const dims = model.container.getBoundingClientRect();
139
+ const devicePixelRatio = window.devicePixelRatio || 1;
146
140
  model.apiSpecificRenderWindow.setSize(Math.floor(dims.width * devicePixelRatio), Math.floor(dims.height * devicePixelRatio));
147
-
148
141
  if (model.resizeCallback) {
149
142
  model.resizeCallback(dims);
150
143
  }
151
-
152
144
  model.renderWindow.render();
153
145
  };
154
-
155
- publicAPI.setResizeCallback = function (cb) {
146
+ publicAPI.setResizeCallback = cb => {
156
147
  model.resizeCallback = cb;
157
148
  publicAPI.resize();
158
149
  };
159
-
160
150
  if (model.listenWindowResize) {
161
151
  window.addEventListener('resize', publicAPI.resize);
162
152
  }
163
-
164
153
  publicAPI.resize();
165
- } // ----------------------------------------------------------------------------
154
+ }
155
+
156
+ // ----------------------------------------------------------------------------
166
157
  // Object factory
167
158
  // ----------------------------------------------------------------------------
168
159
 
169
-
170
- var DEFAULT_VALUES = {
160
+ const DEFAULT_VALUES = {
171
161
  background: [0.32, 0.34, 0.43],
172
162
  containerStyle: null,
173
163
  controlPanelStyle: null,
174
164
  listenWindowResize: true,
175
165
  resizeCallback: null,
176
166
  controllerVisibility: true
177
- }; // ----------------------------------------------------------------------------
167
+ };
168
+
169
+ // ----------------------------------------------------------------------------
178
170
 
179
171
  function extend(publicAPI, model) {
180
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
181
- Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods
172
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
173
+ Object.assign(model, DEFAULT_VALUES, initialValues);
182
174
 
175
+ // Object methods
183
176
  macro.obj(publicAPI, model);
184
- macro.get(publicAPI, model, ['renderWindow', 'renderer', 'apiSpecificRenderWindow', 'interactor', 'rootContainer', 'container', 'controlContainer']); // Object specific methods
177
+ macro.get(publicAPI, model, ['renderWindow', 'renderer', 'apiSpecificRenderWindow', 'interactor', 'rootContainer', 'container', 'controlContainer']);
185
178
 
179
+ // Object specific methods
186
180
  vtkFullScreenRenderWindow(publicAPI, model);
187
- } // ----------------------------------------------------------------------------
181
+ }
188
182
 
189
- var newInstance = macro.newInstance(extend); // ----------------------------------------------------------------------------
183
+ // ----------------------------------------------------------------------------
184
+
185
+ const newInstance = macro.newInstance(extend);
186
+
187
+ // ----------------------------------------------------------------------------
190
188
 
191
189
  var vtkFullScreenRenderWindow$1 = {
192
- newInstance: newInstance,
193
- extend: extend
190
+ newInstance,
191
+ extend
194
192
  };
195
193
 
196
194
  export { vtkFullScreenRenderWindow$1 as default, extend, newInstance };
@@ -1,5 +1,4 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkRenderWindow$1 from '../OpenGL/RenderWindow.js';
4
3
  import vtkRenderer from '../Core/Renderer.js';
5
4
  import vtkRenderWindow from '../Core/RenderWindow.js';
@@ -13,90 +12,102 @@ import '../Core/Mapper.js';
13
12
 
14
13
  function vtkGenericRenderWindow(publicAPI, model) {
15
14
  // Capture resize trigger method to remove from publicAPI
16
- var invokeResize = publicAPI.invokeResize;
17
- delete publicAPI.invokeResize; // VTK renderWindow/renderer
15
+ const invokeResize = publicAPI.invokeResize;
16
+ delete publicAPI.invokeResize;
18
17
 
18
+ // VTK renderWindow/renderer
19
19
  model.renderWindow = vtkRenderWindow.newInstance();
20
20
  model.renderer = vtkRenderer.newInstance();
21
- model.renderWindow.addRenderer(model.renderer); // OpenGLRenderWindow
21
+ model.renderWindow.addRenderer(model.renderer);
22
22
 
23
+ // OpenGLRenderWindow
23
24
  model._openGLRenderWindow = vtkRenderWindow$1.newInstance();
24
- model.renderWindow.addView(model._openGLRenderWindow); // Interactor
25
+ model.renderWindow.addView(model._openGLRenderWindow);
25
26
 
27
+ // Interactor
26
28
  model.interactor = vtkRenderWindowInteractor.newInstance();
27
29
  model.interactor.setInteractorStyle(vtkInteractorStyleTrackballCamera.newInstance());
28
30
  model.interactor.setView(model._openGLRenderWindow);
29
- model.interactor.initialize(); // Expose background
31
+ model.interactor.initialize();
30
32
 
31
- publicAPI.setBackground = model.renderer.setBackground; // Update BG color
33
+ // Expose background
34
+ publicAPI.setBackground = model.renderer.setBackground;
32
35
 
33
- publicAPI.setBackground.apply(publicAPI, _toConsumableArray(model.background)); // Handle window resize
36
+ // Update BG color
37
+ publicAPI.setBackground(...model.background);
34
38
 
35
- publicAPI.resize = function () {
39
+ // Handle window resize
40
+ publicAPI.resize = () => {
36
41
  if (model.container) {
37
- var dims = model.container.getBoundingClientRect();
38
- var devicePixelRatio = window.devicePixelRatio || 1;
39
-
42
+ const dims = model.container.getBoundingClientRect();
43
+ const devicePixelRatio = window.devicePixelRatio || 1;
40
44
  model._openGLRenderWindow.setSize(Math.floor(dims.width * devicePixelRatio), Math.floor(dims.height * devicePixelRatio));
41
-
42
45
  invokeResize();
43
46
  model.renderWindow.render();
44
47
  }
45
- }; // Handle DOM container relocation
46
-
48
+ };
47
49
 
48
- publicAPI.setContainer = function (el) {
50
+ // Handle DOM container relocation
51
+ publicAPI.setContainer = el => {
49
52
  if (model.container) {
50
53
  model.interactor.unbindEvents(model.container);
51
- } // Switch container
52
-
54
+ }
53
55
 
56
+ // Switch container
54
57
  model.container = el;
58
+ model._openGLRenderWindow.setContainer(model.container);
55
59
 
56
- model._openGLRenderWindow.setContainer(model.container); // Bind to new container
57
-
58
-
60
+ // Bind to new container
59
61
  if (model.container) {
60
62
  model.interactor.bindEvents(model.container);
61
63
  }
62
- }; // Properly release GL context
63
-
64
+ };
64
65
 
65
- publicAPI.delete = macro.chain(publicAPI.setContainer, model._openGLRenderWindow.delete, publicAPI.delete); // Handle size
66
+ // Properly release GL context
67
+ publicAPI.delete = macro.chain(publicAPI.setContainer, model._openGLRenderWindow.delete, publicAPI.delete);
66
68
 
69
+ // Handle size
67
70
  if (model.listenWindowResize) {
68
71
  window.addEventListener('resize', publicAPI.resize);
69
72
  }
70
-
71
73
  publicAPI.resize();
72
- } // ----------------------------------------------------------------------------
74
+ }
75
+
76
+ // ----------------------------------------------------------------------------
73
77
  // Object factory
74
78
  // ----------------------------------------------------------------------------
75
79
 
76
-
77
- var DEFAULT_VALUES = {
80
+ const DEFAULT_VALUES = {
78
81
  background: [0.32, 0.34, 0.43],
79
82
  listenWindowResize: true,
80
83
  container: null
81
- }; // ----------------------------------------------------------------------------
84
+ };
85
+
86
+ // ----------------------------------------------------------------------------
82
87
 
83
88
  function extend(publicAPI, model) {
84
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
85
- Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods
89
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
90
+ Object.assign(model, DEFAULT_VALUES, initialValues);
86
91
 
92
+ // Object methods
87
93
  macro.obj(publicAPI, model);
88
94
  macro.get(publicAPI, model, ['renderWindow', 'renderer', '_openGLRenderWindow', 'interactor', 'container']);
89
95
  macro.moveToProtected(publicAPI, model, ['openGLRenderWindow']);
90
- macro.event(publicAPI, model, 'resize'); // Object specific methods
96
+ macro.event(publicAPI, model, 'resize');
91
97
 
98
+ // Object specific methods
92
99
  vtkGenericRenderWindow(publicAPI, model);
93
- } // ----------------------------------------------------------------------------
100
+ }
94
101
 
95
- var newInstance = macro.newInstance(extend); // ----------------------------------------------------------------------------
102
+ // ----------------------------------------------------------------------------
103
+
104
+ const newInstance = macro.newInstance(extend);
105
+
106
+ // ----------------------------------------------------------------------------
96
107
 
97
108
  var vtkGenericRenderWindow$1 = {
98
- newInstance: newInstance,
99
- extend: extend
109
+ newInstance,
110
+ extend
100
111
  };
101
112
 
102
113
  export { vtkGenericRenderWindow$1 as default, extend, newInstance };