@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,5 +1,3 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
1
  import vtkActor from '../../Rendering/Core/Actor.js';
4
2
  import vtkCompositeCameraManipulator from './CompositeCameraManipulator.js';
5
3
  import vtkCompositeMouseManipulator from './CompositeMouseManipulator.js';
@@ -9,141 +7,138 @@ import vtkPointPicker from '../../Rendering/Core/PointPicker.js';
9
7
  import vtkSphereSource from '../../Filters/Sources/SphereSource.js';
10
8
  import { FieldAssociations } from '../../Common/DataModel/DataSet/Constants.js';
11
9
  import { mat4, vec3 } from 'gl-matrix';
12
- import macro from '../../macros.js';
10
+ import { m as macro } from '../../macros2.js';
13
11
  import { B as areEquals, l as normalize, d as dot, C as clampValue, s as subtract, j as cross, w as multiplyScalar, e as distance2BetweenPoints } from '../../Common/Core/Math/index.js';
14
12
 
15
- var States = vtkInteractorStyleConstants.States; // ----------------------------------------------------------------------------
13
+ const {
14
+ States
15
+ } = vtkInteractorStyleConstants;
16
+
17
+ // ----------------------------------------------------------------------------
16
18
  // vtkMouseCameraUnicamRotateManipulator methods
17
19
  // ----------------------------------------------------------------------------
18
20
 
