@kitware/vtk.js 28.10.1 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,60 +1,59 @@
1
1
  import { mat4, vec3 } from 'gl-matrix';
2
- import { newInstance as newInstance$1, get, setGet, getArray, setGetArray, moveToProtected, vtkDebugMacro as vtkDebugMacro$1, vtkErrorMacro as vtkErrorMacro$1, vtkWarningMacro as vtkWarningMacro$1 } from '../../macros.js';
2
+ import { n as newInstance$1, g as get, e as setGet, k as getArray, l as setGetArray, i as moveToProtected, c as macro } from '../../macros2.js';
3
3
  import vtkCamera from './Camera.js';
4
4
  import vtkLight from './Light.js';
5
- import { P as areBoundsInitialized, u as uninitializeBounds, r as radiansFromDegrees, d as dot, F as createUninitializedBounds } from '../../Common/Core/Math/index.js';
5
+ import { Q as areBoundsInitialized, u as uninitializeBounds, r as radiansFromDegrees, d as dot, F as createUninitializedBounds } from '../../Common/Core/Math/index.js';
6
6
  import vtkViewport from './Viewport.js';
7
7
  import vtkBoundingBox from '../../Common/DataModel/BoundingBox.js';
8
8
 
9
- var vtkDebugMacro = vtkDebugMacro$1,
10
- vtkErrorMacro = vtkErrorMacro$1,
11
- vtkWarningMacro = vtkWarningMacro$1;
12
-
9
+ const {
10
+ vtkDebugMacro,
11
+ vtkErrorMacro,
12
+ vtkWarningMacro
13
+ } = macro;
13
14
  function notImplemented(method) {
14
- return function () {
15
- return vtkErrorMacro("vtkRenderer::".concat(method, " - NOT IMPLEMENTED"));
16
- };
17
- } // ----------------------------------------------------------------------------
15
+ return () => vtkErrorMacro(`vtkRenderer::${method} - NOT IMPLEMENTED`);
16
+ }
17
+
18
+ // ----------------------------------------------------------------------------
18
19
  // vtkRenderer methods
19
20
  // ----------------------------------------------------------------------------
20
21
 
