@kitware/vtk.js 28.10.1 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,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 };