@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,137 +1,128 @@
1
- import macro from '../../macros.js';
2
-
3
- var DEFAULT_LABEL = 'default';
1
+ import { m as macro } from '../../macros2.js';
4
2
 
3
+ const DEFAULT_LABEL = 'default';
5
4
  function removeObjectInArray(array, obj) {
6
- var idx = array.indexOf(obj);
7
-
5
+ const idx = array.indexOf(obj);
8
6
  if (idx !== -1) {
9
7
  array.splice(idx, 1);
10
8
  }
11
- } // ----------------------------------------------------------------------------
9
+ }
12
10
 
11
+ // ----------------------------------------------------------------------------
13
12
 
14
13
  function vtkWidgetState(publicAPI, model) {
15
14
  model.classHierarchy.push('vtkWidgetState');
16
- var subscriptions = [];
15
+ const subscriptions = [];
17
16
  model.labels = {};
18
- model.nestedStates = []; // --------------------------------------------------------------------------
17
+ model.nestedStates = [];
18
+
19
+ // --------------------------------------------------------------------------
19
20
  // labels can be a string or an array of strings.
20
21
  // If nothing (or empty array) provided the default label will be used.
21
22
  // --------------------------------------------------------------------------
22
23
 
23
24
  publicAPI.bindState = function (nested) {
24
- var labels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [DEFAULT_LABEL];
25
+ let labels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [DEFAULT_LABEL];
25
26
  model.nestedStates.push(nested);
26
27
  subscriptions.push(nested.onModified(publicAPI.modified));
27
-
28
28
  if (Array.isArray(labels) && labels.length) {
29
- for (var i = 0; i < labels.length; i++) {
30
- var label = labels[i];
31
-
29
+ for (let i = 0; i < labels.length; i++) {
30
+ const label = labels[i];
32
31
  if (!model.labels[label]) {
33
32
  model.labels[label] = [];
34
33
  }
35
-
36
34
  model.labels[label].push(nested);
37
35
  }
38
36
  } else {
39
37
  // Need to bind to a label
40
- var labelToUse = Array.isArray(labels) ? DEFAULT_LABEL : labels || DEFAULT_LABEL;
41
-
38
+ const labelToUse = Array.isArray(labels) ? DEFAULT_LABEL : labels || DEFAULT_LABEL;
42
39
  if (!model.labels[labelToUse]) {
43
40
  model.labels[labelToUse] = [];
44
41
  }
45
-
46
42
  model.labels[labelToUse].push(nested);
47
43
  }
48
- }; // --------------------------------------------------------------------------
44
+ };
49
45
 
46
+ // --------------------------------------------------------------------------
50
47
 
51
- publicAPI.unbindState = function (nested) {
48
+ publicAPI.unbindState = nested => {
52
49
  while (subscriptions.length) {
53
50
  subscriptions.pop().unsubscribe();
54
51
  }
55
-
56
52
  removeObjectInArray(model.nestedStates, nested);
57
-
58
- for (var i = 0; i < model.nestedStates.length; i++) {
53
+ for (let i = 0; i < model.nestedStates.length; i++) {
59
54
  subscriptions.push(model.nestedStates[i].onModified(publicAPI.modified));
60
55
  }
61
-
62
- Object.keys(model.labels).forEach(function (label) {
63
- var list = model.labels[label];
56
+ Object.keys(model.labels).forEach(label => {
57
+ const list = model.labels[label];
64
58
  removeObjectInArray(list, nested);
65
59
  });
66
- }; // --------------------------------------------------------------------------
60
+ };
67
61
 
62
+ // --------------------------------------------------------------------------
68
63
 
69
- publicAPI.unbindAll = function () {
64
+ publicAPI.unbindAll = () => {
70
65
  while (subscriptions.length) {
71
66
  subscriptions.pop().unsubscribe();
72
67
  }
73
-
74
68
  model.nestedStates = [];
75
- }; // --------------------------------------------------------------------------
69
+ };
70
+
71
+ // --------------------------------------------------------------------------
76
72
  // Active flag API
77
73
  // --------------------------------------------------------------------------
78
74
 
79
-
80
- publicAPI.activate = function () {
81
- return publicAPI.setActive(true);
82
- };
83
-
84
- publicAPI.deactivate = function (excludingState) {
75
+ publicAPI.activate = () => publicAPI.setActive(true);
76
+ publicAPI.deactivate = excludingState => {
85
77
  if (excludingState !== publicAPI) {
86
78
  publicAPI.setActive(false);
87
79
  }
88
-
89
- for (var i = 0; i < model.nestedStates.length; i++) {
80
+ for (let i = 0; i < model.nestedStates.length; i++) {
90
81
  model.nestedStates[i].deactivate(excludingState);
91
82
  }
92
83
  };
93
-
94
- publicAPI.activateOnly = function (subState) {
84
+ publicAPI.activateOnly = subState => {
95
85
  if (subState) {
96
86
  subState.setActive(true);
97
- } // deactivate current state, but exclude the sub-state
98
-
99
-
87
+ }
88
+ // deactivate current state, but exclude the sub-state
100
89
  publicAPI.deactivate(subState);
101
- }; // --------------------------------------------------------------------------
90
+ };
91
+
92
+ // --------------------------------------------------------------------------
102
93
  // Nested state methods
103
94
  // --------------------------------------------------------------------------
104
95
 
96
+ publicAPI.getStatesWithLabel = name => model.labels[name];
97
+ publicAPI.getAllNestedStates = () => model.nestedStates;
105
98
 
106
- publicAPI.getStatesWithLabel = function (name) {
107
- return model.labels[name];
108
- };
109
-
110
- publicAPI.getAllNestedStates = function () {
111
- return model.nestedStates;
112
- }; // --------------------------------------------------------------------------
99
+ // --------------------------------------------------------------------------
113
100
  // Clean on delete
114
101
  // --------------------------------------------------------------------------
115
102
 
116
-
117
103
  publicAPI.delete = macro.chain(publicAPI.unbindAll, publicAPI.delete);
118
- } // ----------------------------------------------------------------------------
104
+ }
119
105
 
106
+ // ----------------------------------------------------------------------------
120
107
 
121
- var DEFAULT_VALUES = {
108
+ const DEFAULT_VALUES = {
122
109
  active: false
123
- }; // ----------------------------------------------------------------------------
110
+ };
111
+
112
+ // ----------------------------------------------------------------------------
124
113
 
125
114
  function extend(publicAPI, model) {
126
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
115
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
127
116
  Object.assign(model, DEFAULT_VALUES, initialValues);
128
117
  macro.obj(publicAPI, model);
129
118
  macro.setGet(publicAPI, model, ['active']);
130
119
  vtkWidgetState(publicAPI, model);
131
- } // ----------------------------------------------------------------------------
120
+ }
121
+
122
+ // ----------------------------------------------------------------------------
132
123
 
133
124
  var vtkWidgetState$1 = {
134
- extend: extend
125
+ extend
135
126
  };
136
127
 
137
128
  export { vtkWidgetState$1 as default, extend };
package/Widgets/Core.js CHANGED
@@ -5,11 +5,11 @@ import vtkWidgetManager from './Core/WidgetManager.js';
5
5
  import vtkWidgetState from './Core/WidgetState.js';
6
6
 
7
7
  var Core = {
8
- vtkAbstractWidget: vtkAbstractWidget,
9
- vtkAbstractWidgetFactory: vtkAbstractWidgetFactory,
10
- vtkStateBuilder: vtkStateBuilder,
11
- vtkWidgetManager: vtkWidgetManager,
12
- vtkWidgetState: vtkWidgetState
8
+ vtkAbstractWidget,
9
+ vtkAbstractWidgetFactory,
10
+ vtkStateBuilder,
11
+ vtkWidgetManager,
12
+ vtkWidgetState
13
13
  };
14
14
 
15
15
  export { Core as default };
@@ -1,33 +1,33 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
 
3
+ // ----------------------------------------------------------------------------
3
4
  // vtkAbstractManipulator methods
4
5
  // ----------------------------------------------------------------------------
5
6
 
6
7
  function vtkAbstractManipulator(publicAPI, model) {
7
8
  // Set our className
8
9
  model.classHierarchy.push('vtkAbstractManipulator');
9
-
10
- publicAPI.getOrigin = function (callData) {
10
+ publicAPI.getOrigin = callData => {
11
11
  if (model.userOrigin) return model.userOrigin;
12
12
  if (model.useCameraFocalPoint) return callData.pokedRenderer.getActiveCamera().getFocalPoint();
13
13
  if (model.handleOrigin) return model.handleOrigin;
14
14
  if (model.widgetOrigin) return model.widgetOrigin;
15
15
  return [0, 0, 0];
16
16
  };
17
-
18
- publicAPI.getNormal = function (callData) {
17
+ publicAPI.getNormal = callData => {
19
18
  if (model.userNormal) return model.userNormal;
20
19
  if (model.useCameraNormal) return callData.pokedRenderer.getActiveCamera().getDirectionOfProjection();
21
20
  if (model.handleNormal) return model.handleNormal;
22
21
  if (model.widgetNormal) return model.widgetNormal;
23
22
  return [0, 0, 1];
24
23
  };
25
- } // ----------------------------------------------------------------------------
24
+ }
25
+
26
+ // ----------------------------------------------------------------------------
26
27
  // Object factory
27
28
  // ----------------------------------------------------------------------------
28
29
 
29
-
30
- var DEFAULT_VALUES = {
30
+ const DEFAULT_VALUES = {
31
31
  // userOrigin: null,
32
32
  // handleOrigin: null,
33
33
  // widgetOrigin: null,
@@ -36,22 +36,28 @@ var DEFAULT_VALUES = {
36
36
  // widgetNormal: null
37
37
  useCameraFocalPoint: false,
38
38
  useCameraNormal: false
39
- }; // ----------------------------------------------------------------------------
39
+ };
40
+
41
+ // ----------------------------------------------------------------------------
40
42
 
41
43
  function extend(publicAPI, model) {
42
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
44
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
43
45
  Object.assign(model, DEFAULT_VALUES, initialValues);
44
46
  macro.obj(publicAPI, model);
45
47
  macro.setGet(publicAPI, model, ['useCameraFocalPoint', 'useCameraNormal']);
46
48
  macro.setGetArray(publicAPI, model, ['userOrigin', 'handleOrigin', 'widgetOrigin', 'userNormal', 'handleNormal', 'widgetNormal'], 3);
47
49
  vtkAbstractManipulator(publicAPI, model);
48
- } // ----------------------------------------------------------------------------
50
+ }
51
+
52
+ // ----------------------------------------------------------------------------
53
+
54
+ const newInstance = macro.newInstance(extend, 'vtkAbstractManipulator');
49
55
 
50
- var newInstance = macro.newInstance(extend, 'vtkAbstractManipulator'); // ----------------------------------------------------------------------------
56
+ // ----------------------------------------------------------------------------
51
57
 
52
58
  var vtkAbstractManipulator$1 = {
53
- extend: extend,
54
- newInstance: newInstance
59
+ extend,
60
+ newInstance
55
61
  };
56
62
 
57
63
  export { vtkAbstractManipulator$1 as default, extend, newInstance };
@@ -1,138 +1,122 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
4
2
  import vtkPlane from '../../Common/DataModel/Plane.js';
5
3
  import vtkAbstractManipulator from './AbstractManipulator.js';
6
4
  import { mat4, vec3, mat3 } from 'gl-matrix';
7
5
 
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
6
  function intersectDisplayWithPlane(x, y, planeOrigin, planeNormal, renderer, glRenderWindow) {
12
- var near = glRenderWindow.displayToWorld(x, y, 0, renderer);
13
- var far = glRenderWindow.displayToWorld(x, y, 1, renderer);
7
+ const near = glRenderWindow.displayToWorld(x, y, 0, renderer);
8
+ const far = glRenderWindow.displayToWorld(x, y, 1, renderer);
14
9
  return vtkPlane.intersectWithLine(near, far, planeOrigin, planeNormal).x;
15
- } // ----------------------------------------------------------------------------
10
+ }
11
+
12
+ // ----------------------------------------------------------------------------
16
13
  // vtkCPRManipulator methods
17
14
  // ----------------------------------------------------------------------------
18
15
 
19
16
  function vtkCPRManipulator(publicAPI, model) {
20
17
  // Set our className
21
18
  model.classHierarchy.push('vtkCPRManipulator');
22
-
23
- publicAPI.handleEvent = function (callData, glRenderWindow) {
24
- var _model$cprActor;
25
-
26
- var mapper = (_model$cprActor = model.cprActor) === null || _model$cprActor === void 0 ? void 0 : _model$cprActor.getMapper();
27
-
19
+ publicAPI.handleEvent = (callData, glRenderWindow) => {
20
+ const mapper = model.cprActor?.getMapper();
28
21
  if (!mapper) {
29
22
  return {
30
23
  worldCoords: null
31
24
  };
32
- } // Get normal and origin of the picking plane from the actor matrix
33
-
25
+ }
34
26
 
35
- var cprActorMatrix = [];
27
+ // Get normal and origin of the picking plane from the actor matrix
28
+ const cprActorMatrix = [];
36
29
  mat4.transpose(cprActorMatrix, model.cprActor.getMatrix());
37
- var worldPlaneNormal = cprActorMatrix.slice(8, 11); // 3rd column
30
+ const worldPlaneNormal = cprActorMatrix.slice(8, 11); // 3rd column
31
+ const worldPlaneOrigin = cprActorMatrix.slice(12, 15); // 4th column
38
32
 
39
- var worldPlaneOrigin = cprActorMatrix.slice(12, 15); // 4th column
40
33
  // Convert world plane position to 2D position in the plane
41
-
42
- var inversecprActorMatrix = [];
34
+ const inversecprActorMatrix = [];
43
35
  mat4.invert(inversecprActorMatrix, cprActorMatrix);
44
- var worldPlanePicking = intersectDisplayWithPlane(callData.position.x, callData.position.y, worldPlaneOrigin, worldPlaneNormal, callData.pokedRenderer, glRenderWindow);
45
- var modelPlanePicking = []; // (x, height - distance, 0)
46
-
36
+ const worldPlanePicking = intersectDisplayWithPlane(callData.position.x, callData.position.y, worldPlaneOrigin, worldPlaneNormal, callData.pokedRenderer, glRenderWindow);
37
+ const modelPlanePicking = []; // (x, height - distance, 0)
47
38
  vec3.transformMat4(modelPlanePicking, worldPlanePicking, inversecprActorMatrix);
48
- var height = mapper.getHeight();
49
- var distance = height - modelPlanePicking[1];
39
+ const height = mapper.getHeight();
40
+ const distance = height - modelPlanePicking[1];
50
41
  return publicAPI.distanceEvent(distance);
51
42
  };
52
-
53
- publicAPI.distanceEvent = function (distance) {
54
- var _model$cprActor2;
55
-
56
- var mapper = (_model$cprActor2 = model.cprActor) === null || _model$cprActor2 === void 0 ? void 0 : _model$cprActor2.getMapper();
57
-
43
+ publicAPI.distanceEvent = distance => {
44
+ const mapper = model.cprActor?.getMapper();
58
45
  if (!mapper) {
59
46
  return {
60
47
  worldCoords: null
61
48
  };
62
49
  }
63
-
64
- var height = mapper.getHeight();
65
- var clampedDistance = Math.max(0, Math.min(height, distance));
66
-
67
- var _mapper$getCenterline = mapper.getCenterlinePositionAndOrientation(clampedDistance),
68
- position = _mapper$getCenterline.position,
69
- orientation = _mapper$getCenterline.orientation;
70
-
71
- var worldDirection;
72
-
50
+ const height = mapper.getHeight();
51
+ const clampedDistance = Math.max(0, Math.min(height, distance));
52
+ const {
53
+ position,
54
+ orientation
55
+ } = mapper.getCenterlinePositionAndOrientation(clampedDistance);
56
+ let worldDirection;
73
57
  if (orientation) {
74
- var modelDirections = mat3.fromQuat([], orientation);
75
- var baseDirections = mapper.getDirectionMatrix();
58
+ const modelDirections = mat3.fromQuat([], orientation);
59
+ const baseDirections = mapper.getDirectionMatrix();
76
60
  worldDirection = mat3.mul([], modelDirections, baseDirections);
77
61
  }
78
-
79
62
  model.currentDistance = clampedDistance;
80
63
  return {
81
64
  worldCoords: position,
82
- worldDirection: worldDirection
65
+ worldDirection
83
66
  };
84
67
  };
85
-
86
- publicAPI.handleScroll = function (nbSteps) {
87
- var distance = model.currentDistance + publicAPI.getDistanceStep() * nbSteps;
68
+ publicAPI.handleScroll = nbSteps => {
69
+ const distance = model.currentDistance + publicAPI.getDistanceStep() * nbSteps;
88
70
  return publicAPI.distanceEvent(distance);
89
71
  };
90
-
91
- publicAPI.getDistanceStep = function () {
72
+ publicAPI.getDistanceStep = () => {
92
73
  // Find default distanceStep from image spacing
93
74
  // This only works if the mapper in the actor already has an ImageData
94
75
  if (!model.distanceStep) {
95
- var _model$cprActor3, _model$cprActor3$getM, _model$cprActor3$getM2, _model$cprActor3$getM3;
96
-
97
- var imageSpacing = (_model$cprActor3 = model.cprActor) === null || _model$cprActor3 === void 0 ? void 0 : (_model$cprActor3$getM = _model$cprActor3.getMapper()) === null || _model$cprActor3$getM === void 0 ? void 0 : (_model$cprActor3$getM2 = _model$cprActor3$getM.getInputData(0)) === null || _model$cprActor3$getM2 === void 0 ? void 0 : (_model$cprActor3$getM3 = _model$cprActor3$getM2.getSpacing) === null || _model$cprActor3$getM3 === void 0 ? void 0 : _model$cprActor3$getM3.call(_model$cprActor3$getM2);
98
-
76
+ const imageSpacing = model.cprActor?.getMapper()?.getInputData(0)?.getSpacing?.();
99
77
  if (imageSpacing) {
100
- return Math.min.apply(Math, _toConsumableArray(imageSpacing));
78
+ return Math.min(...imageSpacing);
101
79
  }
102
80
  }
103
-
104
81
  return model.distanceStep;
105
82
  };
106
- } // ----------------------------------------------------------------------------
83
+ }
84
+
85
+ // ----------------------------------------------------------------------------
107
86
  // Object factory
108
87
  // ----------------------------------------------------------------------------
88
+
109
89
  // currentDistance is the distance from the first point of the centerline
110
90
  // cprActor.getMapper() should be a vtkImageCPRMapper
111
-
112
-
113
91
  function defaultValues(initialValues) {
114
- return _objectSpread({
92
+ return {
115
93
  distanceStep: 0,
116
94
  currentDistance: 0,
117
- cprActor: null
118
- }, initialValues);
119
- } // ----------------------------------------------------------------------------
95
+ cprActor: null,
96
+ ...initialValues
97
+ };
98
+ }
120
99
 
100
+ // ----------------------------------------------------------------------------
121
101
 
122
102
  function extend(publicAPI, model) {
123
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
103
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
124
104
  vtkAbstractManipulator.extend(publicAPI, model, defaultValues(initialValues));
125
105
  macro.setGet(publicAPI, model, ['distance', 'currentDistance', 'cprActor']);
126
106
  macro.set(publicAPI, model, ['distanceStep']);
127
107
  vtkCPRManipulator(publicAPI, model);
128
- } // ----------------------------------------------------------------------------
108
+ }
129
109
 
130
- var newInstance = macro.newInstance(extend, 'vtkCPRManipulator'); // ----------------------------------------------------------------------------
110
+ // ----------------------------------------------------------------------------
111
+
112
+ const newInstance = macro.newInstance(extend, 'vtkCPRManipulator');
113
+
114
+ // ----------------------------------------------------------------------------
131
115
 
132
116
  var index = {
133
- intersectDisplayWithPlane: intersectDisplayWithPlane,
134
- extend: extend,
135
- newInstance: newInstance
117
+ intersectDisplayWithPlane,
118
+ extend,
119
+ newInstance
136
120
  };
137
121
 
138
122
  export { index as default, extend, intersectDisplayWithPlane, newInstance };
@@ -1,60 +1,63 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import { s as subtract, j as cross, d as dot, w as multiplyScalar, k as add } from '../../Common/Core/Math/index.js';
4
3
  import vtkAbstractManipulator from './AbstractManipulator.js';
5
4
 
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
-
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
5
  function projectDisplayToLine(x, y, lineOrigin, lineDirection, renderer, glRenderWindow) {
10
- var near = glRenderWindow.displayToWorld(x, y, 0, renderer);
11
- var far = glRenderWindow.displayToWorld(x, y, 1, renderer);
12
- var viewDir = [0, 0, 0];
6
+ const near = glRenderWindow.displayToWorld(x, y, 0, renderer);
7
+ const far = glRenderWindow.displayToWorld(x, y, 1, renderer);
8
+ const viewDir = [0, 0, 0];
13
9
  subtract(far, near, viewDir);
14
- var normal = [0, 0, 0];
10
+ const normal = [0, 0, 0];
15
11
  cross(lineDirection, viewDir, normal);
16
12
  cross(normal, viewDir, normal);
17
- var numerator = dot([near[0] - lineOrigin[0], near[1] - lineOrigin[1], near[2] - lineOrigin[2]], normal);
18
- var denominator = dot(normal, lineDirection);
19
- var result = lineDirection.slice();
13
+ const numerator = dot([near[0] - lineOrigin[0], near[1] - lineOrigin[1], near[2] - lineOrigin[2]], normal);
14
+ const denominator = dot(normal, lineDirection);
15
+ const result = lineDirection.slice();
20
16
  multiplyScalar(result, numerator / denominator);
21
17
  add(lineOrigin, result, result);
22
18
  return result;
23
- } // ----------------------------------------------------------------------------
19
+ }
20
+
21
+ // ----------------------------------------------------------------------------
24
22
  // vtkLineManipulator methods
25
23
  // ----------------------------------------------------------------------------
26
24
 
27
25
  function vtkLineManipulator(publicAPI, model) {
28
26
  // Set our className
29
27
  model.classHierarchy.push('vtkLineManipulator');
28
+ publicAPI.handleEvent = (callData, glRenderWindow) => ({
29
+ worldCoords: projectDisplayToLine(callData.position.x, callData.position.y, publicAPI.getOrigin(callData), publicAPI.getNormal(callData), callData.pokedRenderer, glRenderWindow)
30
+ });
31
+ }
30
32
 
31
- publicAPI.handleEvent = function (callData, glRenderWindow) {
32
- return {
33
- worldCoords: projectDisplayToLine(callData.position.x, callData.position.y, publicAPI.getOrigin(callData), publicAPI.getNormal(callData), callData.pokedRenderer, glRenderWindow)
34
- };
35
- };
36
- } // ----------------------------------------------------------------------------
33
+ // ----------------------------------------------------------------------------
37
34
  // Object factory