21
-
22
22
  function vtkRenderer(publicAPI, model) {
23
23
  // Set our className
24
- model.classHierarchy.push('vtkRenderer'); // Events
24
+ model.classHierarchy.push('vtkRenderer');
25
25
 
26
- var COMPUTE_VISIBLE_PROP_BOUNDS_EVENT = {
26
+ // Events
27
+ const COMPUTE_VISIBLE_PROP_BOUNDS_EVENT = {
27
28
  type: 'ComputeVisiblePropBoundsEvent',
28
29
  renderer: publicAPI
29
30
  };
30
- var RESET_CAMERA_CLIPPING_RANGE_EVENT = {
31
+ const RESET_CAMERA_CLIPPING_RANGE_EVENT = {
31
32
  type: 'ResetCameraClippingRangeEvent',
32
33
  renderer: publicAPI
33
34
  };
34
- var RESET_CAMERA_EVENT = {
35
+ const RESET_CAMERA_EVENT = {
35
36
  type: 'ResetCameraEvent',
36
37
  renderer: publicAPI
37
38
  };
38
-
39
- publicAPI.updateCamera = function () {
39
+ publicAPI.updateCamera = () => {
40
40
  if (!model.activeCamera) {
41
- vtkDebugMacro('No cameras are on, creating one.'); // the get method will automagically create a camera
41
+ vtkDebugMacro('No cameras are on, creating one.');
42
+ // the get method will automagically create a camera
42
43
  // and reset it since one hasn't been specified yet.
43
-
44
44
  publicAPI.getActiveCameraAndResetIfCreated();
45
- } // update the viewing transformation
46
-
45
+ }
47
46
 
47
+ // update the viewing transformation
48
48
  model.activeCamera.render(publicAPI);
49
49
  return true;
50
50
  };
51
-
52
- publicAPI.updateLightsGeometryToFollowCamera = function () {
51
+ publicAPI.updateLightsGeometryToFollowCamera = () => {
53
52
  // only update the light's geometry if this Renderer is tracking
54
53
  // this lights. That allows one renderer to view the lights that
55
54
  // another renderer is setting up.
56
- var camera = publicAPI.getActiveCameraAndResetIfCreated();
57
- model.lights.forEach(function (light) {
55
+ const camera = publicAPI.getActiveCameraAndResetIfCreated();
56
+ model.lights.forEach(light => {
58
57
  if (light.lightTypeIsSceneLight()) ; else if (light.lightTypeIsHeadLight()) {
59
58
  // update position and orientation of light to match camera.
60
59
  light.setPositionFrom(camera.getPositionByReference());
@@ -67,354 +66,302 @@ function vtkRenderer(publicAPI, model) {
67
66
  }
68
67
  });
69
68
  };
70
-
71
- publicAPI.updateLightGeometry = function () {
69
+ publicAPI.updateLightGeometry = () => {
72
70
  if (model.lightFollowCamera) {
73
71
  // only update the light's geometry if this Renderer is tracking
74
72
  // this lights. That allows one renderer to view the lights that
75
73
  // another renderer is setting up.
76
74
  return publicAPI.updateLightsGeometryToFollowCamera();
77
75
  }
78
-
79
76
  return true;
80
77
  };
81
-
82
78
  publicAPI.allocateTime = notImplemented('allocateTime');
83
79
  publicAPI.updateGeometry = notImplemented('updateGeometry');
84
-
85
- publicAPI.getVTKWindow = function () {
86
- return model._renderWindow;
87
- };
88
-
89
- publicAPI.setLayer = function (layer) {
80
+ publicAPI.getVTKWindow = () => model._renderWindow;
81
+ publicAPI.setLayer = layer => {
90
82
  vtkDebugMacro(publicAPI.getClassName(), publicAPI, 'setting Layer to ', layer);
91
-
92
83
  if (model.layer !== layer) {
93
84
  model.layer = layer;
94
85
  publicAPI.modified();
95
86
  }
96
-
97
87
  publicAPI.setPreserveColorBuffer(!!layer);
98
88
  };
99
-
100
- publicAPI.setActiveCamera = function (camera) {
89
+ publicAPI.setActiveCamera = camera => {
101
90
  if (model.activeCamera === camera) {
102
91
  return false;
103
92
  }
104
-
105
93
  model.activeCamera = camera;
106
94
  publicAPI.modified();
107
95
  publicAPI.invokeEvent({
108
96
  type: 'ActiveCameraEvent',
109
- camera: camera
97
+ camera
110
98
  });
111
99
  return true;
112
100
  };
113
-
114
- publicAPI.makeCamera = function () {
115
- var camera = vtkCamera.newInstance();
101
+ publicAPI.makeCamera = () => {
102
+ const camera = vtkCamera.newInstance();
116
103
  publicAPI.invokeEvent({
117
104
  type: 'CreateCameraEvent',
118
- camera: camera
105
+ camera
119
106
  });
120
107
  return camera;
121
- }; // Replace the set/get macro method
122
-
108
+ };
123
109
 
124
- publicAPI.getActiveCamera = function () {
110
+ // Replace the set/get macro method
111
+ publicAPI.getActiveCamera = () => {
125
112
  if (!model.activeCamera) {
126
113
  model.activeCamera = publicAPI.makeCamera();
127
114
  }
128
-
129
115
  return model.activeCamera;
130
116
  };
131
-
132
- publicAPI.getActiveCameraAndResetIfCreated = function () {
117
+ publicAPI.getActiveCameraAndResetIfCreated = () => {
133
118
  if (!model.activeCamera) {
134
119
  publicAPI.getActiveCamera();
135
120
  publicAPI.resetCamera();
136
121
  }
137
-
138
122
  return model.activeCamera;
139
123
  };
140
-
141
- publicAPI.getActors = function () {
124
+ publicAPI.getActors = () => {
142
125
  model.actors = [];
143
- model.props.forEach(function (prop) {
126
+ model.props.forEach(prop => {
144
127
  model.actors = model.actors.concat(prop.getActors());
145
128
  });
146
129
  return model.actors;
147
130
  };
148
-
149
131
  publicAPI.addActor = publicAPI.addViewProp;
150
-
151
- publicAPI.removeActor = function (actor) {
152
- model.actors = model.actors.filter(function (a) {
153
- return a !== actor;
154
- });
132
+ publicAPI.removeActor = actor => {
133
+ model.actors = model.actors.filter(a => a !== actor);
155
134
  publicAPI.removeViewProp(actor);
156
135
  publicAPI.modified();
157
136
  };
158
-
159
- publicAPI.removeAllActors = function () {
160
- var actors = publicAPI.getActors();
161
- actors.forEach(function (actor) {
137
+ publicAPI.removeAllActors = () => {
138
+ const actors = publicAPI.getActors();
139
+ actors.forEach(actor => {
162
140
  publicAPI.removeViewProp(actor);
163
141
  });
164
142
  model.actors = [];
165
143
  publicAPI.modified();
166
144
  };
167
-
168
- publicAPI.getVolumes = function () {
145
+ publicAPI.getVolumes = () => {
169
146
  model.volumes = [];
170
- model.props.forEach(function (prop) {
147
+ model.props.forEach(prop => {
171
148
  model.volumes = model.volumes.concat(prop.getVolumes());
172
149
  });
173
150
  return model.volumes;
174
151
  };
175
-
176
152
  publicAPI.addVolume = publicAPI.addViewProp;
177
-
178
- publicAPI.removeVolume = function (volume) {
179
- model.volumes = model.volumes.filter(function (v) {
180
- return v !== volume;
181
- });
153
+ publicAPI.removeVolume = volume => {
154
+ model.volumes = model.volumes.filter(v => v !== volume);
182
155
  publicAPI.removeViewProp(volume);
183
156
  publicAPI.modified();
184
157
  };
185
-
186
- publicAPI.removeAllVolumes = function () {
187
- var volumes = publicAPI.getVolumes();
188
- volumes.forEach(function (volume) {
158
+ publicAPI.removeAllVolumes = () => {
159
+ const volumes = publicAPI.getVolumes();
160
+ volumes.forEach(volume => {
189
161
  publicAPI.removeViewProp(volume);
190
162
  });
191
163
  model.volumes = [];
192
164
  publicAPI.modified();
193
165
  };
194
-
195
- publicAPI.hasLight = function (light) {
196
- return model.lights.includes(light);
197
- };
198
-
199
- publicAPI.addLight = function (light) {
166
+ publicAPI.hasLight = light => model.lights.includes(light);
167
+ publicAPI.addLight = light => {
200
168
  if (light && !publicAPI.hasLight(light)) {
201
169
  model.lights.push(light);
202
170
  publicAPI.modified();
203
171
  }
204
172
  };
205
-
206
- publicAPI.removeLight = function (light) {
207
- model.lights = model.lights.filter(function (l) {
208
- return l !== light;
209
- });
173
+ publicAPI.removeLight = light => {
174
+ model.lights = model.lights.filter(l => l !== light);
210
175
  publicAPI.modified();
211
176
  };
212
-
213
- publicAPI.removeAllLights = function () {
177
+ publicAPI.removeAllLights = () => {
214
178
  model.lights = [];
215
179
  publicAPI.modified();
216
180
  };
217
-
218
- publicAPI.setLightCollection = function (lights) {
181
+ publicAPI.setLightCollection = lights => {
219
182
  model.lights = lights;
220
183
  publicAPI.modified();
221
184
  };
222
-
223
185
  publicAPI.makeLight = vtkLight.newInstance;
224
-
225
- publicAPI.createLight = function () {
186
+ publicAPI.createLight = () => {
226
187
  if (!model.automaticLightCreation) {
227
188
  return;
228
189
  }
229
-
230
190
  if (model._createdLight) {
231
191
  publicAPI.removeLight(model._createdLight);
232
-
233
192
  model._createdLight.delete();
234
-
235
193
  model._createdLight = null;
236
194
  }
237
-
238
195
  model._createdLight = publicAPI.makeLight();
239
196
  publicAPI.addLight(model._createdLight);
197
+ model._createdLight.setLightTypeToHeadLight();
240
198
 
241
- model._createdLight.setLightTypeToHeadLight(); // set these values just to have a good default should LightFollowCamera
199
+ // set these values just to have a good default should LightFollowCamera
242
200
  // be turned off.
243
-
244
-
245
201
  model._createdLight.setPosition(publicAPI.getActiveCamera().getPosition());
246
-
247
202
  model._createdLight.setFocalPoint(publicAPI.getActiveCamera().getFocalPoint());
248
- }; // requires the aspect ratio of the viewport as X/Y
249
-
203
+ };
250
204
 
251
- publicAPI.normalizedDisplayToWorld = function (x, y, z, aspect) {
252
- var vpd = publicAPI.normalizedDisplayToProjection(x, y, z);
205
+ // requires the aspect ratio of the viewport as X/Y
206
+ publicAPI.normalizedDisplayToWorld = (x, y, z, aspect) => {
207
+ let vpd = publicAPI.normalizedDisplayToProjection(x, y, z);
253
208
  vpd = publicAPI.projectionToView(vpd[0], vpd[1], vpd[2], aspect);
254
209
  return publicAPI.viewToWorld(vpd[0], vpd[1], vpd[2]);
255
- }; // requires the aspect ratio of the viewport as X/Y
256
-
210
+ };
257
211
 
258
- publicAPI.worldToNormalizedDisplay = function (x, y, z, aspect) {
259
- var vpd = publicAPI.worldToView(x, y, z);
212
+ // requires the aspect ratio of the viewport as X/Y
213
+ publicAPI.worldToNormalizedDisplay = (x, y, z, aspect) => {
214
+ let vpd = publicAPI.worldToView(x, y, z);
260
215
  vpd = publicAPI.viewToProjection(vpd[0], vpd[1], vpd[2], aspect);
261
216
  return publicAPI.projectionToNormalizedDisplay(vpd[0], vpd[1], vpd[2]);
262
- }; // requires the aspect ratio of the viewport as X/Y
263
-
217
+ };
264
218
 
265
- publicAPI.viewToWorld = function (x, y, z) {
219
+ // requires the aspect ratio of the viewport as X/Y
220
+ publicAPI.viewToWorld = (x, y, z) => {
266
221
  if (model.activeCamera === null) {
267
222
  vtkErrorMacro('ViewToWorld: no active camera, cannot compute view to world, returning 0,0,0');
268
223
  return [0, 0, 0];
269
- } // get the view matrix from the active camera
270
-
224
+ }
271
225
 
272
- var matrix = model.activeCamera.getViewMatrix();
226
+ // get the view matrix from the active camera
227
+ const matrix = model.activeCamera.getViewMatrix();
273
228
  mat4.invert(matrix, matrix);
274
- mat4.transpose(matrix, matrix); // Transform point to world coordinates
229
+ mat4.transpose(matrix, matrix);
275
230
 
276
- var result = new Float64Array([x, y, z]);
231
+ // Transform point to world coordinates
232
+ const result = new Float64Array([x, y, z]);
277
233
  vec3.transformMat4(result, result, matrix);
278
234
  return result;
279
235
  };
280
-
281
- publicAPI.projectionToView = function (x, y, z, aspect) {
236
+ publicAPI.projectionToView = (x, y, z, aspect) => {
282
237
  if (model.activeCamera === null) {
283
238
  vtkErrorMacro('ProjectionToView: no active camera, cannot compute projection to view, returning 0,0,0');
284
239
  return [0, 0, 0];
285
- } // get the projection transformation from the active camera
286
-
240
+ }
287
241
 
288
- var matrix = model.activeCamera.getProjectionMatrix(aspect, -1.0, 1.0);
242
+ // get the projection transformation from the active camera
243
+ const matrix = model.activeCamera.getProjectionMatrix(aspect, -1.0, 1.0);
289
244
  mat4.invert(matrix, matrix);
290
- mat4.transpose(matrix, matrix); // Transform point to world coordinates
245
+ mat4.transpose(matrix, matrix);
291
246
 
292
- var result = new Float64Array([x, y, z]);
247
+ // Transform point to world coordinates
248
+ const result = new Float64Array([x, y, z]);
293
249
  vec3.transformMat4(result, result, matrix);
294
250
  return result;
295
- }; // Convert world point coordinates to view coordinates.
296
-
251
+ };
297
252
 
298
- publicAPI.worldToView = function (x, y, z) {
253
+ // Convert world point coordinates to view coordinates.
254
+ publicAPI.worldToView = (x, y, z) => {
299
255
  if (model.activeCamera === null) {
300
256
  vtkErrorMacro('WorldToView: no active camera, cannot compute view to world, returning 0,0,0');
301
257
  return [0, 0, 0];
302
- } // get the view transformation from the active camera
303
-
258
+ }
304
259
 
305
- var matrix = model.activeCamera.getViewMatrix();
260
+ // get the view transformation from the active camera
261
+ const matrix = model.activeCamera.getViewMatrix();
306
262
  mat4.transpose(matrix, matrix);
307
- var result = new Float64Array([x, y, z]);
263
+ const result = new Float64Array([x, y, z]);
308
264
  vec3.transformMat4(result, result, matrix);
309
265
  return result;
310
- }; // Convert world point coordinates to view coordinates.
311
- // requires the aspect ratio of the viewport as X/Y
312
-
266
+ };
313
267
 
314
- publicAPI.viewToProjection = function (x, y, z, aspect) {
268
+ // Convert world point coordinates to view coordinates.
269
+ // requires the aspect ratio of the viewport as X/Y
270
+ publicAPI.viewToProjection = (x, y, z, aspect) => {
315
271
  if (model.activeCamera === null) {
316
272
  vtkErrorMacro('ViewToProjection: no active camera, cannot compute view to projection, returning 0,0,0');
317
273
  return [0, 0, 0];
318
- } // get the projeciton transformation from the active camera
319
-
274
+ }
320
275
 
321
- var matrix = model.activeCamera.getProjectionMatrix(aspect, -1.0, 1.0);
276
+ // get the projeciton transformation from the active camera
277
+ const matrix = model.activeCamera.getProjectionMatrix(aspect, -1.0, 1.0);
322
278
  mat4.transpose(matrix, matrix);
323
- var result = new Float64Array([x, y, z]);
279
+ const result = new Float64Array([x, y, z]);
324
280
  vec3.transformMat4(result, result, matrix);
325
281
  return result;
326
282
  };
327
-
328
- publicAPI.computeVisiblePropBounds = function () {
283
+ publicAPI.computeVisiblePropBounds = () => {
329
284
  model.allBounds[0] = vtkBoundingBox.INIT_BOUNDS[0];
330
285
  model.allBounds[1] = vtkBoundingBox.INIT_BOUNDS[1];
331
286
  model.allBounds[2] = vtkBoundingBox.INIT_BOUNDS[2];
332
287
  model.allBounds[3] = vtkBoundingBox.INIT_BOUNDS[3];
333
288
  model.allBounds[4] = vtkBoundingBox.INIT_BOUNDS[4];
334
289
  model.allBounds[5] = vtkBoundingBox.INIT_BOUNDS[5];
335
- var nothingVisible = true;
336
- publicAPI.invokeEvent(COMPUTE_VISIBLE_PROP_BOUNDS_EVENT); // loop through all props
337
-
338
- for (var index = 0; index < model.props.length; ++index) {
339
- var prop = model.props[index];
290
+ let nothingVisible = true;
291
+ publicAPI.invokeEvent(COMPUTE_VISIBLE_PROP_BOUNDS_EVENT);
340
292
 
293
+ // loop through all props
294
+ for (let index = 0; index < model.props.length; ++index) {
295
+ const prop = model.props[index];
341
296
  if (prop.getVisibility() && prop.getUseBounds()) {
342
- var bounds = prop.getBounds();
343
-
297
+ const bounds = prop.getBounds();
344
298
  if (bounds && areBoundsInitialized(bounds)) {
345
299
  nothingVisible = false;
346
-
347
300
  if (bounds[0] < model.allBounds[0]) {
348
301
  model.allBounds[0] = bounds[0];
349
302
  }
350
-
351
303
  if (bounds[1] > model.allBounds[1]) {
352
304
  model.allBounds[1] = bounds[1];
353
305
  }
354
-
355
306
  if (bounds[2] < model.allBounds[2]) {
356
307
  model.allBounds[2] = bounds[2];
357
308
  }
358
-
359
309
  if (bounds[3] > model.allBounds[3]) {
360
310
  model.allBounds[3] = bounds[3];
361
311
  }
362
-
363
312
  if (bounds[4] < model.allBounds[4]) {
364
313
  model.allBounds[4] = bounds[4];
365
314
  }
366
-
367
315
  if (bounds[5] > model.allBounds[5]) {
368
316
  model.allBounds[5] = bounds[5];
369
317
  }
370
318
  }
371
319
  }
372
320
  }
373
-
374
321
  if (nothingVisible) {
375
322
  uninitializeBounds(model.allBounds);
376
323
  vtkDebugMacro("Can't compute bounds, no 3D props are visible");
377
324
  }
378
-
379
325
  return model.allBounds;
380
326
  };
381
-
382
327
  publicAPI.resetCamera = function () {
383
- var bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
384
- var boundsToUse = bounds || publicAPI.computeVisiblePropBounds();
385
- var center = [0, 0, 0];
386
-
328
+ let bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
329
+ const boundsToUse = bounds || publicAPI.computeVisiblePropBounds();
330
+ const center = [0, 0, 0];
387
331
  if (!areBoundsInitialized(boundsToUse)) {
388
332
  vtkDebugMacro('Cannot reset camera!');
389
333
  return false;
390
334
  }
391
-
392
- var vn = null;
393
-
335
+ let vn = null;
394
336
  if (publicAPI.getActiveCamera()) {
395
337
  vn = model.activeCamera.getViewPlaneNormal();
396
338
  } else {
397
339
  vtkErrorMacro('Trying to reset non-existent camera');
398
340
  return false;
399
- } // Reset the perspective zoom factors, otherwise subsequent zooms will cause
400
- // the view angle to become very small and cause bad depth sorting.
401
-
341
+ }
402
342
 
343
+ // Reset the perspective zoom factors, otherwise subsequent zooms will cause
344
+ // the view angle to become very small and cause bad depth sorting.
403
345
  model.activeCamera.setViewAngle(30.0);
404
346
  center[0] = (boundsToUse[0] + boundsToUse[1]) / 2.0;
405
347
  center[1] = (boundsToUse[2] + boundsToUse[3]) / 2.0;
406
348
  center[2] = (boundsToUse[4] + boundsToUse[5]) / 2.0;
407
- var w1 = boundsToUse[1] - boundsToUse[0];
408
- var w2 = boundsToUse[3] - boundsToUse[2];
409
- var w3 = boundsToUse[5] - boundsToUse[4];
349
+ let w1 = boundsToUse[1] - boundsToUse[0];
350
+ let w2 = boundsToUse[3] - boundsToUse[2];
351
+ let w3 = boundsToUse[5] - boundsToUse[4];
410
352
  w1 *= w1;
411
353
  w2 *= w2;
412
354
  w3 *= w3;
413
- var radius = w1 + w2 + w3; // If we have just a single point, pick a radius of 1.0
355
+ let radius = w1 + w2 + w3;
356
+
357
+ // If we have just a single point, pick a radius of 1.0
358
+ radius = radius === 0 ? 1.0 : radius;
414
359
 
415
- radius = radius === 0 ? 1.0 : radius; // compute the radius of the enclosing sphere
360
+ // compute the radius of the enclosing sphere
361
+ radius = Math.sqrt(radius) * 0.5;
362
+
363
+ // default so that the bounding sphere fits within the view fustrum
416
364
 
417
- radius = Math.sqrt(radius) * 0.5; // default so that the bounding sphere fits within the view fustrum
418
365
  // compute the distance from the intersection of the view frustum with the
419
366
  // bounding sphere. Basically in 2D draw a circle representing the bounding
420
367
  // sphere in 2D then draw a horizontal line going out from the center of
@@ -426,145 +373,128 @@ function vtkRenderer(publicAPI, model) {
426
373
  // this forms a right triangle with one side being the radius, another being
427
374
  // the target distance for the camera, then just find the target dist using
428
375
  // a sin.
376
+ const angle = radiansFromDegrees(model.activeCamera.getViewAngle());
377
+ const parallelScale = radius;
378
+ const distance = radius / Math.sin(angle * 0.5);
429
379
 
430
- var angle = radiansFromDegrees(model.activeCamera.getViewAngle());
431
- var parallelScale = radius;
432
- var distance = radius / Math.sin(angle * 0.5); // check view-up vector against view plane normal
433
-
434
- var vup = model.activeCamera.getViewUp();
435
-
380
+ // check view-up vector against view plane normal
381
+ const vup = model.activeCamera.getViewUp();
436
382
  if (Math.abs(dot(vup, vn)) > 0.999) {
437
383
  vtkWarningMacro('Resetting view-up since view plane normal is parallel');
438
384
  model.activeCamera.setViewUp(-vup[2], vup[0], vup[1]);
439
- } // update the camera
440
-
385
+ }
441
386
 
387
+ // update the camera
442
388
  model.activeCamera.setFocalPoint(center[0], center[1], center[2]);
443
389
  model.activeCamera.setPosition(center[0] + distance * vn[0], center[1] + distance * vn[1], center[2] + distance * vn[2]);
444
- publicAPI.resetCameraClippingRange(boundsToUse); // setup default parallel scale
390
+ publicAPI.resetCameraClippingRange(boundsToUse);
445
391
 
446
- model.activeCamera.setParallelScale(parallelScale); // update reasonable world to physical values
392
+ // setup default parallel scale
393
+ model.activeCamera.setParallelScale(parallelScale);
447
394
 
395
+ // update reasonable world to physical values
448
396
  model.activeCamera.setPhysicalScale(radius);
449
- model.activeCamera.setPhysicalTranslation(-center[0], -center[1], -center[2]); // Here to let parallel/distributed compositing intercept
450
- // and do the right thing.
397
+ model.activeCamera.setPhysicalTranslation(-center[0], -center[1], -center[2]);
451
398
 
399
+ // Here to let parallel/distributed compositing intercept
400
+ // and do the right thing.
452
401
  publicAPI.invokeEvent(RESET_CAMERA_EVENT);
453
402
  return true;
454
403
  };
455
-
456
404
  publicAPI.resetCameraClippingRange = function () {
457
- var bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
458
- var boundsToUse = bounds || publicAPI.computeVisiblePropBounds();
459
-
405
+ let bounds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
406
+ const boundsToUse = bounds || publicAPI.computeVisiblePropBounds();
460
407
  if (!areBoundsInitialized(boundsToUse)) {
461
408
  vtkDebugMacro('Cannot reset camera clipping range!');
462
409
  return false;
463
- } // Make sure we have an active camera
464
-
410
+ }
465
411
 
412
+ // Make sure we have an active camera
466
413
  publicAPI.getActiveCameraAndResetIfCreated();
467
-
468
414
  if (!model.activeCamera) {
469
415
  vtkErrorMacro('Trying to reset clipping range of non-existent camera');
470
416
  return false;
471
- } // Get the exact range for the bounds
417
+ }
472
418
 
419
+ // Get the exact range for the bounds
420
+ const range = model.activeCamera.computeClippingRange(boundsToUse);
473
421
 
474
- var range = model.activeCamera.computeClippingRange(boundsToUse); // do not let far - near be less than 0.1 of the window height
422
+ // do not let far - near be less than 0.1 of the window height
475
423
  // this is for cases such as 2D images which may have zero range
476
-
477
- var minGap = 0.0;
478
-
424
+ let minGap = 0.0;
479
425
  if (model.activeCamera.getParallelProjection()) {
480
426
  minGap = 0.2 * model.activeCamera.getParallelScale();
481
427
  } else {
482
- var angle = radiansFromDegrees(model.activeCamera.getViewAngle());
428
+ const angle = radiansFromDegrees(model.activeCamera.getViewAngle());
483
429
  minGap = 0.2 * Math.tan(angle / 2.0) * range[1];
484
430
  }
485
-
486
431
  if (range[1] - range[0] < minGap) {
487
432
  minGap = minGap - range[1] + range[0];
488
433
  range[1] += minGap / 2.0;
489
434
  range[0] -= minGap / 2.0;
490
- } // Do not let the range behind the camera throw off the calculation.
491
-
435
+ }
492
436
 
437
+ // Do not let the range behind the camera throw off the calculation.
493
438
  if (range[0] < 0.0) {
494
439
  range[0] = 0.0;
495
- } // Give ourselves a little breathing room
496
-
440
+ }
497
441
 
442
+ // Give ourselves a little breathing room
498
443
  range[0] = 0.99 * range[0] - (range[1] - range[0]) * model.clippingRangeExpansion;
499
- range[1] = 1.01 * range[1] + (range[1] - range[0]) * model.clippingRangeExpansion; // Make sure near is not bigger than far
444
+ range[1] = 1.01 * range[1] + (range[1] - range[0]) * model.clippingRangeExpansion;
445
+
446
+ // Make sure near is not bigger than far
447
+ range[0] = range[0] >= range[1] ? 0.01 * range[1] : range[0];
500
448
 
501
- range[0] = range[0] >= range[1] ? 0.01 * range[1] : range[0]; // Make sure near is at least some fraction of far - this prevents near
449
+ // Make sure near is at least some fraction of far - this prevents near
502
450
  // from being behind the camera or too close in front. How close is too
503
451
  // close depends on the resolution of the depth buffer
504
-
505
452
  if (!model.nearClippingPlaneTolerance) {
506
453
  model.nearClippingPlaneTolerance = 0.01;
507
- } // make sure the front clipping range is not too far from the far clippnig
454
+ }
455
+
456
+ // make sure the front clipping range is not too far from the far clippnig
508
457
  // range, this is to make sure that the zbuffer resolution is effectively
509
458
  // used
510
-
511
-
512
459
  if (range[0] < model.nearClippingPlaneTolerance * range[1]) {
513
460
  range[0] = model.nearClippingPlaneTolerance * range[1];
514
461
  }
462
+ model.activeCamera.setClippingRange(range[0], range[1]);
515
463
 
516
- model.activeCamera.setClippingRange(range[0], range[1]); // Here to let parallel/distributed compositing intercept
464
+ // Here to let parallel/distributed compositing intercept
517
465
  // and do the right thing.
518
-
519
466
  publicAPI.invokeEvent(RESET_CAMERA_CLIPPING_RANGE_EVENT);
520
467
  return false;
521
468
  };
522
-
523
- publicAPI.setRenderWindow = function (renderWindow) {
469
+ publicAPI.setRenderWindow = renderWindow => {
524
470
  if (renderWindow !== model._renderWindow) {
525
471
  model._vtkWindow = renderWindow;
526
472
  model._renderWindow = renderWindow;
527
473
  }
528
474
  };
529
-
530
- publicAPI.visibleActorCount = function () {
531
- return model.props.filter(function (prop) {
532
- return prop.getVisibility();
533
- }).length;
534
- };
535
-
475
+ publicAPI.visibleActorCount = () => model.props.filter(prop => prop.getVisibility()).length;
536
476
  publicAPI.visibleVolumeCount = publicAPI.visibleActorCount;
537
-
538
- publicAPI.getMTime = function () {
539
- var m1 = model.mtime;
540
- var m2 = model.activeCamera ? model.activeCamera.getMTime() : 0;
541
-
477
+ publicAPI.getMTime = () => {
478
+ let m1 = model.mtime;
479
+ const m2 = model.activeCamera ? model.activeCamera.getMTime() : 0;
542
480
  if (m2 > m1) {
543
481
  m1 = m2;
544
482
  }
545
-
546
- var m3 = model._createdLight ? model._createdLight.getMTime() : 0;
547
-
483
+ const m3 = model._createdLight ? model._createdLight.getMTime() : 0;
548
484
  if (m3 > m1) {
549
485
  m1 = m3;
550
486
  }
551
-
552
487
  return m1;
553
488
  };
489
+ publicAPI.getTransparent = () => !!model.preserveColorBuffer;
490
+ publicAPI.isActiveCameraCreated = () => !!model.activeCamera;
491
+ }
554
492
 
555
- publicAPI.getTransparent = function () {
556
- return !!model.preserveColorBuffer;
557
- };
558
-
559
- publicAPI.isActiveCameraCreated = function () {
560
- return !!model.activeCamera;
561
- };
562
- } // ----------------------------------------------------------------------------
493
+ // ----------------------------------------------------------------------------
563
494
  // Object factory
564
495
  // ----------------------------------------------------------------------------
565
496
 
566
-
567
- var DEFAULT_VALUES = {
497
+ const DEFAULT_VALUES = {
568
498
  pickedProp: null,
569
499
  activeCamera: null,
570
500
  allBounds: [],
@@ -604,36 +534,42 @@ var DEFAULT_VALUES = {
604
534
  environmentTextureSpecularStrength: 1,
605
535
  useEnvironmentTextureAsBackground: false,
606
536
  pass: 0
607
- }; // ----------------------------------------------------------------------------
537
+ };
538
+
539
+ // ----------------------------------------------------------------------------
608
540
 
609
541
  function extend(publicAPI, model) {
610
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
611
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
542
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
543
+ Object.assign(model, DEFAULT_VALUES, initialValues);
612
544
 
613
- vtkViewport.extend(publicAPI, model, initialValues); // make sure background has 4 entries. Default to opaque black
545
+ // Inheritance
546
+ vtkViewport.extend(publicAPI, model, initialValues);
614
547
 
548
+ // make sure background has 4 entries. Default to opaque black
615
549
  if (!model.background) model.background = [0, 0, 0, 1];
550
+ while (model.background.length < 3) model.background.push(0);
551
+ if (model.background.length === 3) model.background.push(1);
616
552
 
617
- while (model.background.length < 3) {
618
- model.background.push(0);
619
- }
620
-
621
- if (model.background.length === 3) model.background.push(1); // Build VTK API
622
-
553
+ // Build VTK API
623
554
  get(publicAPI, model, ['_renderWindow', 'allocatedRenderTime', 'timeFactor', 'lastRenderTimeInSeconds', 'numberOfPropsRendered', 'lastRenderingUsedDepthPeeling', 'selector']);
624
555
  setGet(publicAPI, model, ['twoSidedLighting', 'lightFollowCamera', 'automaticLightCreation', 'erase', 'draw', 'nearClippingPlaneTolerance', 'clippingRangeExpansion', 'backingStore', 'interactive', 'layer', 'preserveColorBuffer', 'preserveDepthBuffer', 'useDepthPeeling', 'occlusionRatio', 'maximumNumberOfPeels', 'delegate', 'backgroundTexture', 'texturedBackground', 'environmentTexture', 'environmentTextureDiffuseStrength', 'environmentTextureSpecularStrength', 'useEnvironmentTextureAsBackground', 'useShadows', 'pass']);
625
556
  getArray(publicAPI, model, ['actors', 'volumes', 'lights']);
626
557
  setGetArray(publicAPI, model, ['background'], 4, 1.0);
627
- moveToProtected(publicAPI, model, ['renderWindow']); // Object methods
558
+ moveToProtected(publicAPI, model, ['renderWindow']);
628
559
 
560
+ // Object methods
629
561
  vtkRenderer(publicAPI, model);
630
- } // ----------------------------------------------------------------------------
562
+ }
631
563
 
632
- var newInstance = newInstance$1(extend, 'vtkRenderer'); // ----------------------------------------------------------------------------
564
+ // ----------------------------------------------------------------------------
565
+
566
+ const newInstance = newInstance$1(extend, 'vtkRenderer');
567
+
568
+ // ----------------------------------------------------------------------------
633
569
 
634
570
  var vtkRenderer$1 = {
635
- newInstance: newInstance,
636
- extend: extend
571
+ newInstance,
572
+ extend
637
573
  };
638
574
 
639
575
  export { vtkRenderer$1 as default, extend, newInstance };