@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,592 +1,471 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkShader from './Shader.js';
3
3
 
4
- var vtkErrorMacro = macro.vtkErrorMacro; // perform in place string substitutions, indicate if a substitution was done
4
+ const {
5
+ vtkErrorMacro
6
+ } = macro;
7
+
8
+ // perform in place string substitutions, indicate if a substitution was done
5
9
  // this is useful for building up shader strings which typically involve
6
10
  // lots of string substitutions. Return true if a substitution was done.
7
-
8
11
  function substitute(source, search, replace, all) {
9
12
  // We only accept strings or array of strings, typeof is faster than Array.isArray
10
- var replaceStr = typeof replace === 'string' ? replace : replace.join('\n'); // We don't need to instantiate a RegExp if we don't want a global substitution.
13
+ const replaceStr = typeof replace === 'string' ? replace : replace.join('\n');
14
+
15
+ // We don't need to instantiate a RegExp if we don't want a global substitution.
11
16
  // In all other cases, we need to take the provided string or RegExp and
12
17
  // instantiate a new one to add the `g` flag.
13
18
  // Argument defaults are transpiled to slow `arguments`-based operations
14
19
  // better assume undefined as flag to know if the value is set or not
15
-
16
- var replaceSearch = all === false ? search : new RegExp(search, 'g');
17
- var resultstr = source.replace(replaceSearch, replaceStr);
20
+ const replaceSearch = all === false ? search : new RegExp(search, 'g');
21
+ const resultstr = source.replace(replaceSearch, replaceStr);
18
22
  return {
19
23
  // If the result is different than the input, we did perform a replacement
20
24
  replace: resultstr !== replaceStr,
21
25
  result: resultstr
22
26
  };
23
- } // ----------------------------------------------------------------------------
27
+ }
28
+
29
+ // ----------------------------------------------------------------------------
24
30
  // vtkShaderProgram methods
25
31
  // ----------------------------------------------------------------------------
26
32
 