19
21
  function vtkMouseCameraUnicamRotateManipulator(publicAPI, model) {
20
22
  // Set our className
21
- model.classHierarchy.push('vtkMouseCameraUnicamRotateManipulator'); // Setup Picker to pick points
23
+ model.classHierarchy.push('vtkMouseCameraUnicamRotateManipulator');
22
24
 
25
+ // Setup Picker to pick points
23
26
  model.picker = vtkPointPicker.newInstance();
24
27
  model.downPoint = [0, 0, 0];
25
28
  model.isDot = false;
26
- model.state = States.IS_NONE; // Setup focus dot
29
+ model.state = States.IS_NONE;
27
30
 
28
- var sphereSource = vtkSphereSource.newInstance();
31
+ // Setup focus dot
32
+ const sphereSource = vtkSphereSource.newInstance();
29
33
  sphereSource.setThetaResolution(6);
30
34
  sphereSource.setPhiResolution(6);
31
- var sphereMapper = vtkMapper.newInstance();
35
+ const sphereMapper = vtkMapper.newInstance();
32
36
  sphereMapper.setInputConnection(sphereSource.getOutputPort());
33
37
  model.focusSphere = vtkActor.newInstance();
34
38
  model.focusSphere.setMapper(sphereMapper);
35
39
  model.focusSphere.getProperty().setColor(0.89, 0.66, 0.41);
36
40
  model.focusSphere.getProperty().setAmbient(1);
37
41
  model.focusSphere.getProperty().setDiffuse(0);
38
- model.focusSphere.getProperty().setRepresentationToWireframe(); //----------------------------------------------------------------------------
42
+ model.focusSphere.getProperty().setRepresentationToWireframe();
39
43
 
40
- var updateAndRender = function updateAndRender(interactor) {
44
+ //----------------------------------------------------------------------------
45
+ const updateAndRender = interactor => {
41
46
  if (!interactor) {
42
47
  return;
43
48
  }
44
-
45
49
  if (model.useWorldUpVec) {
46
- var camera = interactor.findPokedRenderer().getActiveCamera();
47
-
50
+ const camera = interactor.findPokedRenderer().getActiveCamera();
48
51
  if (!areEquals(model.worldUpVec, camera.getViewPlaneNormal())) {
49
52
  camera.setViewUp(model.worldUpVec);
50
53
  }
51
54
  }
52
-
53
55
  interactor.render();
54
- }; //----------------------------------------------------------------------------
55
-
56
-
57
- var normalize$1 = function normalize(position, interactor) {
58
- var renderer = interactor.findPokedRenderer();
59
-
60
- var _interactor$getView$g = interactor.getView().getViewportSize(renderer),
61
- _interactor$getView$g2 = _slicedToArray(_interactor$getView$g, 2),
62
- width = _interactor$getView$g2[0],
63
- height = _interactor$getView$g2[1];
56
+ };
64
57
 
65
- var nx = -1.0 + 2.0 * position.x / width;
66
- var ny = -1.0 + 2.0 * position.y / height;
58
+ //----------------------------------------------------------------------------
59
+ const normalize$1 = (position, interactor) => {
60
+ const renderer = interactor.findPokedRenderer();
61
+ const [width, height] = interactor.getView().getViewportSize(renderer);
62
+ const nx = -1.0 + 2.0 * position.x / width;
63
+ const ny = -1.0 + 2.0 * position.y / height;
67
64
  return {
68
65
  x: nx,
69
66
  y: ny
70
67
  };
71
- }; //----------------------------------------------------------------------------
68
+ };
69
+
70
+ //----------------------------------------------------------------------------
72
71
  // Rotate the camera by 'angle' degrees about the point <cx, cy, cz>
73
72
  // and around the vector/axis <ax, ay, az>.
74
-
75
-
76
- var rotateCamera = function rotateCamera(camera, cx, cy, cz, ax, ay, az, angle) {
77
- var cameraPosition = camera.getPosition();
78
- var cameraFocalPoint = camera.getFocalPoint();
79
- var cameraViewUp = camera.getViewUp();
73
+ const rotateCamera = (camera, cx, cy, cz, ax, ay, az, angle) => {
74
+ const cameraPosition = camera.getPosition();
75
+ const cameraFocalPoint = camera.getFocalPoint();
76
+ const cameraViewUp = camera.getViewUp();
80
77
  cameraPosition[3] = 1.0;
81
78
  cameraFocalPoint[3] = 1.0;
82
79
  cameraViewUp[3] = 0.0;
83
- var transform = mat4.identity(new Float64Array(16));
80
+ const transform = mat4.identity(new Float64Array(16));
84
81
  mat4.translate(transform, transform, [cx, cy, cz]);
85
82
  mat4.rotate(transform, transform, angle, [ax, ay, az]);
86
83
  mat4.translate(transform, transform, [-cx, -cy, -cz]);
87
- var newCameraPosition = [];
88
- var newCameraFocalPoint = [];
84
+ const newCameraPosition = [];
85
+ const newCameraFocalPoint = [];
89
86
  vec3.transformMat4(newCameraPosition, cameraPosition, transform);
90
87
  vec3.transformMat4(newCameraFocalPoint, cameraFocalPoint, transform);
91
88
  mat4.identity(transform);
92
89
  mat4.rotate(transform, transform, angle, [ax, ay, az]);
93
- var newCameraViewUp = [];
90
+ const newCameraViewUp = [];
94
91
  vec3.transformMat4(newCameraViewUp, cameraViewUp, transform);
95
- camera.setPosition.apply(camera, newCameraPosition);
96
- camera.setFocalPoint.apply(camera, newCameraFocalPoint);
97
- camera.setViewUp.apply(camera, newCameraViewUp);
98
- }; //----------------------------------------------------------------------------
99
-
100
-
101
- var rotate = function rotate(interactor, position) {
102
- var _interactor$getView;
103
-
104
- var renderer = interactor.findPokedRenderer();
105
- var normalizedPosition = normalize$1(position, interactor);
106
- var normalizedPreviousPosition = normalize$1(model.previousPosition, interactor);
107
- var center = model.focusSphere.getPosition();
108
-
109
- var normalizedCenter = (_interactor$getView = interactor.getView()).worldToDisplay.apply(_interactor$getView, _toConsumableArray(center).concat([renderer])); // let normalizedCenter = publicAPI.computeWorldToDisplay(renderer, ...center);
110
-
92
+ camera.setPosition(...newCameraPosition);
93
+ camera.setFocalPoint(...newCameraFocalPoint);
94
+ camera.setViewUp(...newCameraViewUp);
95
+ };
111
96
 
97
+ //----------------------------------------------------------------------------
98
+ const rotate = (interactor, position) => {
99
+ const renderer = interactor.findPokedRenderer();
100
+ const normalizedPosition = normalize$1(position, interactor);
101
+ const normalizedPreviousPosition = normalize$1(model.previousPosition, interactor);
102
+ const center = model.focusSphere.getPosition();
103
+ let normalizedCenter = interactor.getView().worldToDisplay(...center, renderer);
104
+ // let normalizedCenter = publicAPI.computeWorldToDisplay(renderer, ...center);
112
105
  normalizedCenter = normalize$1({
113
106
  x: center[0],
114
107
  y: center[1]
115
108
  }, interactor);
116
- normalizedCenter = [normalizedCenter.x, normalizedCenter.y, center[2]]; // Squared rad of virtual cylinder
117
-
118
- var radsq = Math.pow(1.0 + Math.abs(normalizedCenter[0]), 2.0);
119
- var op = [normalizedPreviousPosition.x, 0, 0];
120
- var oe = [normalizedPosition.x, 0, 0];
121
- var opsq = Math.pow(op[0], 2);
122
- var oesq = Math.pow(oe[0], 2);
123
- var lop = opsq > radsq ? 0 : Math.sqrt(radsq - opsq);
124
- var loe = oesq > radsq ? 0 : Math.sqrt(radsq - oesq);
125
- var nop = [op[0], 0, lop];
109
+ normalizedCenter = [normalizedCenter.x, normalizedCenter.y, center[2]];
110
+
111
+ // Squared rad of virtual cylinder
112
+ const radsq = (1.0 + Math.abs(normalizedCenter[0])) ** 2.0;
113
+ const op = [normalizedPreviousPosition.x, 0, 0];
114
+ const oe = [normalizedPosition.x, 0, 0];
115
+ const opsq = op[0] ** 2;
116
+ const oesq = oe[0] ** 2;
117
+ const lop = opsq > radsq ? 0 : Math.sqrt(radsq - opsq);
118
+ const loe = oesq > radsq ? 0 : Math.sqrt(radsq - oesq);
119
+ const nop = [op[0], 0, lop];
126
120
  normalize(nop);
127
- var noe = [oe[0], 0, loe];
121
+ const noe = [oe[0], 0, loe];
128
122
  normalize(noe);
129
- var dot$1 = dot(nop, noe);
130
-
123
+ const dot$1 = dot(nop, noe);
131
124
  if (Math.abs(dot$1) > 0.0001) {
132
- var angle = -2 * Math.acos(clampValue(dot$1, -1.0, 1.0)) * Math.sign(normalizedPosition.x - normalizedPreviousPosition.x) * publicAPI.getRotationFactor();
133
- var camera = renderer.getActiveCamera();
134
- var upVec = model.useWorldUpVec ? model.worldUpVec : camera.getViewUp();
125
+ const angle = -2 * Math.acos(clampValue(dot$1, -1.0, 1.0)) * Math.sign(normalizedPosition.x - normalizedPreviousPosition.x) * publicAPI.getRotationFactor();
126
+ const camera = renderer.getActiveCamera();
127
+ const upVec = model.useWorldUpVec ? model.worldUpVec : camera.getViewUp();
135
128
  normalize(upVec);
136
- rotateCamera.apply(void 0, [camera].concat(_toConsumableArray(center), _toConsumableArray(upVec), [angle]));
137
- var dVec = [];
138
- var cameraPosition = camera.getPosition();
129
+ rotateCamera(camera, ...center, ...upVec, angle);
130
+ const dVec = [];
131
+ const cameraPosition = camera.getPosition();
139
132
  subtract(cameraPosition, position, dVec);
140
- var rDist = (normalizedPosition.y - normalizedPreviousPosition.y) * publicAPI.getRotationFactor();
133
+ let rDist = (normalizedPosition.y - normalizedPreviousPosition.y) * publicAPI.getRotationFactor();
141
134
  normalize(dVec);
142
- var atV = camera.getViewPlaneNormal();
143
- var upV = camera.getViewUp();
144
- var rightV = [];
135
+ const atV = camera.getViewPlaneNormal();
136
+ const upV = camera.getViewUp();
137
+ const rightV = [];
145
138
  cross(upV, atV, rightV);
146
- normalize(rightV); //
139
+ normalize(rightV);
140
+
141
+ //
147
142
  // The following two tests try to prevent chaotic camera movement
148
143
  // that results from rotating over the poles defined by the
149
144
  // "WorldUpVector". The problem is the constraint to keep the
@@ -158,214 +153,197 @@ function vtkMouseCameraUnicamRotateManipulator(publicAPI, model) {
158
153
  // function could probably be used rather than a hard cutoff, but
159
154
  // time constraints prevent figuring that out right now.)
160
155
  //
161
-
162
156
  if (model.useWorldUpVec) {
163
- var OVER_THE_TOP_THRESHOLD = 0.99;
164
-
157
+ const OVER_THE_TOP_THRESHOLD = 0.99;
165
158
  if (dot(upVec, atV) > OVER_THE_TOP_THRESHOLD && rDist < 0) {
166
159
  rDist = 0;
167
160
  }
168
-
169
161
  if (dot(upVec, atV) < -OVER_THE_TOP_THRESHOLD && rDist > 0) {
170
162
  rDist = 0;
171
163
  }
172
164
  }
173
-
174
- rotateCamera.apply(void 0, [camera].concat(_toConsumableArray(center), rightV, [rDist]));
175
-
165
+ rotateCamera(camera, ...center, ...rightV, rDist);
176
166
  if (model.useWorldUpVec && !areEquals(upVec, camera.getViewPlaneNormal())) {
177
- camera.setViewUp.apply(camera, _toConsumableArray(upVec));
167
+ camera.setViewUp(...upVec);
178
168
  }
179
-
180
169
  model.previousPosition = position;
181
170
  renderer.resetCameraClippingRange();
182
171
  updateAndRender(interactor);
183
172
  }
184
- }; //----------------------------------------------------------------------------
185
-
186
-
187
- var placeFocusSphere = function placeFocusSphere(interactor) {
188
- var _model$focusSphere;
189
-
190
- var renderer = interactor.findPokedRenderer();
191
-
192
- (_model$focusSphere = model.focusSphere).setPosition.apply(_model$focusSphere, _toConsumableArray(model.downPoint));
173
+ };
193
174
 
194
- var camera = renderer.getActiveCamera();
195
- var cameraPosition = camera.getPosition();
196
- var cameraToPointVec = [];
175
+ //----------------------------------------------------------------------------
176
+ const placeFocusSphere = interactor => {
177
+ const renderer = interactor.findPokedRenderer();
178
+ model.focusSphere.setPosition(...model.downPoint);
179
+ const camera = renderer.getActiveCamera();
180
+ const cameraPosition = camera.getPosition();
181
+ const cameraToPointVec = [];
197
182
  subtract(model.downPoint, cameraPosition, cameraToPointVec);
198
-
199
183
  if (camera.getParallelProjection()) {
200
184
  multiplyScalar(cameraToPointVec, camera.getParallelScale());
201
185
  }
186
+ const atV = camera.getDirectionOfProjection();
187
+ normalize(atV);
202
188
 
203
- var atV = camera.getDirectionOfProjection();
204
- normalize(atV); // Scales the focus dot so it always appears the same size
205
-
206
- var scale = 0.02 * dot(atV, cameraToPointVec) * model.focusSphereRadiusFactor;
189
+ // Scales the focus dot so it always appears the same size
190
+ const scale = 0.02 * dot(atV, cameraToPointVec) * model.focusSphereRadiusFactor;
207
191
  model.focusSphere.setScale(scale, scale, scale);
208
192
  };
209
-
210
- var placeAndDisplayFocusSphere = function placeAndDisplayFocusSphere(interactor) {
193
+ const placeAndDisplayFocusSphere = interactor => {
211
194
  placeFocusSphere(interactor);
212
195
  interactor.findPokedRenderer().addActor(model.focusSphere);
213
196
  model.isDot = true;
214
197
  };
215
-
216
- var hideFocusSphere = function hideFocusSphere(interactor) {
198
+ const hideFocusSphere = interactor => {
217
199
  interactor.findPokedRenderer().removeActor(model.focusSphere);
218
200
  model.isDot = false;
219
- }; //----------------------------------------------------------------------------
220
-
201
+ };
221
202
 
222
- var pickWithPointPicker = function pickWithPointPicker(interactor, position) {
223
- var renderer = interactor.findPokedRenderer();
203
+ //----------------------------------------------------------------------------
204
+ const pickWithPointPicker = (interactor, position) => {
205
+ const renderer = interactor.findPokedRenderer();
224
206
  model.picker.pick([position.x, position.y, position.z], renderer);
225
- var pickedPositions = model.picker.getPickedPositions();
226
-
207
+ const pickedPositions = model.picker.getPickedPositions();
227
208
  if (pickedPositions.length === 0) {
228
209
  return model.picker.getPickPosition();
229
210
  }
230
-
231
- var cameraPosition = renderer.getActiveCamera().getPosition();
232
- pickedPositions.sort(function (pointA, pointB) {
233
- return distance2BetweenPoints(pointA, cameraPosition) - distance2BetweenPoints(pointB, cameraPosition);
234
- });
211
+ const cameraPosition = renderer.getActiveCamera().getPosition();
212
+ pickedPositions.sort((pointA, pointB) => distance2BetweenPoints(pointA, cameraPosition) - distance2BetweenPoints(pointB, cameraPosition));
235
213
  return pickedPositions[0];
236
- }; //----------------------------------------------------------------------------
237
-
214
+ };
238
215
 
239
- var pickPoint = function pickPoint(interactor, position) {
240
- var renderer = interactor.findPokedRenderer(); // Finds the point under the cursor.
216
+ //----------------------------------------------------------------------------
217
+ const pickPoint = (interactor, position) => {
218
+ const renderer = interactor.findPokedRenderer();
219
+ // Finds the point under the cursor.
241
220
  // Note: If no object has been rendered to the pixel (X, Y), then
242
221
  // vtkPicker will return a z-value with depth equal
243
222
  // to the distance from the camera's position to the focal point.
244
223
  // This seems like an arbitrary, but perhaps reasonable, default value.
245
-
246
- var selections = null;
247
-
224
+ let selections = null;
248
225
  if (model.useHardwareSelector) {
249
- var selector = interactor.getView().getSelector();
226
+ const selector = interactor.getView().getSelector();
250
227
  selector.setCaptureZValues(true);
251
228
  selector.setFieldAssociation(FieldAssociations.FIELD_ASSOCIATION_POINTS);
252
229
  selector.attach(interactor.getView(), renderer);
253
230
  selector.setArea(position.x, position.y, position.x, position.y);
254
231
  selections = selector.select();
255
232
  }
256
-
257
233
  if (selections && selections.length !== 0) {
258
234
  // convert Float64Array to regular array
259
235
  return Array.from(selections[0].getProperties().worldPosition);
260
236
  }
261
-
262
237
  return pickWithPointPicker(interactor, position);
263
- }; //----------------------------------------------------------------------------
238
+ };
239
+
240
+ //----------------------------------------------------------------------------
264
241
  // Public API methods
265
242
  //----------------------------------------------------------------------------
266
-
267
-
268
- publicAPI.onButtonDown = function (interactor, renderer, position) {
243
+ publicAPI.onButtonDown = (interactor, renderer, position) => {
269
244
  model.buttonPressed = true;
270
245
  model.startPosition = position;
271
246
  model.previousPosition = position;
272
- var normalizedPosition = normalize$1(position, interactor); // borderRatio defines the percentage of the screen size that is considered to be
247
+ const normalizedPosition = normalize$1(position, interactor);
248
+ // borderRatio defines the percentage of the screen size that is considered to be
273
249
  // the border of the screen on each side
274
-
275
- var borderRatio = 0.1; // If the user is clicking on the perimeter of the screen,
250
+ const borderRatio = 0.1;
251
+ // If the user is clicking on the perimeter of the screen,
276
252
  // then we want to go into rotation mode, and there is no need to determine the downPoint
277
-
278
253
  if (Math.abs(normalizedPosition.x) > 1 - borderRatio || Math.abs(normalizedPosition.y) > 1 - borderRatio) {
279
254
  model.state = States.IS_ROTATE;
280
255
  placeAndDisplayFocusSphere(interactor);
281
256
  return;
282
257
  }
283
-
284
258
  model.downPoint = pickPoint(interactor, position);
285
-
286
259
  if (model.isDot) {
287
260
  model.state = States.IS_ROTATE;
288
261
  } else {
289
262
  model.state = States.IS_NONE;
290
-
291
263
  if (model.displayFocusSphereOnButtonDown) {
292
264
  placeAndDisplayFocusSphere(interactor);
293
265
  }
294
266
  }
295
- }; //----------------------------------------------------------------------------
296
-
267
+ };
297
268
 
298
- publicAPI.onMouseMove = function (interactor, renderer, position) {
269
+ //----------------------------------------------------------------------------
270
+ publicAPI.onMouseMove = (interactor, renderer, position) => {
299
271
  if (!model.buttonPressed) {
300
272
  return;
301
273
  }
302
-
303
274
  model.state = States.IS_ROTATE;
304
275
  rotate(interactor, position);
305
276
  model.previousPosition = position;
306
- }; //--------------------------------------------------------------------------
307
-
277
+ };
308
278
 
309
- publicAPI.onButtonUp = function (interactor) {
310
- var renderer = interactor.findPokedRenderer();
311
- model.buttonPressed = false; // If rotation without a focus sphere, nothing to do
279
+ //--------------------------------------------------------------------------
280
+ publicAPI.onButtonUp = interactor => {
281
+ const renderer = interactor.findPokedRenderer();
282
+ model.buttonPressed = false;
312
283
 
284
+ // If rotation without a focus sphere, nothing to do
313
285
  if (model.state === States.IS_ROTATE && !model.isDot) {
314
286
  return;
315
287
  }
316
-
317
288
  if (model.state === States.IS_ROTATE) {
318
289
  hideFocusSphere(interactor);
319
290
  } else if (model.state === States.IS_NONE) {
320
291
  placeAndDisplayFocusSphere(interactor);
321
292
  }
322
-
323
293
  renderer.resetCameraClippingRange();
324
294
  updateAndRender(interactor);
325
295
  };
326
-
327
- publicAPI.getFocusSphereColor = function () {
296
+ publicAPI.getFocusSphereColor = () => {
328
297
  model.focusSphere.getProperty().getColor();
329
298
  };
330
-
331
- publicAPI.setFocusSphereColor = function (r, g, b) {
299
+ publicAPI.setFocusSphereColor = (r, g, b) => {
332
300
  model.focusSphere.getProperty().setColor(r, g, b);
333
301
  };
334
- } // ----------------------------------------------------------------------------
302
+ }
303
+
304
+ // ----------------------------------------------------------------------------
335
305
  // Object factory
336
306
  // ----------------------------------------------------------------------------
337
307
 
338
-
339
- var DEFAULT_VALUES = {
308
+ const DEFAULT_VALUES = {
340
309
  focusSphereRadiusFactor: 1,
341
310
  displayFocusSphereOnButtonDown: true,
342
311
  useHardwareSelector: true,
343
312
  useWorldUpVec: true,
344
313
  // set WorldUpVector to be z-axis by default
345
314
  worldUpVec: [0, 0, 1]
346
- }; // ----------------------------------------------------------------------------
315
+ };
316
+
317
+ // ----------------------------------------------------------------------------
347
318
 
348
319
  function extend(publicAPI, model) {
349
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
350
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
320
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
321
+ Object.assign(model, DEFAULT_VALUES, initialValues);
351
322
 
323
+ // Inheritance
352
324
  macro.obj(publicAPI, model);
353
325
  vtkCompositeCameraManipulator.extend(publicAPI, model, initialValues);
354
- vtkCompositeMouseManipulator.extend(publicAPI, model, initialValues); // Create get-set macros
326
+ vtkCompositeMouseManipulator.extend(publicAPI, model, initialValues);
355
327
 
328
+ // Create get-set macros
356
329
  macro.setGet(publicAPI, model, ['focusSphereRadiusFactor', 'displayFocusSphereOnButtonDown', 'useHardwareSelector', 'useWorldUpVec']);
357
330
  macro.get(publicAPI, model, ['state']);
358
331
  macro.getArray(publicAPI, model, ['downPoint'], 3);
359
- macro.setGetArray(publicAPI, model, ['worldUpVec'], 3); // Object specific methods
332
+ macro.setGetArray(publicAPI, model, ['worldUpVec'], 3);
360
333
 
334
+ // Object specific methods
361
335
  vtkMouseCameraUnicamRotateManipulator(publicAPI, model);
362
- } // ----------------------------------------------------------------------------
336
+ }
337
+
338
+ // ----------------------------------------------------------------------------
363
339
 
364
- var newInstance = macro.newInstance(extend, 'vtkMouseCameraUnicamRotateManipulator'); // ----------------------------------------------------------------------------
340
+ const newInstance = macro.newInstance(extend, 'vtkMouseCameraUnicamRotateManipulator');
341
+
342
+ // ----------------------------------------------------------------------------
365
343
 
366
344
  var vtkMouseCameraUnicamRotateManipulator$1 = {
367
- newInstance: newInstance,
368
- extend: extend
345
+ newInstance,
346
+ extend
369
347
  };
370
348
 
371
349
  export { vtkMouseCameraUnicamRotateManipulator$1 as default, extend, newInstance };