38
35
  // ----------------------------------------------------------------------------
39
36
 
40
-
41
37
  function defaultValues(initialValues) {
42
- return _objectSpread({}, initialValues);
43
- } // ----------------------------------------------------------------------------
38
+ return {
39
+ ...initialValues
40
+ };
41
+ }
44
42
 
43
+ // ----------------------------------------------------------------------------
45
44
 
46
45
  function extend(publicAPI, model) {
47
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
46
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
48
47
  vtkAbstractManipulator.extend(publicAPI, model, defaultValues(initialValues));
49
48
  vtkLineManipulator(publicAPI, model);
50
- } // ----------------------------------------------------------------------------
49
+ }
50
+
51
+ // ----------------------------------------------------------------------------
52
+
53
+ const newInstance = macro.newInstance(extend, 'vtkLineManipulator');
51
54
 
52
- var newInstance = macro.newInstance(extend, 'vtkLineManipulator'); // ----------------------------------------------------------------------------
55
+ // ----------------------------------------------------------------------------
53
56
 
54
57
  var vtkLineManipulator$1 = {
55
- projectDisplayToLine: projectDisplayToLine,
56
- extend: extend,
57
- newInstance: newInstance
58
+ projectDisplayToLine,
59
+ extend,
60
+ newInstance
58
61
  };
