@kitware/vtk.js 28.10.1 → 28.11.0

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