@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,35 +1,33 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
1
  import { mat4, mat3 } from 'gl-matrix';
3
2
  import Constants from './LandmarkTransform/Constants.js';
4
- import macro from '../../macros.js';
3
+ import { m as macro } from '../../macros2.js';
5
4
  import { p as jacobiN, q as perpendiculars } from '../Core/Math/index.js';
6
5
 
7
- 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; }
6
+ const {
7
+ Mode
8
+ } = Constants;
8
9
 
9
- 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; }
10
- var Mode = Constants.Mode; // ----------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // vtkLandmarkTransform methods
12
12
  // ----------------------------------------------------------------------------
13
13
 
14
14
  function vtkLandmarkTransform(publicAPI, model) {
15
15
  // Set our className
16
16
  model.classHierarchy.push('vtkLandmarkTransform');
17
-
18
17
  function update() {
19
18
  mat4.identity(model.matrix);
20
- var N_PTS = model.sourceLandmark.getNumberOfPoints();
21
-
19
+ const N_PTS = model.sourceLandmark.getNumberOfPoints();
22
20
  if (model.targetLandmark.getNumberOfPoints() !== N_PTS || model.sourceLandmark === null || model.targetLandmark === null || N_PTS === 0) {
23
21
  console.error('Error : Bad inputs of vtkLandmarkTransform');
24
22
  return model.matrix;
25
- } // -- find the centroid of each set --
26
-
23
+ }
27
24
 
28
- var sourceCentroid = [0, 0, 0];
29
- var targetCentroid = [0, 0, 0];
30
- var p = [0, 0, 0];
25
+ // -- find the centroid of each set --
31
26
 
32
- for (var i = 0; i < N_PTS; i++) {
27
+ const sourceCentroid = [0, 0, 0];
28
+ const targetCentroid = [0, 0, 0];
29
+ const p = [0, 0, 0];
30
+ for (let i = 0; i < N_PTS; i++) {
33
31
  model.sourceLandmark.getPoint(i, p);
34
32
  sourceCentroid[0] += p[0];
35
33
  sourceCentroid[1] += p[1];
@@ -39,13 +37,14 @@ function vtkLandmarkTransform(publicAPI, model) {
39
37
  targetCentroid[1] += p[1];
40
38
  targetCentroid[2] += p[2];
41
39
  }
42
-
43
40
  sourceCentroid[0] /= N_PTS;
44
41
  sourceCentroid[1] /= N_PTS;
45
42
  sourceCentroid[2] /= N_PTS;
46
43
  targetCentroid[0] /= N_PTS;
47
44
  targetCentroid[1] /= N_PTS;
48
- targetCentroid[2] /= N_PTS; // -- if only one point, stop right here
45
+ targetCentroid[2] /= N_PTS;
46
+
47
+ // -- if only one point, stop right here
49
48
 
50
49
  if (N_PTS === 1) {
51
50
  mat4.identity(model.matrix);
@@ -53,69 +52,73 @@ function vtkLandmarkTransform(publicAPI, model) {
53
52
  model.matrix[13] = targetCentroid[1] - sourceCentroid[1];
54
53
  model.matrix[14] = targetCentroid[2] - sourceCentroid[2];
55
54
  return model.matrix;
56
- } // -- build the 3x3 matrix M --
57
-
55
+ }
58
56
 
59
- var M = new Float64Array(9);
60
- var AAT = new Float64Array(9);
61
- var a = [0, 0, 0];
62
- var b = [0, 0, 0];
63
- var sa = 0.0;
64
- var sb = 0.0;
57
+ // -- build the 3x3 matrix M --
65
58
 
66
- for (var pt = 0; pt < N_PTS; pt++) {
59
+ const M = new Float64Array(9);
60
+ const AAT = new Float64Array(9);
61
+ const a = [0, 0, 0];
62
+ const b = [0, 0, 0];
63
+ let sa = 0.0;
64
+ let sb = 0.0;
65
+ for (let pt = 0; pt < N_PTS; pt++) {
67
66
  // get the origin-centred point (a) in the source set
68
67
  model.sourceLandmark.getPoint(pt, a);
69
68
  a[0] -= sourceCentroid[0];
70
69
  a[1] -= sourceCentroid[1];
71
- a[2] -= sourceCentroid[2]; // get the origin-centred point (b) in the target set
70
+ a[2] -= sourceCentroid[2];
72
71
 
72
+ // get the origin-centred point (b) in the target set
73
73
  model.targetLandmark.getPoint(pt, b);
74
74
  b[0] -= targetCentroid[0];
75
75
  b[1] -= targetCentroid[1];
76
- b[2] -= targetCentroid[2]; // accumulate the products a*T(b) into the matrix M
76
+ b[2] -= targetCentroid[2];
77
77
 
78
- for (var _i = 0; _i < 3; _i++) {
79
- M[3 * 0 + _i] += a[_i] * b[0];
80
- M[3 * 1 + _i] += a[_i] * b[1];
81
- M[3 * 2 + _i] += a[_i] * b[2]; // for the affine transform, compute ((a.a^t)^-1 . a.b^t)^t.
82
- // a.b^t is already in M. here we put a.a^t in AAT.
78
+ // accumulate the products a*T(b) into the matrix M
79
+ for (let i = 0; i < 3; i++) {
80
+ M[3 * 0 + i] += a[i] * b[0];
81
+ M[3 * 1 + i] += a[i] * b[1];
82
+ M[3 * 2 + i] += a[i] * b[2];
83
83
 
84
+ // for the affine transform, compute ((a.a^t)^-1 . a.b^t)^t.
85
+ // a.b^t is already in M. here we put a.a^t in AAT.
84
86
  if (model.mode === Mode.AFFINE) {
85
- AAT[3 * 0 + _i] += a[_i] * a[0];
86
- AAT[3 * 1 + _i] += a[_i] * a[1];
87
- AAT[3 * 2 + _i] += a[_i] * a[2];
87
+ AAT[3 * 0 + i] += a[i] * a[0];
88
+ AAT[3 * 1 + i] += a[i] * a[1];
89
+ AAT[3 * 2 + i] += a[i] * a[2];
88
90
  }
89
- } // accumulate scale factors (if desired)
90
-
91
-
91
+ }
92
+ // accumulate scale factors (if desired)
92
93
  sa += a[0] * a[0] + a[1] * a[1] + a[2] * a[2];
93
94
  sb += b[0] * b[0] + b[1] * b[1] + b[2] * b[2];
94
95
  }
95
-
96
96
  if (model.mode === Mode.AFFINE) {
97
97
  // AAT = (a.a^t)^-1
98
- mat3.invert(AAT, AAT); // M = (a.a^t)^-1 . a.b^t
98
+ mat3.invert(AAT, AAT);
99
99
 
100
- mat3.multiply(M, AAT, M); // this->Matrix = M^t
100
+ // M = (a.a^t)^-1 . a.b^t
101
+ mat3.multiply(M, AAT, M);
101
102
 
102
- for (var _i2 = 0; _i2 < 3; ++_i2) {
103
- for (var j = 0; j < 3; ++j) {
104
- model.matrix[4 * j + _i2] = M[4 * _i2 + j];
103
+ // this->Matrix = M^t
104
+ for (let i = 0; i < 3; ++i) {
105
+ for (let j = 0; j < 3; ++j) {
106
+ model.matrix[4 * j + i] = M[4 * i + j];
105
107
  }
106
108
  }
107
109
  } else {
108
- var scale = Math.sqrt(sb / sa); // -- build the 4x4 matrix N --
110
+ const scale = Math.sqrt(sb / sa);
109
111
 
110
- var N = new Float64Array(16); // on-diagonal elements
112
+ // -- build the 4x4 matrix N --
111
113
 
114
+ const N = new Float64Array(16);
115
+ // on-diagonal elements
112
116
  N[0] = M[0] + M[4] + M[8];
113
117
  N[5] = M[0] - M[4] - M[8];
114
118
  N[10] = -M[0] + M[4] - M[8];
115
- N[15] = -M[0] - M[4] + M[8]; // off-diagonal elements
116
-
119
+ N[15] = -M[0] - M[4] + M[8];
120
+ // off-diagonal elements
117
121
  /* eslint-disable no-multi-assign */
118
-
119
122
  N[4] = N[1] = M[7] - M[5];
120
123
  N[8] = N[2] = M[2] - M[6];
121
124
  N[12] = N[3] = M[3] - M[1];
@@ -123,43 +126,43 @@ function vtkLandmarkTransform(publicAPI, model) {
123
126
  N[13] = N[7] = M[2] + M[6];
124
127
  N[14] = N[11] = M[7] + M[5];
125
128
  /* eslint-enable no-multi-assign */
129
+
126
130
  // -- eigen-decompose N (is symmetric) --
127
131
  // prettier-ignore
132
+ const eigenVectors = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0];
133
+ const eigenValues = [0.0, 0.0, 0.0, 0.0];
134
+ jacobiN(N, 4, eigenValues, eigenVectors);
128
135
 
129
- var eigenVectors = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0];
130
- var eigenValues = [0.0, 0.0, 0.0, 0.0];
131
- jacobiN(N, 4, eigenValues, eigenVectors); // The eigenvector with the largest eigenvalue is the quaternion we want
136
+ // The eigenvector with the largest eigenvalue is the quaternion we want
132
137
  // (they are sorted in decreasing order for us by JacobiN)
138
+ let w;
139
+ let x;
140
+ let y;
141
+ let z;
133
142
 
134
- var w;
135
- var x;
136
- var y;
137
- var z; // first; if points are collinear, choose the quaternion that
143
+ // first; if points are collinear, choose the quaternion that
138
144
  // results in the smallest rotation
139
-
140
145
  if (eigenValues[0] === eigenValues[1] || N_PTS === 2) {
141
- var s0 = [0, 0, 0];
142
- var t0 = [0, 0, 0];
143
- var s1 = [0, 0, 0];
144
- var t1 = [0, 0, 0];
146
+ const s0 = [0, 0, 0];
147
+ const t0 = [0, 0, 0];
148
+ const s1 = [0, 0, 0];
149
+ const t1 = [0, 0, 0];
145
150
  model.sourceLandmark.getPoint(0, s0);
146
151
  model.targetLandmark.getPoint(0, t0);
147
152
  model.sourceLandmark.getPoint(1, s1);
148
153
  model.targetLandmark.getPoint(1, t1);
149
- var ds = [0, 0, 0];
150
- var dt = [0, 0, 0];
151
- var rs = 0;
152
- var rt = 0;
153
-
154
- for (var _i3 = 0; _i3 < 3; _i3++) {
155
- ds[_i3] = s1[_i3] - s0[_i3]; // vector between points
156
-
157
- rs = ds[_i3] * ds[_i3] + rs;
158
- dt[_i3] = t1[_i3] - t0[_i3];
159
- rt = dt[_i3] * dt[_i3] + rt;
160
- } // normalize the two vectors
161
-
154
+ const ds = [0, 0, 0];
155
+ const dt = [0, 0, 0];
156
+ let rs = 0;
157
+ let rt = 0;
158
+ for (let i = 0; i < 3; i++) {
159
+ ds[i] = s1[i] - s0[i]; // vector between points
160
+ rs = ds[i] * ds[i] + rs;
161
+ dt[i] = t1[i] - t0[i];
162
+ rt = dt[i] * dt[i] + rt;
163
+ }
162
164
 
165
+ // normalize the two vectors
163
166
  rs = Math.sqrt(rs);
164
167
  ds[0] /= rs;
165
168
  ds[1] /= rs;
@@ -167,17 +170,18 @@ function vtkLandmarkTransform(publicAPI, model) {
167
170
  rt = Math.sqrt(rt);
168
171
  dt[0] /= rt;
169
172
  dt[1] /= rt;
170
- dt[2] /= rt; // take dot & cross product
173
+ dt[2] /= rt;
171
174
 
175
+ // take dot & cross product
172
176
  w = ds[0] * dt[0] + ds[1] * dt[1] + ds[2] * dt[2];
173
177
  x = ds[1] * dt[2] - ds[2] * dt[1];
174
178
  y = ds[2] * dt[0] - ds[0] * dt[2];
175
179
  z = ds[0] * dt[1] - ds[1] * dt[0];
176
- var r = Math.sqrt(x * x + y * y + z * z);
177
- var theta = Math.atan2(r, w); // construct quaternion
180
+ let r = Math.sqrt(x * x + y * y + z * z);
181
+ const theta = Math.atan2(r, w);
178
182
 
183
+ // construct quaternion
179
184
  w = Math.cos(theta / 2);
180
-
181
185
  if (r !== 0) {
182
186
  r = Math.sin(theta / 2) / r;
183
187
  x *= r;
@@ -198,19 +202,20 @@ function vtkLandmarkTransform(publicAPI, model) {
198
202
  x = eigenVectors[4];
199
203
  y = eigenVectors[8];
200
204
  z = eigenVectors[12];
201
- } // convert quaternion to a rotation matrix
202
-
203
-
204
- var ww = w * w;
205
- var wx = w * x;
206
- var wy = w * y;
207
- var wz = w * z;
208
- var xx = x * x;
209
- var yy = y * y;
210
- var zz = z * z;
211
- var xy = x * y;
212
- var xz = x * z;
213
- var yz = y * z;
205
+ }
206
+
207
+ // convert quaternion to a rotation matrix
208
+
209
+ const ww = w * w;
210
+ const wx = w * x;
211
+ const wy = w * y;
212
+ const wz = w * z;
213
+ const xx = x * x;
214
+ const yy = y * y;
215
+ const zz = z * z;
216
+ const xy = x * y;
217
+ const xz = x * z;
218
+ const yz = y * z;
214
219
  model.matrix[0] = ww + xx - yy - zz;
215
220
  model.matrix[1] = 2.0 * (wz + xy);
216
221
  model.matrix[2] = 2.0 * (-wy + xz);
@@ -219,60 +224,71 @@ function vtkLandmarkTransform(publicAPI, model) {
219
224
  model.matrix[6] = 2.0 * (wx + yz);
220
225
  model.matrix[8] = 2.0 * (wy + xz);
221
226
  model.matrix[9] = 2.0 * (-wx + yz);
222
- model.matrix[10] = ww - xx - yy + zz; // add in the scale factor (if desired)
227
+ model.matrix[10] = ww - xx - yy + zz;
223
228
 
229
+ // add in the scale factor (if desired)
224
230
  if (model.mode !== Mode.RIGID_BODY) {
225
- for (var _i4 = 0; _i4 < 3; _i4++) {
226
- model.matrix[4 * 0 + _i4] = model.matrix[4 * 0 + _i4] * scale;
227
- model.matrix[4 * 1 + _i4] = model.matrix[4 * 1 + _i4] * scale;
228
- model.matrix[4 * 2 + _i4] = model.matrix[4 * 2 + _i4] * scale;
231
+ for (let i = 0; i < 3; i++) {
232
+ model.matrix[4 * 0 + i] = model.matrix[4 * 0 + i] * scale;
233
+ model.matrix[4 * 1 + i] = model.matrix[4 * 1 + i] * scale;
234
+ model.matrix[4 * 2 + i] = model.matrix[4 * 2 + i] * scale;
229
235
  }
230
236
  }
231
- } // the translation is given by the difference in the transformed source
232
- // centroid and the target centroid
233
-
237
+ }
234
238
 
235
- var sx = model.matrix[0] * sourceCentroid[0] + model.matrix[4] * sourceCentroid[1] + model.matrix[8] * sourceCentroid[2];
236
- var sy = model.matrix[1] * sourceCentroid[0] + model.matrix[5] * sourceCentroid[1] + model.matrix[9] * sourceCentroid[2];
237
- var sz = model.matrix[2] * sourceCentroid[0] + model.matrix[6] * sourceCentroid[1] + model.matrix[10] * sourceCentroid[2];
239
+ // the translation is given by the difference in the transformed source
240
+ // centroid and the target centroid
241
+ const sx = model.matrix[0] * sourceCentroid[0] + model.matrix[4] * sourceCentroid[1] + model.matrix[8] * sourceCentroid[2];
242
+ const sy = model.matrix[1] * sourceCentroid[0] + model.matrix[5] * sourceCentroid[1] + model.matrix[9] * sourceCentroid[2];
243
+ const sz = model.matrix[2] * sourceCentroid[0] + model.matrix[6] * sourceCentroid[1] + model.matrix[10] * sourceCentroid[2];
238
244
  model.matrix[12] = targetCentroid[0] - sx;
239
245
  model.matrix[13] = targetCentroid[1] - sy;
240
- model.matrix[14] = targetCentroid[2] - sz; // fill the bottom row of the 4x4 matrix
246
+ model.matrix[14] = targetCentroid[2] - sz;
241
247
 
248
+ // fill the bottom row of the 4x4 matrix
242
249
  model.matrix[3] = 0.0;
243
250
  model.matrix[7] = 0.0;
244
251
  model.matrix[11] = 0.0;
245
252
  model.matrix[15] = 1.0;
246
253
  return model.matrix;
247
- } // Expose method
248
-
254
+ }
249
255
 
256
+ // Expose method
250
257
  publicAPI.update = update;
251
- } // ----------------------------------------------------------------------------
258
+ }
259
+
260
+ // ----------------------------------------------------------------------------
252
261
  // Object factory
253
262
  // ----------------------------------------------------------------------------
254
263
 
255
-
256
- var DEFAULT_VALUES = {
264
+ const DEFAULT_VALUES = {
257
265
  mode: Mode.SIMILARITY
258
- }; // ----------------------------------------------------------------------------
266
+ };
267
+
268
+ // ----------------------------------------------------------------------------
259
269
 
260
270
  function extend(publicAPI, model) {
261
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
271
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
262
272
  Object.assign(model, DEFAULT_VALUES, initialValues);
263
- macro.obj(publicAPI, model); // Internal objects initialization
273
+ macro.obj(publicAPI, model);
264
274
 
275
+ // Internal objects initialization
265
276
  model.matrix = mat4.identity(new Float64Array(16));
266
277
  macro.setGet(publicAPI, model, ['sourceLandmark', 'targetLandmark', 'mode']);
267
278
  macro.get(publicAPI, model, ['matrix']);
268
279
  vtkLandmarkTransform(publicAPI, model);
269
- } // ----------------------------------------------------------------------------
280
+ }
281
+
282
+ // ----------------------------------------------------------------------------
270
283
 
271
- var newInstance = macro.newInstance(extend, 'vtkLandmarkTransform'); // ----------------------------------------------------------------------------
284
+ const newInstance = macro.newInstance(extend, 'vtkLandmarkTransform');
285
+
286
+ // ----------------------------------------------------------------------------
272
287
 
273
- var vtkLandmarkTransform$1 = _objectSpread({
274
- newInstance: newInstance,
275
- extend: extend
276
- }, Constants);
288
+ var vtkLandmarkTransform$1 = {
289
+ newInstance,
290
+ extend,
291
+ ...Constants
292
+ };
277
293
 
278
294
  export { vtkLandmarkTransform$1 as default, extend, newInstance };
@@ -1,29 +1,24 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
1
  import { IDENTITY } from '../Core/Math/Constants.js';
3
2
  import { vec3, mat4 } from 'gl-matrix';
4
- import macro from '../../macros.js';
3
+ import { m as macro } from '../../macros2.js';
5
4
  import { f as vtkMath } from '../Core/Math/index.js';
6
5
 
6
+ // ----------------------------------------------------------------------------
7
7
  // vtkTransform methods
8
8
  // ----------------------------------------------------------------------------
9
9
  // eslint-disable-next-line import/no-mutable-exports
10
-
11
- var newInstance;
12
-
10
+ let newInstance;
13
11
  function vtkTransform(publicAPI, model) {
14
12
  // Set our className
15
13
  model.classHierarchy.push('vtkAbstractTransform', 'vtkHomogeneousTransform', 'vtkTransform');
16
-
17
- publicAPI.transformPoint = function (point, out) {
14
+ publicAPI.transformPoint = (point, out) => {
18
15
  vec3.transformMat4(out, point, model.matrix);
19
16
  return out;
20
17
  };
21
-
22
- publicAPI.transformPoints = function (points, out) {
23
- var inPoint = new Float64Array(3);
24
- var outPoint = new Float64Array(3);
25
-
26
- for (var i = 0; i < points.length; i += 3) {
18
+ publicAPI.transformPoints = (points, out) => {
19
+ const inPoint = new Float64Array(3);
20
+ const outPoint = new Float64Array(3);
21
+ for (let i = 0; i < points.length; i += 3) {
27
22
  inPoint[0] = points[i];
28
23
  inPoint[1] = points[i + 1];
29
24
  inPoint[2] = points[i + 2];
@@ -32,98 +27,88 @@ function vtkTransform(publicAPI, model) {
32
27
  out[i + 1] = outPoint[1];
33
28
  out[i + 2] = outPoint[2];
34
29
  }
35
-
36
30
  return out;
37
31
  };
32
+
38
33
  /**
39
34
  * Sets the internal state of the transform to PreMultiply.
40
35
  * All subsequent operations will occur before those already represented in the current transformation.
41
36
  * In homogeneous matrix notation, M = M*A where M is the current transformation matrix and A is the applied matrix.
42
37
  * The default is PreMultiply.
43
38
  */
44
-
45
-
46
- publicAPI.preMultiply = function () {
39
+ publicAPI.preMultiply = () => {
47
40
  publicAPI.setPreMultiplyFlag(true);
48
41
  };
42
+
49
43
  /**
50
44
  * Sets the internal state of the transform to PostMultiply.
51
45
  * All subsequent operations will occur after those already represented in the current transformation.
52
46
  * In homogeneous matrix notation, M = A*M where M is the current transformation matrix and A is the applied matrix.
53
47
  * The default is PreMultiply.
54
48
  */
55
-
56
-
57
- publicAPI.postMultiply = function () {
49
+ publicAPI.postMultiply = () => {
58
50
  publicAPI.setPreMultiplyFlag(false);
59
51
  };
60
-
61
- publicAPI.transformMatrix = function (matrix, out) {
52
+ publicAPI.transformMatrix = (matrix, out) => {
62
53
  if (model.preMultiplyFlag) {
63
54
  mat4.multiply(out, model.matrix, matrix);
64
55
  } else {
65
56
  mat4.multiply(out, matrix, model.matrix);
66
57
  }
67
-
68
58
  return out;
69
- }; // Apply the transform to each matrix in the same way as transformMatrix
70
- // `matrices` can be a contiguous array of float or an array of array
71
-
72
-
73
- publicAPI.transformMatrices = function (matrices, out) {
74
- var inMat = new Float64Array(16);
75
- var outMat = new Float64Array(16);
76
- var transform = model.preMultiplyFlag ? function () {
77
- return mat4.multiply(outMat, model.matrix, inMat);
78
- } : function () {
79
- return mat4.multiply(outMat, inMat, model.matrix);
80
- };
59
+ };
81
60
 
82
- for (var i = 0; i < matrices.length; i += 16) {
83
- for (var j = 0; j < 16; ++j) {
61
+ // Apply the transform to each matrix in the same way as transformMatrix
62
+ // `matrices` can be a contiguous array of float or an array of array
63
+ publicAPI.transformMatrices = (matrices, out) => {
64
+ const inMat = new Float64Array(16);
65
+ const outMat = new Float64Array(16);
66
+ const transform = model.preMultiplyFlag ? () => mat4.multiply(outMat, model.matrix, inMat) : () => mat4.multiply(outMat, inMat, model.matrix);
67
+ for (let i = 0; i < matrices.length; i += 16) {
68
+ for (let j = 0; j < 16; ++j) {
84
69
  inMat[j] = matrices[i + j];
85
70
  }
86
-
87
71
  transform();
88
-
89
- for (var _j = 0; _j < 16; ++_j) {
90
- out[i + _j] = outMat[_j];
72
+ for (let j = 0; j < 16; ++j) {
73
+ out[i + j] = outMat[j];
91
74
  }
92
75
  }
93
-
94
76
  return out;
95
77
  };
78
+ publicAPI.getInverse = () => newInstance({
79
+ matrix: vtkMath.invertMatrix(Array.from(model.matrix), [], 4),
80
+ preMultiplyFlag: model.preMultiplyFlag
81
+ });
82
+ }
96
83
 
97
- publicAPI.getInverse = function () {
98
- return newInstance({
99
- matrix: vtkMath.invertMatrix(Array.from(model.matrix), [], 4),
100
- preMultiplyFlag: model.preMultiplyFlag
101
- });
102
- };
103
- } // ----------------------------------------------------------------------------
84
+ // ----------------------------------------------------------------------------
104
85
  // Object factory
105
86
  // ----------------------------------------------------------------------------
106
87
 
107
-
108
- var DEFAULT_VALUES = {
88
+ const DEFAULT_VALUES = {
109
89
  preMultiplyFlag: false,
110
- matrix: _toConsumableArray(IDENTITY)
111
- }; // ----------------------------------------------------------------------------
90
+ matrix: [...IDENTITY]
91
+ };
92
+
93
+ // ----------------------------------------------------------------------------
112
94
 
113
95
  function extend(publicAPI, model) {
114
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
96
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
115
97
  Object.assign(model, DEFAULT_VALUES, initialValues);
116
98
  macro.obj(publicAPI, model);
117
99
  macro.setGet(publicAPI, model, ['preMultiplyFlag']);
118
100
  macro.setGetArray(publicAPI, model, ['matrix'], 16);
119
101
  vtkTransform(publicAPI, model);
120
- } // ----------------------------------------------------------------------------
102
+ }
121
103
 
104
+ // ----------------------------------------------------------------------------
122
105
  newInstance = macro.newInstance(extend, 'vtkTransform');
123
106
 
107
+ // ----------------------------------------------------------------------------
108
+
124
109
  var vtkTransform$1 = {
125
- newInstance: newInstance,
126
- extend: extend
110
+ newInstance,
111
+ extend
127
112
  };
128
113
 
129
114
  export { vtkTransform$1 as default, extend, newInstance };
@@ -2,8 +2,8 @@ import vtkLandmarkTransform from './Transform/LandmarkTransform.js';
2
2
  import vtkTransform from './Transform/Transform.js';
3
3
 
4
4
  var Transform = {
5
- vtkLandmarkTransform: vtkLandmarkTransform,
6
- vtkTransform: vtkTransform
5
+ vtkLandmarkTransform,
6
+ vtkTransform
7
7
  };
8
8
 
9
9
  export { Transform as default };
package/Common/index.js CHANGED
@@ -4,10 +4,10 @@ import Transform from './Transform.js';
4
4
  import System from './System.js';
5
5
 
6
6
  var Common = {
7
- Core: Core,
8
- DataModel: DataModel,
9
- Transform: Transform,
10
- System: System
7
+ Core,
8
+ DataModel,
9
+ Transform,
10
+ System
11
11
  };
12
12
 
13
13
  export { Common as default };