59
62
 
60
63
  export { vtkLineManipulator$1 as default, extend, newInstance, projectDisplayToLine };
@@ -0,0 +1,48 @@
1
+ import { IAbstractManipulatorInitialValues, vtkAbstractManipulator } from './AbstractManipulator';
2
+ import vtkPicker from './../../Rendering/Core/Picker';
3
+
4
+ /**
5
+ *
6
+ */
7
+ export interface IPickerManipulatorInitialValues extends IAbstractManipulatorInitialValues {
8
+
9
+ }
10
+
11
+ export interface vtkPickerManipulator extends vtkAbstractManipulator {
12
+
13
+ /**
14
+ *
15
+ */
16
+ getPicker(): vtkPicker;
17
+
18
+ /**
19
+ *
20
+ */
21
+ setPicker(picker: vtkPicker): void;
22
+
23
+ }
24
+
25
+
26
+ /**
27
+ * Method use to decorate a given object (publicAPI+model) with vtkPickerManipulator characteristics.
28
+ *
29
+ * @param publicAPI object on which methods will be bounds (public)
30
+ * @param model object on which data structure will be bounds (protected)
31
+ * @param {IPickerManipulatorInitialValues} [initialValues] (default: {})
32
+ */
33
+ export function extend(publicAPI: object, model: object, initialValues?: IPickerManipulatorInitialValues): void;
34
+
35
+ /**
36
+ * Method use to create a new instance of vtkPickerManipulator
37
+ */
38
+ export function newInstance(initialValues?: IPickerManipulatorInitialValues): vtkPickerManipulator;
39
+
40
+
41
+ /**
42
+ * vtkPickerManipulator.
43
+ */
44
+ export declare const vtkPickerManipulator: {
45
+ newInstance: typeof newInstance,
46
+ extend: typeof extend,
47
+ };
48
+ export default vtkPickerManipulator;