@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,149 +1,148 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
1
  import { vec3 } from 'gl-matrix';
3
2
  import WebworkerPromise from 'webworker-promise';
4
- import macro from '../../macros.js';
3
+ import { m as macro } from '../../macros2.js';
5
4
  import vtkImageData from '../../Common/DataModel/ImageData.js';
6
5
  import vtkDataArray from '../../Common/Core/DataArray.js';
7
6
  import vtkPolygon from '../../Common/DataModel/Polygon.js';
8
7
  import { W as WorkerFactory } from '../../_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js';
9
8
 
10
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
9
+ const {
10
+ vtkErrorMacro
11
+ } = macro;
12
+
13
+ // ----------------------------------------------------------------------------
11
14
  // vtkPaintFilter methods
12
15
  // ----------------------------------------------------------------------------
13
16
 
14
17
  function vtkPaintFilter(publicAPI, model) {
15
18
  // Set our className
16
19
  model.classHierarchy.push('vtkPaintFilter');
17
- var worker = null;
18
- var workerPromise = null;
19
- var history = {}; // --------------------------------------------------------------------------
20
+ let worker = null;
21
+ let workerPromise = null;
22
+ const history = {};
23
+
24
+ // --------------------------------------------------------------------------
20
25
 
21
26
  function resetHistory() {
22
27
  history.index = -1;
23
28
  history.snapshots = [];
24
29
  history.labels = [];
25
30
  }
26
-
27
31
  function pushToHistory(snapshot, label) {
28
32
  // Clear any "redo" info
29
- var spliceIndex = history.index + 1;
30
- var spliceLength = history.snapshots.length - history.index;
33
+ const spliceIndex = history.index + 1;
34
+ const spliceLength = history.snapshots.length - history.index;
31
35
  history.snapshots.splice(spliceIndex, spliceLength);
32
- history.labels.splice(spliceIndex, spliceLength); // Push new snapshot
36
+ history.labels.splice(spliceIndex, spliceLength);
33
37
 
38
+ // Push new snapshot
34
39
  history.snapshots.push(snapshot);
35
40
  history.labels.push(label);
36
41
  history.index++;
37
- } // --------------------------------------------------------------------------
42
+ }
38
43
 
44
+ // --------------------------------------------------------------------------
39
45
 
40
- publicAPI.startStroke = function () {
46
+ publicAPI.startStroke = () => {
41
47
  if (model.labelMap) {
42
48
  if (!workerPromise) {
43
49
  worker = new WorkerFactory();
44
50
  workerPromise = new WebworkerPromise(worker);
45
51
  }
46
-
47
52
  workerPromise.exec('start', {
48
53
  bufferType: 'Uint8Array',
49
54
  dimensions: model.labelMap.getDimensions(),
50
55
  slicingMode: model.slicingMode
51
56
  });
52
57
  }
53
- }; // --------------------------------------------------------------------------
54
-
58
+ };
55
59
 