27
33
  function vtkShaderProgram(publicAPI, model) {
28
34
  // Set our className
29
35
  model.classHierarchy.push('vtkShaderProgram');
30
-
31
- publicAPI.compileShader = function () {
36
+ publicAPI.compileShader = () => {
32
37
  if (!model.vertexShader.compile()) {
33
- vtkErrorMacro(model.vertexShader.getSource().split('\n').map(function (line, index) {
34
- return "".concat(index, ": ").concat(line);
35
- }).join('\n'));
38
+ vtkErrorMacro(model.vertexShader.getSource().split('\n').map((line, index) => `${index}: ${line}`).join('\n'));
36
39
  vtkErrorMacro(model.vertexShader.getError());
37
40
  return 0;
38
41
  }
39
-
40
42
  if (!model.fragmentShader.compile()) {
41
- vtkErrorMacro(model.fragmentShader.getSource().split('\n').map(function (line, index) {
42
- return "".concat(index, ": ").concat(line);
43
- }).join('\n'));
43
+ vtkErrorMacro(model.fragmentShader.getSource().split('\n').map((line, index) => `${index}: ${line}`).join('\n'));
44
44
  vtkErrorMacro(model.fragmentShader.getError());
45
45
  return 0;
46
- } // skip geometry for now
47
-
48
-
46
+ }
47
+ // skip geometry for now
49
48
  if (!publicAPI.attachShader(model.vertexShader)) {
50
49
  vtkErrorMacro(model.error);
51
50
  return 0;
52
51
  }
53
-
54
52
  if (!publicAPI.attachShader(model.fragmentShader)) {
55
53
  vtkErrorMacro(model.error);
56
54
  return 0;
57
55
  }
58
-
59
56
  if (!publicAPI.link()) {
60
- vtkErrorMacro("Links failed: ".concat(model.error));
57
+ vtkErrorMacro(`Links failed: ${model.error}`);
61
58
  return 0;
62
59
  }
63
-
64
60
  publicAPI.setCompiled(true);
65
61
  return 1;
66
62
  };
67
-
68
- publicAPI.cleanup = function () {
63
+ publicAPI.cleanup = () => {
69
64
  if (model.shaderType === 'Unknown' || model.handle === 0) {
70
65
  return;
71
66
  }
72
-
73
67
  model.context.deleteShader(model.handle);
74
68
  model.handle = 0;
75
69
  };
76
-
77
- publicAPI.bind = function () {
70
+ publicAPI.bind = () => {
78
71
  if (!model.linked && !publicAPI.link()) {
79
72
  return false;
80
73
  }
81
-
82
74
  model.context.useProgram(model.handle);
83
75
  publicAPI.setBound(true);
84
76
  return true;
85
77
  };
86
-
87
- publicAPI.isBound = function () {
88
- return !!model.bound;
89
- };
90
-
91
- publicAPI.release = function () {
78
+ publicAPI.isBound = () => !!model.bound;
79
+ publicAPI.release = () => {
92
80
  model.context.useProgram(null);
93
81
  publicAPI.setBound(false);
94
82
  };
95
-
96
- publicAPI.setContext = function (ctx) {
83
+ publicAPI.setContext = ctx => {
97
84
  model.vertexShader.setContext(ctx);
98
85
  model.fragmentShader.setContext(ctx);
99
86
  model.geometryShader.setContext(ctx);
100
87
  };
101
-
102
- publicAPI.link = function () {
88
+ publicAPI.link = () => {
103
89
  if (model.linked) {
104
90
  return true;
105
91
  }
106
-
107
92
  if (model.handle === 0) {
108
93
  model.error = 'Program has not been initialized, and/or does not have shaders.';
109
94
  return false;
110
- } // clear out the list of uniforms used
111
-
95
+ }
112
96
 
97
+ // clear out the list of uniforms used
113
98
  model.uniformLocs = {};
114
99
  model.context.linkProgram(model.handle);
115
- var isCompiled = model.context.getProgramParameter(model.handle, model.context.LINK_STATUS);
116
-
100
+ const isCompiled = model.context.getProgramParameter(model.handle, model.context.LINK_STATUS);
117
101
  if (!isCompiled) {
118
- var lastError = model.context.getProgramInfoLog(model.handle);
119
- vtkErrorMacro("Error linking shader ".concat(lastError));
102
+ const lastError = model.context.getProgramInfoLog(model.handle);
103
+ vtkErrorMacro(`Error linking shader ${lastError}`);
120
104
  model.handle = 0;
121
105
  return false;
122
106
  }
123
-
124
107
  publicAPI.setLinked(true);
125
108
  model.attributeLocs = {};
126
109
  return true;
127
110
  };
128
-
129
- publicAPI.setUniformMatrix = function (name, v) {
130
- var location = publicAPI.findUniform(name);
131
-
111
+ publicAPI.setUniformMatrix = (name, v) => {
112
+ const location = publicAPI.findUniform(name);
132
113
  if (location === -1) {
133
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
114
+ model.error = `Could not set uniform ${name} . No such uniform.`;
134
115
  return false;
135
116
  }
136
-
137
- var f32 = new Float32Array(v);
117
+ const f32 = new Float32Array(v);
138
118
  model.context.uniformMatrix4fv(location, false, f32);
139
119
  return true;
140
120
  };
141
-
142
- publicAPI.setUniformMatrix3x3 = function (name, v) {
143
- var location = publicAPI.findUniform(name);
144
-
121
+ publicAPI.setUniformMatrix3x3 = (name, v) => {
122
+ const location = publicAPI.findUniform(name);
145
123
  if (location === -1) {
146
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
124
+ model.error = `Could not set uniform ${name} . No such uniform.`;
147
125
  return false;
148
126
  }
149
-
150
- var f32 = new Float32Array(v);
127
+ const f32 = new Float32Array(v);
151
128
  model.context.uniformMatrix3fv(location, false, f32);
152
129
  return true;
153
130
  };
154
-
155
- publicAPI.setUniformf = function (name, v) {
156
- var location = publicAPI.findUniform(name);
157
-
131
+ publicAPI.setUniformf = (name, v) => {
132
+ const location = publicAPI.findUniform(name);
158
133
  if (location === -1) {
159
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
134
+ model.error = `Could not set uniform ${name} . No such uniform.`;
160
135
  return false;
161
136
  }
162
-
163
137
  model.context.uniform1f(location, v);
164
138
  return true;
165
139
  };
166
-
167
- publicAPI.setUniformfv = function (name, v) {
168
- var location = publicAPI.findUniform(name);
169
-
140
+ publicAPI.setUniformfv = (name, v) => {
141
+ const location = publicAPI.findUniform(name);
170
142
  if (location === -1) {
171
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
143
+ model.error = `Could not set uniform ${name} . No such uniform.`;
172
144
  return false;
173
145
  }
174
-
175
146
  model.context.uniform1fv(location, v);
176
147
  return true;
177
148
  };
178
-
179
- publicAPI.setUniformi = function (name, v) {
180
- var location = publicAPI.findUniform(name);
181
-
149
+ publicAPI.setUniformi = (name, v) => {
150
+ const location = publicAPI.findUniform(name);
182
151
  if (location === -1) {
183
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
152
+ model.error = `Could not set uniform ${name} . No such uniform.`;
184
153
  return false;
185
154
  }
186
-
187
155
  model.context.uniform1i(location, v);
188
156
  return true;
189
157
  };
190
-
191
- publicAPI.setUniformiv = function (name, v) {
192
- var location = publicAPI.findUniform(name);
193
-
158
+ publicAPI.setUniformiv = (name, v) => {
159
+ const location = publicAPI.findUniform(name);
194
160
  if (location === -1) {
195
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
161
+ model.error = `Could not set uniform ${name} . No such uniform.`;
196
162
  return false;
197
163
  }
198
-
199
164
  model.context.uniform1iv(location, v);
200
165
  return true;
201
166
  };
202
-
203
- publicAPI.setUniform2f = function (name, v1, v2) {
204
- var location = publicAPI.findUniform(name);
205
-
167
+ publicAPI.setUniform2f = (name, v1, v2) => {
168
+ const location = publicAPI.findUniform(name);
206
169
  if (location === -1) {
207
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
170
+ model.error = `Could not set uniform ${name} . No such uniform.`;
208
171
  return false;
209
172
  }
210
-
211
173
  if (v2 === undefined) {
212
174
  throw new RangeError('Invalid number of values for array');
213
175
  }
214
-
215
176
  model.context.uniform2f(location, v1, v2);
216
177
  return true;
217
178
  };
218
-
219
- publicAPI.setUniform2fv = function (name, v) {
220
- var location = publicAPI.findUniform(name);
221
-
179
+ publicAPI.setUniform2fv = (name, v) => {
180
+ const location = publicAPI.findUniform(name);
222
181
  if (location === -1) {
223
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
182
+ model.error = `Could not set uniform ${name} . No such uniform.`;
224
183
  return false;
225
184
  }
226
-
227
185
  model.context.uniform2fv(location, v);
228
186
  return true;
229
187
  };
230
-
231
- publicAPI.setUniform2i = function (name, v1, v2) {
232
- var location = publicAPI.findUniform(name);
233
-
188
+ publicAPI.setUniform2i = (name, v1, v2) => {
189
+ const location = publicAPI.findUniform(name);
234
190
  if (location === -1) {
235
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
191
+ model.error = `Could not set uniform ${name} . No such uniform.`;
236
192
  return false;
237
193
  }
238
-
239
194
  if (v2 === undefined) {
240
195
  throw new RangeError('Invalid number of values for array');
241
196
  }
242
-
243
197
  model.context.uniform2i(location, v1, v2);
244
198
  return true;
245
199
  };
246
-
247
- publicAPI.setUniform2iv = function (name, v) {
248
- var location = publicAPI.findUniform(name);
249
-
200
+ publicAPI.setUniform2iv = (name, v) => {
201
+ const location = publicAPI.findUniform(name);
250
202
  if (location === -1) {
251
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
203
+ model.error = `Could not set uniform ${name} . No such uniform.`;
252
204
  return false;
253
205
  }
254
-
255
206
  model.context.uniform2iv(location, v);
256
207
  return true;
257
208
  };
258
-
259
- publicAPI.setUniform3f = function (name, a1, a2, a3) {
260
- var location = publicAPI.findUniform(name);
261
-
209
+ publicAPI.setUniform3f = (name, a1, a2, a3) => {
210
+ const location = publicAPI.findUniform(name);
262
211
  if (location === -1) {
263
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
212
+ model.error = `Could not set uniform ${name} . No such uniform.`;
264
213
  return false;
265
214
  }
266
-
267
215
  if (a3 === undefined) {
268
216
  throw new RangeError('Invalid number of values for array');
269
217
  }
270
-
271
218
  model.context.uniform3f(location, a1, a2, a3);
272
219
  return true;
273
220
  };
274
-
275
- publicAPI.setUniform3fArray = function (name, a) {
276
- var location = publicAPI.findUniform(name);
277
-
221
+ publicAPI.setUniform3fArray = (name, a) => {
222
+ const location = publicAPI.findUniform(name);
278
223
  if (location === -1) {
279
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
224
+ model.error = `Could not set uniform ${name} . No such uniform.`;
280
225
  return false;
281
226
  }
282
-
283
227
  if (!Array.isArray(a) || a.length !== 3) {
284
228
  throw new RangeError('Invalid number of values for array');
285
229
  }
286
-
287
230
  model.context.uniform3f(location, a[0], a[1], a[2]);
288
231
  return true;
289
232
  };
290
-
291
- publicAPI.setUniform3fv = function (name, v) {
292
- var location = publicAPI.findUniform(name);
293
-
233
+ publicAPI.setUniform3fv = (name, v) => {
234
+ const location = publicAPI.findUniform(name);
294
235
  if (location === -1) {
295
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
236
+ model.error = `Could not set uniform ${name} . No such uniform.`;
296
237
  return false;
297
238
  }
298
-
299
239
  model.context.uniform3fv(location, v);
300
240
  return true;
301
241
  };
302
-
303
242
  publicAPI.setUniform3i = function (name) {
304
- var location = publicAPI.findUniform(name);
305
-
243
+ const location = publicAPI.findUniform(name);
306
244
  if (location === -1) {
307
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
245
+ model.error = `Could not set uniform ${name} . No such uniform.`;
308
246
  return false;
309
247
  }
310
-
311
248
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
312
249
  args[_key - 1] = arguments[_key];
313
250
  }
314
-
315
- var array = args; // allow an array passed as a single argument
316
-
251
+ let array = args;
252
+ // allow an array passed as a single argument
317
253
  if (array.length === 1 && Array.isArray(array[0])) {
318
254
  array = array[0];
319
255
  }
320
-
321
256
  if (array.length !== 3) {
322
257
  throw new RangeError('Invalid number of values for array');
323
258
  }
324
-
325
259
  model.context.uniform3i(location, array[0], array[1], array[2]);
326
260
  return true;
327
261
  };
328
-
329
- publicAPI.setUniform3iv = function (name, v) {
330
- var location = publicAPI.findUniform(name);
331
-
262
+ publicAPI.setUniform3iv = (name, v) => {
263
+ const location = publicAPI.findUniform(name);
332
264
  if (location === -1) {
333
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
265
+ model.error = `Could not set uniform ${name} . No such uniform.`;
334
266
  return false;
335
267
  }
336
-
337
268
  model.context.uniform3iv(location, v);
338
269
  return true;
339
270
  };
340
-
341
271
  publicAPI.setUniform4f = function (name) {
342
- var location = publicAPI.findUniform(name);
343
-
272
+ const location = publicAPI.findUniform(name);
344
273
  if (location === -1) {
345
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
274
+ model.error = `Could not set uniform ${name} . No such uniform.`;
346
275
  return false;
347
276
  }
348
-
349
277
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
350
278
  args[_key2 - 1] = arguments[_key2];
351
279
  }
352
-
353
- var array = args; // allow an array passed as a single argument
354
-
280
+ let array = args;
281
+ // allow an array passed as a single argument
355
282
  if (array.length === 1 && Array.isArray(array[0])) {
356
283
  array = array[0];
357
284
  }
358
-
359
285
  if (array.length !== 4) {
360
286
  throw new RangeError('Invalid number of values for array');
361
287
  }
362
-
363
288
  model.context.uniform4f(location, array[0], array[1], array[2], array[3]);
364
289
  return true;
365
290
  };
366
-
367
- publicAPI.setUniform4fv = function (name, v) {
368
- var location = publicAPI.findUniform(name);
369
-
291
+ publicAPI.setUniform4fv = (name, v) => {
292
+ const location = publicAPI.findUniform(name);
370
293
  if (location === -1) {
371
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
294
+ model.error = `Could not set uniform ${name} . No such uniform.`;
372
295
  return false;
373
296
  }
374
-
375
297
  model.context.uniform4fv(location, v);
376
298
  return true;
377
299
  };
378
-
379
300
  publicAPI.setUniform4i = function (name) {
380
- var location = publicAPI.findUniform(name);
381
-
301
+ const location = publicAPI.findUniform(name);
382
302
  if (location === -1) {
383
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
303
+ model.error = `Could not set uniform ${name} . No such uniform.`;
384
304
  return false;
385
305
  }
386
-
387
306
  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
388
307
  args[_key3 - 1] = arguments[_key3];
389
308
  }
390
-
391
- var array = args; // allow an array passed as a single argument
392
-
309
+ let array = args;
310
+ // allow an array passed as a single argument
393
311
  if (array.length === 1 && Array.isArray(array[0])) {
394
312
  array = array[0];
395
313
  }
396
-
397
314
  if (array.length !== 4) {
398
315
  throw new RangeError('Invalid number of values for array');
399
316
  }
400
-
401
317
  model.context.uniform4i(location, array[0], array[1], array[2], array[3]);
402
318
  return true;
403
319
  };
404
-
405
- publicAPI.setUniform4iv = function (name, v) {
406
- var location = publicAPI.findUniform(name);
407
-
320
+ publicAPI.setUniform4iv = (name, v) => {
321
+ const location = publicAPI.findUniform(name);
408
322
  if (location === -1) {
409
- model.error = "Could not set uniform ".concat(name, " . No such uniform.");
323
+ model.error = `Could not set uniform ${name} . No such uniform.`;
410
324
  return false;
411
325
  }
412
-
413
326
  model.context.uniform4iv(location, v);
414
327
  return true;
415
328
  };
416
-
417
- publicAPI.findUniform = function (name) {
329
+ publicAPI.findUniform = name => {
418
330
  if (!name || !model.linked) {
419
331
  return -1;
420
- } // see if we have cached the result
421
-
422
-
423
- var loc = model.uniformLocs[name];
332
+ }
424
333
 
334
+ // see if we have cached the result
335
+ let loc = model.uniformLocs[name];
425
336
  if (loc !== undefined) {
426
337
  return loc;
427
338
  }
428
-
429
339
  loc = model.context.getUniformLocation(model.handle, name);
430
-
431
340
  if (loc === null) {
432
- model.error = "Uniform ".concat(name, " not found in current shader program.");
341
+ model.error = `Uniform ${name} not found in current shader program.`;
433
342
  model.uniformLocs[name] = -1;
434
343
  return -1;
435
344
  }
436
-
437
345
  model.uniformLocs[name] = loc;
438
346
  return loc;
439
347
  };
440
-
441
- publicAPI.isUniformUsed = function (name) {
348
+ publicAPI.isUniformUsed = name => {
442
349
  if (!name) {
443
350
  return false;
444
- } // see if we have cached the result
445
-
446
-
447
- var loc = model.uniformLocs[name];
351
+ }
448
352
 
353
+ // see if we have cached the result
354
+ let loc = model.uniformLocs[name];
449
355
  if (loc !== undefined) {
450
356
  return loc !== null;
451
357
  }
452
-
453
358
  if (!model.linked) {
454
359
  vtkErrorMacro('attempt to find uniform when the shader program is not linked');
455
360
  return false;
456
361
  }
457
-
458
362
  loc = model.context.getUniformLocation(model.handle, name);
459
363
  model.uniformLocs[name] = loc;
460
-
461
364
  if (loc === null) {
462
365
  return false;
463
366
  }
464
-
465
367
  return true;
466
368
  };
467
-
468
- publicAPI.isAttributeUsed = function (name) {
369
+ publicAPI.isAttributeUsed = name => {
469
370
  if (!name) {
470
371
  return false;
471
- } // see if we have cached the result
472
-
372
+ }
473
373
 
374
+ // see if we have cached the result
474
375
  if (name in model.attributeLocs) {
475
376
  return true;
476
377
  }
477
-
478
378
  if (!model.linked) {
479
379
  vtkErrorMacro('attempt to find uniform when the shader program is not linked');
480
380
  return false;
481
381
  }
482
-
483
- var loc = model.context.getAttribLocation(model.handle, name);
484
-
382
+ const loc = model.context.getAttribLocation(model.handle, name);
485
383
  if (loc === -1) {
486
384
  return false;
487
385
  }
488
-
489
386
  model.attributeLocs[name] = loc;
490
387
  return true;
491
388
  };
492
-
493
- publicAPI.attachShader = function (shader) {
389
+ publicAPI.attachShader = shader => {
494
390
  if (shader.getHandle() === 0) {
495
391
  model.error = 'Shader object was not initialized, cannot attach it.';
496
392
  return false;
497
393
  }
498
-
499
394
  if (shader.getShaderType() === 'Unknown') {
500
395
  model.error = 'Shader object is of type Unknown and cannot be used.';
501
396
  return false;
502
397
  }
503
-
504
398
  if (model.handle === 0) {
505
- var thandle = model.context.createProgram();
506
-
399
+ const thandle = model.context.createProgram();
507
400
  if (thandle === 0) {
508
401
  model.error = 'Could not create shader program.';
509
402
  return false;
510
403
  }
511
-
512
404
  model.handle = thandle;
513
405
  model.linked = false;
514
406
  }
515
-
516
407
  if (shader.getShaderType() === 'Vertex') {
517
408
  if (model.vertexShaderHandle !== 0) {
518
409
  model.comntext.detachShader(model.handle, model.vertexShaderHandle);
519
410
  }
520
-
521
411
  model.vertexShaderHandle = shader.getHandle();
522
412
  }
523
-
524
413
  if (shader.getShaderType() === 'Fragment') {
525
414
  if (model.fragmentShaderHandle !== 0) {
526
415
  model.context.detachShader(model.handle, model.fragmentShaderHandle);
527
416
  }
528
-
529
417
  model.fragmentShaderHandle = shader.getHandle();
530
418
  }
531
-
532
419
  model.context.attachShader(model.handle, shader.getHandle());
533
420
  publicAPI.setLinked(false);
534
421
  return true;
535
422
  };
536
-
537
- publicAPI.detachShader = function (shader) {
423
+ publicAPI.detachShader = shader => {
538
424
  if (shader.getHandle() === 0) {
539
425
  model.error = 'shader object was not initialized, cannot attach it.';
540
426
  return false;
541
427
  }
542
-
543
428
  if (shader.getShaderType() === 'Unknown') {
544
429
  model.error = 'Shader object is of type Unknown and cannot be used.';
545
430
  return false;
546
431
  }
547
-
548
432
  if (model.handle === 0) {
549
433
  model.error = 'This shader program has not been initialized yet.';
550
434
  }
551
-
552
435
  switch (shader.getShaderType()) {
553
436
  case 'Vertex':
554
437
  if (model.vertexShaderHandle !== shader.getHandle()) {
555
438
  model.error = 'The supplied shader was not attached to this program.';
556
439
  return false;
557
440
  }
558
-
559
441
  model.context.detachShader(model.handle, shader.getHandle());
560
442
  model.vertexShaderHandle = 0;
561
443
  model.linked = false;
562
444
  return true;
563
-
564
445
  case 'Fragment':
565
446
  if (model.fragmentShaderHandle !== shader.getHandle()) {
566
447
  model.error = 'The supplied shader was not attached to this program.';
567
448
  return false;
568
449
  }
569
-
570
450
  model.context.detachShader(model.handle, shader.getHandle());
571
451
  model.fragmentShaderHandle = 0;
572
452
  model.linked = false;
573
453
  return true;
574
-
575
454
  default:
576
455
  return false;
577
456
  }
578
457
  };
579
-
580
- publicAPI.setContext = function (ctx) {
458
+ publicAPI.setContext = ctx => {
581
459
  model.context = ctx;
582
460
  model.vertexShader.setContext(ctx);
583
461
  model.fragmentShader.setContext(ctx);
584
462
  model.geometryShader.setContext(ctx);
585
463
  };
586
-
587
- publicAPI.setLastCameraMTime = function (mtime) {
464
+ publicAPI.setLastCameraMTime = mtime => {
588
465
  model.lastCameraMTime = mtime;
589
- }; // publicAPI.enableAttributeArray = (name) => {
466
+ };
467
+
468
+ // publicAPI.enableAttributeArray = (name) => {
590
469
  // const location = publicAPI.findAttributeArray(name);
591
470
  // if (location === -1) {
592
471
  // model.error = `Could not enable attribute ${name} No such attribute.`;
@@ -595,6 +474,7 @@ function vtkShaderProgram(publicAPI, model) {
595
474
  // model.context.enableVertexAttribArray(location);
596
475
  // return true;
597
476
  // };
477
+
598
478
  // publicAPI.disableAttributeArray = (name) => {
599
479
  // const location = publicAPI.findAttributeArray(name);
600
480
  // if (location === -1) {
@@ -604,13 +484,13 @@ function vtkShaderProgram(publicAPI, model) {
604
484
  // model.context.disableVertexAttribArray(location);
605
485
  // return true;
606
486
  // };
487
+ }
607
488
 
608
- } // ----------------------------------------------------------------------------
489
+ // ----------------------------------------------------------------------------
609
490
  // Object factory
610
491
  // ----------------------------------------------------------------------------
611
492
 
612
-
613
- var DEFAULT_VALUES = {
493
+ const DEFAULT_VALUES = {
614
494
  vertexShaderHandle: 0,
615
495
  fragmentShaderHandle: 0,
616
496
  geometryShaderHandle: 0,
@@ -628,12 +508,15 @@ var DEFAULT_VALUES = {
628
508
  md5Hash: 0,
629
509
  context: null,
630
510
  lastCameraMTime: null
631
- }; // ----------------------------------------------------------------------------
511
+ };
512
+
513
+ // ----------------------------------------------------------------------------
632
514
 
633
515
  function extend(publicAPI, model) {
634
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
635
- Object.assign(model, DEFAULT_VALUES, initialValues); // Instantiate internal objects
516
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
517
+ Object.assign(model, DEFAULT_VALUES, initialValues);
636
518
 
519
+ // Instantiate internal objects
637
520
  model.attributesLocs = {};
638
521
  model.uniformLocs = {};
639
522
  model.vertexShader = vtkShader.newInstance();
@@ -641,22 +524,27 @@ function extend(publicAPI, model) {
641
524
  model.fragmentShader = vtkShader.newInstance();
642
525
  model.fragmentShader.setShaderType('Fragment');
643
526
  model.geometryShader = vtkShader.newInstance();
644
- model.geometryShader.setShaderType('Geometry'); // Build VTK API
527
+ model.geometryShader.setShaderType('Geometry');
645
528
 
529
+ // Build VTK API
646
530
  macro.obj(publicAPI, model);
647
531
  macro.get(publicAPI, model, ['lastCameraMTime']);
648
- macro.setGet(publicAPI, model, ['error', 'handle', 'compiled', 'bound', 'md5Hash', 'vertexShader', 'fragmentShader', 'geometryShader', 'linked']); // Object methods
532
+ macro.setGet(publicAPI, model, ['error', 'handle', 'compiled', 'bound', 'md5Hash', 'vertexShader', 'fragmentShader', 'geometryShader', 'linked']);
649
533
 
534
+ // Object methods
650
535
  vtkShaderProgram(publicAPI, model);
651
- } // ----------------------------------------------------------------------------
536
+ }
537
+
538
+ // ----------------------------------------------------------------------------
652
539
 
540
+ const newInstance = macro.newInstance(extend, 'vtkShaderProgram');
653
541
 
654
- var newInstance = macro.newInstance(extend, 'vtkShaderProgram'); // ----------------------------------------------------------------------------
542
+ // ----------------------------------------------------------------------------
655
543
 
656
544
  var vtkShaderProgram$1 = {
657
- newInstance: newInstance,
658
- extend: extend,
659
- substitute: substitute
545
+ newInstance,
546
+ extend,
547
+ substitute
660
548
  };
661
549
 
662
550
  export { vtkShaderProgram$1 as default, substitute };