@kitware/vtk.js 28.10.2 → 28.11.1

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 +193 -277
  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/README.md +1 -1
  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 +85 -144
  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 +192 -256
  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 +443 -608
  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 +40 -38
  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 +133 -209
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  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,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;