56
- publicAPI.endStroke = function () {
57
- var endStrokePromise;
60
+ // --------------------------------------------------------------------------
58
61
 
62
+ publicAPI.endStroke = () => {
63
+ let endStrokePromise;
59
64
  if (workerPromise) {
60
65
  endStrokePromise = workerPromise.exec('end');
61
- endStrokePromise.then(function (strokeBuffer) {
66
+ endStrokePromise.then(strokeBuffer => {
62
67
  publicAPI.applyBinaryMask(strokeBuffer);
63
68
  worker.terminate();
64
69
  worker = null;
65
70
  workerPromise = null;
66
71
  });
67
72
  }
68
-
69
73
  return endStrokePromise;
70
74
  };
71
-
72
- publicAPI.applyBinaryMask = function (maskBuffer) {
73
- var scalars = model.labelMap.getPointData().getScalars();
74
- var data = scalars.getData();
75
- var maskLabelMap = new Uint8Array(maskBuffer);
76
- var diffCount = 0;
77
-
78
- for (var i = 0; i < maskLabelMap.length; i++) {
75
+ publicAPI.applyBinaryMask = maskBuffer => {
76
+ const scalars = model.labelMap.getPointData().getScalars();
77
+ const data = scalars.getData();
78
+ const maskLabelMap = new Uint8Array(maskBuffer);
79
+ let diffCount = 0;
80
+ for (let i = 0; i < maskLabelMap.length; i++) {
79
81
  // maskLabelMap is a binary mask
80
82
  diffCount += maskLabelMap[i];
81
- } // Format: [ [index, oldLabel], ...]
83
+ }
84
+
85
+ // Format: [ [index, oldLabel], ...]
82
86
  // I could use an ArrayBuffer, which would place limits
83
87
  // on the values of index/old, but will be more efficient.
84
-
85
-
86
- var snapshot = new Array(diffCount);
87
- var label = model.label;
88
- var diffIdx = 0;
89
-
88
+ const snapshot = new Array(diffCount);
89
+ const label = model.label;
90
+ let diffIdx = 0;
90
91
  if (model.voxelFunc) {
91
- var bgScalars = model.backgroundImage.getPointData().getScalars();
92
- var voxel = [];
93
-
94
- for (var _i = 0; _i < maskLabelMap.length; _i++) {
95
- if (maskLabelMap[_i]) {
96
- bgScalars.getTuple(_i, voxel); // might not fill up snapshot
97
-
98
- if (model.voxelFunc(voxel, _i, label)) {
99
- snapshot[diffIdx++] = [_i, data[_i]];
100
- data[_i] = label;
92
+ const bgScalars = model.backgroundImage.getPointData().getScalars();
93
+ const voxel = [];
94
+ for (let i = 0; i < maskLabelMap.length; i++) {
95
+ if (maskLabelMap[i]) {
96
+ bgScalars.getTuple(i, voxel);
97
+ // might not fill up snapshot
98
+ if (model.voxelFunc(voxel, i, label)) {
99
+ snapshot[diffIdx++] = [i, data[i]];
100
+ data[i] = label;
101
101
  }
102
102
  }
103
103
  }
104
104
  } else {
105
- for (var _i2 = 0; _i2 < maskLabelMap.length; _i2++) {
106
- if (maskLabelMap[_i2]) {
107
- if (data[_i2] !== label) {
108
- snapshot[diffIdx++] = [_i2, data[_i2]];
109
- data[_i2] = label;
105
+ for (let i = 0; i < maskLabelMap.length; i++) {
106
+ if (maskLabelMap[i]) {
107
+ if (data[i] !== label) {
108
+ snapshot[diffIdx++] = [i, data[i]];
109
+ data[i] = label;
110
110
  }
111
111
  }
112
112
  }
113
113
  }
114
-
115
114
  pushToHistory(snapshot, label);
116
115
  scalars.setData(data);
117
116
  scalars.modified();
118
117
  model.labelMap.modified();
119
118
  publicAPI.modified();
120
- }; // --------------------------------------------------------------------------
119
+ };
121
120
 
121
+ // --------------------------------------------------------------------------
122
122
 
123
- publicAPI.addPoint = function (point) {
123
+ publicAPI.addPoint = point => {
124
124
  if (workerPromise) {
125
- var worldPt = [point[0], point[1], point[2]];
126
- var indexPt = [0, 0, 0];
125
+ const worldPt = [point[0], point[1], point[2]];
126
+ const indexPt = [0, 0, 0];
127
127
  vec3.transformMat4(indexPt, worldPt, model.maskWorldToIndex);
128
128
  indexPt[0] = Math.round(indexPt[0]);
129
129
  indexPt[1] = Math.round(indexPt[1]);
130
130
  indexPt[2] = Math.round(indexPt[2]);
131
- var spacing = model.labelMap.getSpacing();
132
- var radius = spacing.map(function (s) {
133
- return model.radius / s;
134
- });
131
+ const spacing = model.labelMap.getSpacing();
132
+ const radius = spacing.map(s => model.radius / s);
135
133
  workerPromise.exec('paint', {
136
134
  point: indexPt,
137
- radius: radius
135
+ radius
138
136
  });
139
137
  }
140
- }; // --------------------------------------------------------------------------
138
+ };
141
139
 
140
+ // --------------------------------------------------------------------------
142
141
 
143
- publicAPI.paintRectangle = function (point1, point2) {
142
+ publicAPI.paintRectangle = (point1, point2) => {
144
143
  if (workerPromise) {
145
- var index1 = [0, 0, 0];
146
- var index2 = [0, 0, 0];
144
+ const index1 = [0, 0, 0];
145
+ const index2 = [0, 0, 0];
147
146
  vec3.transformMat4(index1, point1, model.maskWorldToIndex);
148
147
  vec3.transformMat4(index2, point2, model.maskWorldToIndex);
149
148
  index1[0] = Math.round(index1[0]);
@@ -157,208 +156,188 @@ function vtkPaintFilter(publicAPI, model) {
157
156
  point2: index2
158
157
  });
159
158
  }
160
- }; // --------------------------------------------------------------------------
159
+ };
161
160
 
161
+ // --------------------------------------------------------------------------
162
162
 
163
- publicAPI.paintEllipse = function (center, scale3) {
163
+ publicAPI.paintEllipse = (center, scale3) => {
164
164
  if (workerPromise) {
165
- var realCenter = [0, 0, 0];
166
- var origin = [0, 0, 0];
167
- var realScale3 = [0, 0, 0];
165
+ const realCenter = [0, 0, 0];
166
+ const origin = [0, 0, 0];
167
+ let realScale3 = [0, 0, 0];
168
168
  vec3.transformMat4(realCenter, center, model.maskWorldToIndex);
169
169
  vec3.transformMat4(origin, origin, model.maskWorldToIndex);
170
170
  vec3.transformMat4(realScale3, scale3, model.maskWorldToIndex);
171
171
  vec3.subtract(realScale3, realScale3, origin);
172
- realScale3 = realScale3.map(function (s) {
173
- return s === 0 ? 0.25 : Math.abs(s);
174
- });
172
+ realScale3 = realScale3.map(s => s === 0 ? 0.25 : Math.abs(s));
175
173
  workerPromise.exec('paintEllipse', {
176
174
  center: realCenter,
177
175
  scale3: realScale3
178
176
  });
179
177
  }
180
- }; // --------------------------------------------------------------------------
178
+ };
181
179
 
180
+ // --------------------------------------------------------------------------
182
181
 
183
- publicAPI.canUndo = function () {
184
- return history.index > -1;
185
- }; // --------------------------------------------------------------------------
182
+ publicAPI.canUndo = () => history.index > -1;
186
183
 
184
+ // --------------------------------------------------------------------------
187
185
 
188
- publicAPI.paintPolygon = function (pointList) {
186
+ publicAPI.paintPolygon = pointList => {
189
187
  if (workerPromise && pointList.length > 0) {
190
- var polygon = vtkPolygon.newInstance();
191
- var poly = [];
192
-
193
- for (var i = 0; i < pointList.length / 3; i++) {
188
+ const polygon = vtkPolygon.newInstance();
189
+ const poly = [];
190
+ for (let i = 0; i < pointList.length / 3; i++) {
194
191
  poly.push([pointList[3 * i + 0], pointList[3 * i + 1], pointList[3 * i + 2]]);
195
192
  }
196
-
197
193
  polygon.setPoints(poly);
198
-
199
194
  if (!polygon.triangulate()) {
200
195
  console.log('triangulation failed!');
201
196
  }
202
-
203
- var points = polygon.getPointArray();
204
- var triangleList = new Float32Array(points.length);
205
- var numPoints = Math.floor(triangleList.length / 3);
206
-
207
- for (var _i3 = 0; _i3 < numPoints; _i3++) {
208
- var point = points.slice(3 * _i3, 3 * _i3 + 3);
209
- var voxel = triangleList.subarray(3 * _i3, 3 * _i3 + 3);
197
+ const points = polygon.getPointArray();
198
+ const triangleList = new Float32Array(points.length);
199
+ const numPoints = Math.floor(triangleList.length / 3);
200
+ for (let i = 0; i < numPoints; i++) {
201
+ const point = points.slice(3 * i, 3 * i + 3);
202
+ const voxel = triangleList.subarray(3 * i, 3 * i + 3);
210
203
  vec3.transformMat4(voxel, point, model.maskWorldToIndex);
211
204
  }
212
-
213
205
  workerPromise.exec('paintTriangles', {
214
- triangleList: triangleList
206
+ triangleList
215
207
  });
216
208
  }
217
- }; // --------------------------------------------------------------------------
218
-
209
+ };
219
210
 
220
- publicAPI.applyLabelMap = function (labelMap) {
221
- var currentMapData = model.labelMap.getPointData().getScalars().getData();
222
- var newMapData = labelMap.getPointData().getScalars().getData(); // Compute snapshot
211
+ // --------------------------------------------------------------------------
223
212
 
224
- var snapshot = [];
213
+ publicAPI.applyLabelMap = labelMap => {
214
+ const currentMapData = model.labelMap.getPointData().getScalars().getData();
215
+ const newMapData = labelMap.getPointData().getScalars().getData();
225
216
 
226
- for (var i = 0; i < newMapData.length; ++i) {
217
+ // Compute snapshot
218
+ const snapshot = [];
219
+ for (let i = 0; i < newMapData.length; ++i) {
227
220
  if (currentMapData[i] !== newMapData[i]) {
228
221
  snapshot.push([i, currentMapData[i]]);
229
222
  }
230
223
  }
231
-
232
224
  pushToHistory(snapshot, model.label);
233
225
  model.labelMap = labelMap;
234
226
  publicAPI.modified();
235
- }; // --------------------------------------------------------------------------
227
+ };
236
228
 
229
+ // --------------------------------------------------------------------------
237
230
 
238
- publicAPI.undo = function () {
231
+ publicAPI.undo = () => {
239
232
  if (history.index > -1) {
240
- var scalars = model.labelMap.getPointData().getScalars();
241
- var data = scalars.getData();
242
- var snapshot = history.snapshots[history.index];
243
-
244
- for (var i = 0; i < snapshot.length; i++) {
233
+ const scalars = model.labelMap.getPointData().getScalars();
234
+ const data = scalars.getData();
235
+ const snapshot = history.snapshots[history.index];
236
+ for (let i = 0; i < snapshot.length; i++) {
245
237
  if (!snapshot[i]) {
246
238
  break;
247
239
  }
248
-
249
- var _snapshot$i = _slicedToArray(snapshot[i], 2),
250
- index = _snapshot$i[0],
251
- oldLabel = _snapshot$i[1];
252
-
240
+ const [index, oldLabel] = snapshot[i];
253
241
  data[index] = oldLabel;
254
242
  }
255
-
256
243
  history.index--;
257
244
  scalars.setData(data);
258
245
  scalars.modified();
259
246
  model.labelMap.modified();
260
247
  publicAPI.modified();
261
248
  }
262
- }; // --------------------------------------------------------------------------
249
+ };
263
250
 
251
+ // --------------------------------------------------------------------------
264
252
 
265
- publicAPI.canRedo = function () {
266
- return history.index < history.labels.length - 1;
267
- }; // --------------------------------------------------------------------------
253
+ publicAPI.canRedo = () => history.index < history.labels.length - 1;
268
254
 
255
+ // --------------------------------------------------------------------------
269
256
 
270
- publicAPI.redo = function () {
257
+ publicAPI.redo = () => {
271
258
  if (history.index < history.labels.length - 1) {
272
- var scalars = model.labelMap.getPointData().getScalars();
273
- var data = scalars.getData();
274
- var redoLabel = history.labels[history.index + 1];
275
- var snapshot = history.snapshots[history.index + 1];
276
-
277
- for (var i = 0; i < snapshot.length; i++) {
259
+ const scalars = model.labelMap.getPointData().getScalars();
260
+ const data = scalars.getData();
261
+ const redoLabel = history.labels[history.index + 1];
262
+ const snapshot = history.snapshots[history.index + 1];
263
+ for (let i = 0; i < snapshot.length; i++) {
278
264
  if (!snapshot[i]) {
279
265
  break;
280
266
  }
281
-
282
- var _snapshot$i2 = _slicedToArray(snapshot[i], 1),
283
- index = _snapshot$i2[0];
284
-
267
+ const [index] = snapshot[i];
285
268
  data[index] = redoLabel;
286
269
  }
287
-
288
270
  history.index++;
289
271
  scalars.setData(data);
290
272
  scalars.modified();
291
273
  model.labelMap.modified();
292
274
  publicAPI.modified();
293
275
  }
294
- }; // --------------------------------------------------------------------------
295
-
276
+ };
296
277
 
297
- var superSetLabelMap = publicAPI.setLabelMap;
278
+ // --------------------------------------------------------------------------
298
279
 
299
- publicAPI.setLabelMap = function (lm) {
280
+ const superSetLabelMap = publicAPI.setLabelMap;
281
+ publicAPI.setLabelMap = lm => {
300
282
  if (superSetLabelMap(lm)) {
301
283
  model.maskWorldToIndex = model.labelMap.getWorldToIndex();
302
284
  resetHistory();
303
285
  return true;
304
286
  }
305
-
306
287
  return false;
307
- }; // --------------------------------------------------------------------------
288
+ };
308
289
 
290
+ // --------------------------------------------------------------------------
309
291
 
310
- publicAPI.requestData = function (inData, outData) {
292
+ publicAPI.requestData = (inData, outData) => {
311
293
  if (!model.backgroundImage) {
312
294
  vtkErrorMacro('No background image');
313
295
  return;
314
296
  }
315
-
316
297
  if (!model.backgroundImage.getPointData().getScalars()) {
317
298
  vtkErrorMacro('Background image has no scalars');
318
299
  return;
319
300
  }
320
-
321
301
  if (!model.labelMap) {
322
302
  // clone background image properties
323
- var labelMap = vtkImageData.newInstance(model.backgroundImage.get('spacing', 'origin', 'direction'));
303
+ const labelMap = vtkImageData.newInstance(model.backgroundImage.get('spacing', 'origin', 'direction'));
324
304
  labelMap.setDimensions(model.backgroundImage.getDimensions());
325
- labelMap.computeTransforms(); // right now only support 256 labels
305
+ labelMap.computeTransforms();
326
306
 
327
- var values = new Uint8Array(model.backgroundImage.getNumberOfPoints());
328
- var dataArray = vtkDataArray.newInstance({
307
+ // right now only support 256 labels
308
+ const values = new Uint8Array(model.backgroundImage.getNumberOfPoints());
309
+ const dataArray = vtkDataArray.newInstance({
329
310
  numberOfComponents: 1,
330
311
  // labelmap with single component
331
- values: values
312
+ values
332
313
  });
333
314
  labelMap.getPointData().setScalars(dataArray);
334
315
  publicAPI.setLabelMap(labelMap);
335
316
  }
336
-
337
317
  if (!model.maskWorldToIndex) {
338
318
  model.maskWorldToIndex = model.labelMap.getWorldToIndex();
339
319
  }
340
-
341
- var scalars = model.labelMap.getPointData().getScalars();
342
-
320
+ const scalars = model.labelMap.getPointData().getScalars();
343
321
  if (!scalars) {
344
322
  vtkErrorMacro('Mask image has no scalars');
345
323
  return;
346
324
  }
347
-
348
325
  model.labelMap.modified();
349
326
  outData[0] = model.labelMap;
350
- }; // --------------------------------------------------------------------------
327
+ };
328
+
329
+ // --------------------------------------------------------------------------
351
330
  // Initialization
352
331
  // --------------------------------------------------------------------------
353
332
 
354
-
355
333
  resetHistory();
356
- } // ----------------------------------------------------------------------------
334
+ }
335
+
336
+ // ----------------------------------------------------------------------------
357
337
  // Object factory
358
338
  // ----------------------------------------------------------------------------
359
339
 
360
-
361
- var DEFAULT_VALUES = {
340
+ const DEFAULT_VALUES = {
362
341
  backgroundImage: null,
363
342
  labelMap: null,
364
343
  maskWorldToIndex: null,
@@ -366,25 +345,34 @@ var DEFAULT_VALUES = {
366
345
  radius: 1,
367
346
  label: 0,
368
347
  slicingMode: null
369
- }; // ----------------------------------------------------------------------------
348
+ };
349
+
350
+ // ----------------------------------------------------------------------------
370
351
 
371
352
  function extend(publicAPI, model) {
372
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
373
- Object.assign(model, DEFAULT_VALUES, initialValues); // Make this a VTK object
353
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
354
+ Object.assign(model, DEFAULT_VALUES, initialValues);
374
355
 
375
- macro.obj(publicAPI, model); // Also make it an algorithm with no input and one output
356
+ // Make this a VTK object
357
+ macro.obj(publicAPI, model);
376
358
 
359
+ // Also make it an algorithm with no input and one output
377
360
  macro.algo(publicAPI, model, 0, 1);
378
- macro.setGet(publicAPI, model, ['backgroundImage', 'labelMap', 'maskWorldToIndex', 'voxelFunc', 'label', 'radius', 'slicingMode']); // Object specific methods
361
+ macro.setGet(publicAPI, model, ['backgroundImage', 'labelMap', 'maskWorldToIndex', 'voxelFunc', 'label', 'radius', 'slicingMode']);
379
362
 
363
+ // Object specific methods
380
364
  vtkPaintFilter(publicAPI, model);
381
- } // ----------------------------------------------------------------------------
365
+ }
366
+
367
+ // ----------------------------------------------------------------------------
382
368
 
383
- var newInstance = macro.newInstance(extend, 'vtkPaintFilter'); // ----------------------------------------------------------------------------
369
+ const newInstance = macro.newInstance(extend, 'vtkPaintFilter');
370
+
371
+ // ----------------------------------------------------------------------------
384
372
 
385
373
  var vtkPaintFilter$1 = {
386
- newInstance: newInstance,
387
- extend: extend
374
+ newInstance,
375
+ extend
388
376
  };
389
377
 
390
378
  export { vtkPaintFilter$1 as default, extend, newInstance };
@@ -1,48 +1,44 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkImageData from '../../Common/DataModel/ImageData.js';
3
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
4
4
 
5
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
5
+ const {
6
+ vtkErrorMacro
7
+ } = macro;
8
+
9
+ // ----------------------------------------------------------------------------
6
10
  // vtkScalarToRGBA methods
7
11
  // ----------------------------------------------------------------------------
8
12
 
9
13
  function vtkScalarToRGBA(publicAPI, model) {
10
14
  // Set our className
11
15
  model.classHierarchy.push('vtkScalarToRGBA');
12
-
13
- publicAPI.requestData = function (inData, outData) {
16
+ publicAPI.requestData = (inData, outData) => {
14
17
  // implement requestData
15
- var input = inData[0];
16
-
18
+ const input = inData[0];
17
19
  if (!input) {
18
20
  vtkErrorMacro('Invalid or missing input');
19
21
  return;
20
22
  }
21
-
22
- var scalars = input.getPointData().getScalars();
23
-
23
+ const scalars = input.getPointData().getScalars();
24
24
  if (!scalars) {
25
25
  vtkErrorMacro('No scalars from input');
26
26
  return;
27
27
  }
28
-
29
28
  if (!model.lookupTable) {
30
29
  vtkErrorMacro('No lookupTable available');
31
30
  return;
32
31
  }
33
-
34
32
  if (!model.piecewiseFunction) {
35
33
  vtkErrorMacro('No piecewiseFunction available');
36
34
  return;
37
35
  }
38
-
39
- var rgba = [0, 0, 0, 0];
40
- var data = scalars.getData();
41
- var rgbaArray = new Uint8Array(data.length * 4);
42
- var offset = 0;
43
-
44
- for (var idx = 0; idx < data.length; idx++) {
45
- var x = data[idx];
36
+ const rgba = [0, 0, 0, 0];
37
+ const data = scalars.getData();
38
+ const rgbaArray = new Uint8Array(data.length * 4);
39
+ let offset = 0;
40
+ for (let idx = 0; idx < data.length; idx++) {
41
+ const x = data[idx];
46
42
  model.lookupTable.getColor(x, rgba);
47
43
  rgba[3] = model.piecewiseFunction.getValue(x);
48
44
  rgbaArray[offset++] = 255 * rgba[0];
@@ -50,41 +46,50 @@ function vtkScalarToRGBA(publicAPI, model) {
50
46
  rgbaArray[offset++] = 255 * rgba[2];
51
47
  rgbaArray[offset++] = 255 * rgba[3];
52
48
  }
53
-
54
- var colorArray = vtkDataArray.newInstance({
49
+ const colorArray = vtkDataArray.newInstance({
55
50
  name: 'rgba',
56
51
  numberOfComponents: 4,
57
52
  values: rgbaArray
58
53
  });
59
- var datasetDefinition = input.get('extent', 'spacing', 'origin', 'direction');
60
- var output = vtkImageData.newInstance(datasetDefinition);
54
+ const datasetDefinition = input.get('extent', 'spacing', 'origin', 'direction');
55
+ const output = vtkImageData.newInstance(datasetDefinition);
61
56
  output.getPointData().setScalars(colorArray);
62
57
  outData[0] = output;
63
58
  };
64
- } // ----------------------------------------------------------------------------
59
+ }
60
+
61
+ // ----------------------------------------------------------------------------
65
62
  // Object factory
66
63
  // ----------------------------------------------------------------------------
67
64
 
65
+ const DEFAULT_VALUES = {};
68
66
 
69
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
67
+ // ----------------------------------------------------------------------------
70
68
 
71
69
  function extend(publicAPI, model) {
72
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
73
- Object.assign(model, DEFAULT_VALUES, initialValues); // Make this a VTK object
70
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
71
+ Object.assign(model, DEFAULT_VALUES, initialValues);
74
72
 
75
- macro.obj(publicAPI, model); // Also make it an algorithm with one input and one output
73
+ // Make this a VTK object
74
+ macro.obj(publicAPI, model);
76
75
 
76
+ // Also make it an algorithm with one input and one output
77
77
  macro.algo(publicAPI, model, 1, 1);
78
- macro.setGet(publicAPI, model, ['lookupTable', 'piecewiseFunction']); // Object specific methods
78
+ macro.setGet(publicAPI, model, ['lookupTable', 'piecewiseFunction']);
79
79
 
80
+ // Object specific methods
80
81
  vtkScalarToRGBA(publicAPI, model);
81
- } // ----------------------------------------------------------------------------
82
+ }
82
83
 
83
- var newInstance = macro.newInstance(extend, 'vtkScalarToRGBA'); // ----------------------------------------------------------------------------
84
+ // ----------------------------------------------------------------------------
85
+
86
+ const newInstance = macro.newInstance(extend, 'vtkScalarToRGBA');
87
+
88
+ // ----------------------------------------------------------------------------
84
89
 
85
90
  var vtkScalarToRGBA$1 = {
86
- newInstance: newInstance,
87
- extend: extend
91
+ newInstance,
92
+ extend
88
93
  };
89
94
 
90
95
  export { vtkScalarToRGBA$1 as default, extend, newInstance };