@kitware/vtk.js 28.10.2 → 28.11.1

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