@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,4 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkAbstractWidgetFactory from '../Core/AbstractWidgetFactory.js';
4
3
  import vtkPlanePointManipulator from '../Manipulators/PlaneManipulator.js';
5
4
  import vtkPolyLineRepresentation from '../Representations/PolyLineRepresentation.js';
@@ -9,21 +8,20 @@ import widgetBehavior from './DistanceWidget/behavior.js';
9
8
  import generateState from './DistanceWidget/state.js';
10
9
  import { ViewTypes } from '../Core/WidgetManager/Constants.js';
11
10
 
12
- 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; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+ // ----------------------------------------------------------------------------
15
12
  // Factory
16
13
  // ----------------------------------------------------------------------------
17
14
 
18
15
  function vtkDistanceWidget(publicAPI, model) {
19
16
  model.classHierarchy.push('vtkDistanceWidget');
17
+ const superClass = {
18
+ ...publicAPI
19
+ };
20
20
 
21
- var superClass = _objectSpread({}, publicAPI); // --- Widget Requirement ---------------------------------------------------
22
-
21
+ // --- Widget Requirement ---------------------------------------------------
23
22
 
24
23
  model.methodsToLink = ['activeScaleFactor', 'activeColor', 'useActiveColor', 'glyphResolution', 'defaultScale', 'scaleInPixels'];
25
-
26
- publicAPI.getRepresentationsForViewType = function (viewType) {
24
+ publicAPI.getRepresentationsForViewType = viewType => {
27
25
  switch (viewType) {
28
26
  case ViewTypes.DEFAULT:
29
27
  case ViewTypes.GEOMETRY:
@@ -41,67 +39,71 @@ function vtkDistanceWidget(publicAPI, model) {
41
39
  labels: ['handles', 'moveHandle']
42
40
  }];
43
41
  }
44
- }; // --- Public methods -------------------------------------------------------
45
-
42
+ };
46
43
 
47
- publicAPI.getDistance = function () {
48
- var handles = model.widgetState.getHandleList();
44
+ // --- Public methods -------------------------------------------------------
49
45
 
46
+ publicAPI.getDistance = () => {
47
+ const handles = model.widgetState.getHandleList();
50
48
  if (handles.length !== 2) {
51
49
  return 0;
52
50
  }
53
-
54
51
  if (!handles[0].getOrigin() || !handles[1].getOrigin()) {
55
52
  return 0;
56
53
  }
57
-
58
54
  return Math.sqrt(distance2BetweenPoints(handles[0].getOrigin(), handles[1].getOrigin()));
59
55
  };
60
-
61
- publicAPI.setManipulator = function (manipulator) {
56
+ publicAPI.setManipulator = manipulator => {
62
57
  superClass.setManipulator(manipulator);
63
58
  model.widgetState.getMoveHandle().setManipulator(manipulator);
64
- model.widgetState.getHandleList().forEach(function (handle) {
59
+ model.widgetState.getHandleList().forEach(handle => {
65
60
  handle.setManipulator(manipulator);
66
61
  });
67
- }; // --------------------------------------------------------------------------
62
+ };
63
+
64
+ // --------------------------------------------------------------------------
68
65
  // initialization
69
66
  // --------------------------------------------------------------------------
70
67
 
71
-
72
- model.widgetState.onBoundsChange(function (bounds) {
73
- var center = [(bounds[0] + bounds[1]) * 0.5, (bounds[2] + bounds[3]) * 0.5, (bounds[4] + bounds[5]) * 0.5];
68
+ model.widgetState.onBoundsChange(bounds => {
69
+ const center = [(bounds[0] + bounds[1]) * 0.5, (bounds[2] + bounds[3]) * 0.5, (bounds[4] + bounds[5]) * 0.5];
74
70
  model.widgetState.getMoveHandle().setOrigin(center);
75
- }); // Default manipulator
71
+ });
76
72
 
73
+ // Default manipulator
77
74
  publicAPI.setManipulator(model.manipulator || vtkPlanePointManipulator.newInstance({
78
75
  useCameraNormal: true
79
76
  }));
80
- } // ----------------------------------------------------------------------------
77
+ }
81
78
 
79
+ // ----------------------------------------------------------------------------
82
80
 
83
- var defaultValues = function defaultValues(initialValues) {
84
- return _objectSpread({
85
- // manipulator: null,
86
- behavior: widgetBehavior,
87
- widgetState: generateState()
88
- }, initialValues);
89
- }; // ----------------------------------------------------------------------------
81
+ const defaultValues = initialValues => ({
82
+ // manipulator: null,
83
+ behavior: widgetBehavior,
84
+ widgetState: generateState(),
85
+ ...initialValues
86
+ });
90
87
 
88
+ // ----------------------------------------------------------------------------
91
89
 
92
90
  function extend(publicAPI, model) {
93
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
91
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
94
92
  Object.assign(model, defaultValues(initialValues));
95
93
  vtkAbstractWidgetFactory.extend(publicAPI, model, initialValues);
96
94
  macro.setGet(publicAPI, model, ['manipulator']);
97
95
  vtkDistanceWidget(publicAPI, model);
98
- } // ----------------------------------------------------------------------------
96
+ }
97
+
98
+ // ----------------------------------------------------------------------------
99
99
 
100
- var newInstance = macro.newInstance(extend, 'vtkDistanceWidget'); // ----------------------------------------------------------------------------
100
+ const newInstance = macro.newInstance(extend, 'vtkDistanceWidget');
101
+
102
+ // ----------------------------------------------------------------------------
101
103
 
102
104
  var vtkDistanceWidget$1 = {
103
- newInstance: newInstance,
104
- extend: extend
105
+ newInstance,
106
+ extend
105
107
  };
106
108
 
107
109
  export { vtkDistanceWidget$1 as default, extend, newInstance };
@@ -1,37 +1,32 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
1
  import widgetBehavior$1 from '../ShapeWidget/behavior.js';
3
2
  import { vec3 } from 'gl-matrix';
4
3
 
5
- 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
-
7
- 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; }
8
4
  function widgetBehavior(publicAPI, model) {
9
5
  model.shapeHandle = model.widgetState.getEllipseHandle();
10
6
  model.point1Handle = model.widgetState.getPoint1Handle();
11
7
  model.point2Handle = model.widgetState.getPoint2Handle();
12
8
  model.point1Handle.setManipulator(model.manipulator);
13
- model.point2Handle.setManipulator(model.manipulator); // We inherit shapeBehavior
9
+ model.point2Handle.setManipulator(model.manipulator);
14
10
 
11
+ // We inherit shapeBehavior
15
12
  widgetBehavior$1(publicAPI, model);
16
-
17
- var superClass = _objectSpread({}, publicAPI);
18
-
13
+ const superClass = {
14
+ ...publicAPI
15
+ };
19
16
  model.classHierarchy.push('vtkEllipseWidgetProp');
20
-
21
- publicAPI.setCorners = function (point1, point2) {
17
+ publicAPI.setCorners = (point1, point2) => {
22
18
  if (superClass.setCorners) {
23
19
  superClass.setCorners(point1, point2);
24
20
  }
25
-
26
- var center = [0.5 * (point1[0] + point2[0]), 0.5 * (point1[1] + point2[1]), 0.5 * (point1[2] + point2[2])];
27
- var diagonal = [0, 0, 0];
21
+ const center = [0.5 * (point1[0] + point2[0]), 0.5 * (point1[1] + point2[1]), 0.5 * (point1[2] + point2[2])];
22
+ const diagonal = [0, 0, 0];
28
23
  vec3.subtract(diagonal, point2, center);
29
- var right = model.shapeHandle.getRight();
30
- var up = model.shapeHandle.getUp();
31
- var dir = model.shapeHandle.getDirection();
32
- var rightComponent = vec3.dot(diagonal, right);
33
- var upComponent = vec3.dot(diagonal, up);
34
- var dirComponent = vec3.dot(diagonal, dir);
24
+ const right = model.shapeHandle.getRight();
25
+ const up = model.shapeHandle.getUp();
26
+ const dir = model.shapeHandle.getDirection();
27
+ const rightComponent = vec3.dot(diagonal, right);
28
+ const upComponent = vec3.dot(diagonal, up);
29
+ const dirComponent = vec3.dot(diagonal, dir);
35
30
  model.shapeHandle.setOrigin(center);
36
31
  model.shapeHandle.setScale3([rightComponent, upComponent, dirComponent]);
37
32
  };
@@ -26,7 +26,8 @@ function generateState() {
26
26
  // visible: false,
27
27
  scale3: [1, 1, 1]
28
28
  }
29
- }) // FIXME: How to not duplicate with RectangleWidget
29
+ })
30
+ // FIXME: How to not duplicate with RectangleWidget
30
31
  .addStateFromMixin({
31
32
  labels: ['SVGtext'],
32
33
  mixins: ['origin', 'color', 'text', 'visible'],
@@ -36,7 +37,8 @@ function generateState() {
36
37
  * displaying text before positioning the handles */
37
38
  text: ''
38
39
  }
39
- }) // FIXME: to move in text handle sub state
40
+ })
41
+ // FIXME: to move in text handle sub state
40
42
  .addField({
41
43
  name: 'textPosition',
42
44
  initialValue: [TextPosition.CENTER, TextPosition.CENTER, TextPosition.CENTER]
@@ -1,6 +1,4 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
4
2
  import vtkCircleContextRepresentation from '../Representations/CircleContextRepresentation.js';
5
3
  import vtkPlanePointManipulator from '../Manipulators/PlaneManipulator.js';
6
4
  import vtkShapeWidget from './ShapeWidget.js';
@@ -10,18 +8,17 @@ import generateState from './EllipseWidget/state.js';
10
8
  import { BehaviorCategory, ShapeBehavior } from './ShapeWidget/Constants.js';
11
9
  import { ViewTypes } from '../Core/WidgetManager/Constants.js';
12
10
 
13
- 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; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+ // ----------------------------------------------------------------------------
16
12
  // Factory
17
13
  // ----------------------------------------------------------------------------
18
14
 
19
15
  function vtkEllipseWidget(publicAPI, model) {
20
- model.classHierarchy.push('vtkEllipseWidget'); // --- Widget Requirement ---------------------------------------------------
16
+ model.classHierarchy.push('vtkEllipseWidget');
21
17
 
22
- model.methodsToLink = [].concat(_toConsumableArray(model.methodsToLink), ['activeScaleFactor', 'activeColor', 'useActiveColor', 'glyphResolution', 'defaultScale', 'drawBorder', 'drawFace', 'opacity']);
18
+ // --- Widget Requirement ---------------------------------------------------
23
19
 
24
- publicAPI.getRepresentationsForViewType = function (viewType) {
20
+ model.methodsToLink = [...model.methodsToLink, 'activeScaleFactor', 'activeColor', 'useActiveColor', 'glyphResolution', 'defaultScale', 'drawBorder', 'drawFace', 'opacity'];
21
+ publicAPI.getRepresentationsForViewType = viewType => {
25
22
  switch (viewType) {
26
23
  case ViewTypes.DEFAULT:
27
24
  case ViewTypes.GEOMETRY:
@@ -36,44 +33,58 @@ function vtkEllipseWidget(publicAPI, model) {
36
33
  labels: ['ellipseHandle']
37
34
  }];
38
35
  }
39
- }; // --------------------------------------------------------------------------
36
+ };
37
+
38
+ // --------------------------------------------------------------------------
40
39
  // initialization
41
40
  // --------------------------------------------------------------------------
42
41
 
43
-
44
42
  publicAPI.setManipulator(model.manipulator || vtkPlanePointManipulator.newInstance({
45
43
  useCameraNormal: true
46
44
  }));
47
- } // ----------------------------------------------------------------------------
45
+ }
48
46
 
47
+ // ----------------------------------------------------------------------------
49
48
 
50
49
  function defaultValues(initialValues) {
51
- var _None;
52
-
53
- return _objectSpread({
50
+ return {
54
51
  behavior: widgetBehavior,
55
52
  widgetState: generateState(),
56
53
  modifierBehavior: {
57
- None: (_None = {}, _defineProperty(_None, BehaviorCategory.PLACEMENT, ShapeBehavior[BehaviorCategory.PLACEMENT].CLICK_AND_DRAG), _defineProperty(_None, BehaviorCategory.POINTS, ShapeBehavior[BehaviorCategory.POINTS].CENTER_TO_CORNER), _defineProperty(_None, BehaviorCategory.RATIO, ShapeBehavior[BehaviorCategory.RATIO].FREE), _None),
58
- Shift: _defineProperty({}, BehaviorCategory.RATIO, ShapeBehavior[BehaviorCategory.RATIO].FIXED),
59
- Control: _defineProperty({}, BehaviorCategory.POINTS, ShapeBehavior[BehaviorCategory.POINTS].CORNER_TO_CORNER)
60
- }
61
- }, initialValues);
62
- } // ----------------------------------------------------------------------------
54
+ None: {
55
+ [BehaviorCategory.PLACEMENT]: ShapeBehavior[BehaviorCategory.PLACEMENT].CLICK_AND_DRAG,
56
+ [BehaviorCategory.POINTS]: ShapeBehavior[BehaviorCategory.POINTS].CENTER_TO_CORNER,
57
+ [BehaviorCategory.RATIO]: ShapeBehavior[BehaviorCategory.RATIO].FREE
58
+ },
59
+ Shift: {
60
+ [BehaviorCategory.RATIO]: ShapeBehavior[BehaviorCategory.RATIO].FIXED
61
+ },
62
+ Control: {
63
+ [BehaviorCategory.POINTS]: ShapeBehavior[BehaviorCategory.POINTS].CORNER_TO_CORNER
64
+ }
65
+ },
66
+ ...initialValues
67
+ };
68
+ }
63
69
 
70
+ // ----------------------------------------------------------------------------
64
71
 
65
72
  function extend(publicAPI, model) {
66
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
73
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
67
74
  vtkShapeWidget.extend(publicAPI, model, defaultValues(initialValues));
68
75
  macro.setGet(publicAPI, model, ['widgetState']);
69
76
  vtkEllipseWidget(publicAPI, model);
70
- } // ----------------------------------------------------------------------------
77
+ }
78
+
79
+ // ----------------------------------------------------------------------------
80
+
81
+ const newInstance = macro.newInstance(extend, 'vtkEllipseWidget');
71
82
 
72
- var newInstance = macro.newInstance(extend, 'vtkEllipseWidget'); // ----------------------------------------------------------------------------
83
+ // ----------------------------------------------------------------------------
73
84
 
74
85
  var vtkEllipseWidget$1 = {
75
- newInstance: newInstance,
76
- extend: extend
86
+ newInstance,
87
+ extend
77
88
  };
78
89
 
79
90
  export { vtkEllipseWidget$1 as default, extend, newInstance };
@@ -1,125 +1,95 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../../macros.js';
1
+ import { m as macro } from '../../../macros2.js';
3
2
  import { handleTypeFromName, AXES, transformVec3, rotateVec3 } from './helpers.js';
4
3
 
5
4
  function widgetBehavior(publicAPI, model) {
6
5
  model._isDragging = false;
7
-
8
- publicAPI.setDisplayCallback = function (callback) {
9
- return model.representations[0].setDisplayCallback(callback);
10
- };
11
-
12
- publicAPI.handleLeftButtonPress = function () {
6
+ publicAPI.setDisplayCallback = callback => model.representations[0].setDisplayCallback(callback);
7
+ publicAPI.handleLeftButtonPress = () => {
13
8
  if (!model.activeState || !model.activeState.getActive() || !model.pickable) {
14
9
  return macro.VOID;
15
10
  }
16
-
17
11
  if (model.dragable) {
18
12
  model._isDragging = true;
19
-
20
13
  model._apiSpecificRenderWindow.setCursor('grabbing');
21
-
22
14
  model._interactor.requestAnimation(publicAPI);
23
15
  }
24
-
25
16
  return macro.EVENT_ABORT;
26
17
  };
27
-
28
- publicAPI.handleMouseMove = function (callData) {
18
+ publicAPI.handleMouseMove = callData => {
29
19
  if (model._isDragging) {
30
20
  return publicAPI.handleEvent(callData);
31
21
  }
32
-
33
22
  return macro.VOID;
34
23
  };
35
-
36
- publicAPI.handleLeftButtonRelease = function () {
24
+ publicAPI.handleLeftButtonRelease = () => {
37
25
  if (!model.activeState || !model.activeState.getActive() || !model.pickable) {
38
26
  return macro.VOID;
39
27
  }
40
-
41
28
  if (model._isDragging) {
42
29
  model._isDragging = false;
43
-
44
30
  model._interactor.cancelAnimation(publicAPI);
45
-
46
31
  model.widgetState.deactivate();
47
32
  }
48
-
49
33
  return macro.EVENT_ABORT;
50
34
  };
51
-
52
- publicAPI.handleEvent = function (callData) {
35
+ publicAPI.handleEvent = callData => {
53
36
  if (model.pickable && model.activeState && model.activeState.getActive()) {
54
- var manipulator = model.activeState.getManipulator();
55
-
37
+ const manipulator = model.activeState.getManipulator();
56
38
  if (manipulator) {
57
- var name = model.activeState.getName();
58
- var type = handleTypeFromName(name);
59
- var index = name.split('').map(function (l) {
60
- return AXES.indexOf(l);
61
- });
62
- var planes = model.widgetState.getCroppingPlanes().getPlanes();
63
- var indexToWorldT = model.widgetState.getIndexToWorldT();
64
- var worldCoords = [];
65
-
39
+ const name = model.activeState.getName();
40
+ const type = handleTypeFromName(name);
41
+ const index = name.split('').map(l => AXES.indexOf(l));
42
+ const planes = model.widgetState.getCroppingPlanes().getPlanes();
43
+ const indexToWorldT = model.widgetState.getIndexToWorldT();
44
+ let worldCoords = [];
66
45
  if (type === 'corners') {
67
46
  // manipulator should be a plane manipulator
68
47
  worldCoords = manipulator.handleEvent(callData, model._apiSpecificRenderWindow).worldCoords;
69
48
  }
70
-
71
49
  if (type === 'faces') {
72
50
  // constraint axis is line defined by the index and center point.
73
51
  // Since our index point is defined inside a box [0, 2, 0, 2, 0, 2],
74
52
  // center point is [1, 1, 1].
75
- var constraintAxis = [1 - index[0], 1 - index[1], 1 - index[2]]; // get center of current crop box
53
+ const constraintAxis = [1 - index[0], 1 - index[1], 1 - index[2]];
76
54
 
77
- var center = [(planes[0] + planes[1]) / 2, (planes[2] + planes[3]) / 2, (planes[4] + planes[5]) / 2]; // manipulator should be a line manipulator
55
+ // get center of current crop box
56
+ const center = [(planes[0] + planes[1]) / 2, (planes[2] + planes[3]) / 2, (planes[4] + planes[5]) / 2];
78
57
 
58
+ // manipulator should be a line manipulator
79
59
  manipulator.setHandleOrigin(transformVec3(center, indexToWorldT));
80
60
  manipulator.setHandleNormal(rotateVec3(constraintAxis, indexToWorldT));
81
61
  worldCoords = manipulator.handleEvent(callData, model._apiSpecificRenderWindow).worldCoords;
82
62
  }
83
-
84
63
  if (type === 'edges') {
85
64
  // constrain to a plane with a normal parallel to the edge
86
- var edgeAxis = index.map(function (a) {
87
- return a === 1 ? a : 0;
88
- });
65
+ const edgeAxis = index.map(a => a === 1 ? a : 0);
89
66
  manipulator.setHandleNormal(rotateVec3(edgeAxis, indexToWorldT));
90
67
  worldCoords = manipulator.handleEvent(callData, model._apiSpecificRenderWindow).worldCoords;
91
68
  }
92
-
93
69
  if (worldCoords.length) {
94
- var _model$activeState, _model$widgetState$ge;
95
-
96
70
  // transform worldCoords to indexCoords, and then update the croppingPlanes() state with setPlanes().
97
- var worldToIndexT = model.widgetState.getWorldToIndexT();
98
- var indexCoords = transformVec3(worldCoords, worldToIndexT);
99
-
100
- for (var i = 0; i < 3; i++) {
71
+ const worldToIndexT = model.widgetState.getWorldToIndexT();
72
+ const indexCoords = transformVec3(worldCoords, worldToIndexT);
73
+ for (let i = 0; i < 3; i++) {
101
74
  if (index[i] === 0) {
102
75
  planes[i * 2] = indexCoords[i];
103
76
  } else if (index[i] === 2) {
104
77
  planes[i * 2 + 1] = indexCoords[i];
105
78
  }
106
79
  }
107
-
108
- (_model$activeState = model.activeState).setOrigin.apply(_model$activeState, _toConsumableArray(worldCoords));
109
-
110
- (_model$widgetState$ge = model.widgetState.getCroppingPlanes()).setPlanes.apply(_model$widgetState$ge, _toConsumableArray(planes));
111
-
80
+ model.activeState.setOrigin(...worldCoords);
81
+ model.widgetState.getCroppingPlanes().setPlanes(...planes);
112
82
  return macro.EVENT_ABORT;
113
83
  }
114
84
  }
115
85
  }
116
-
117
86
  return macro.VOID;
118
- }; // --------------------------------------------------------------------------
87
+ };
88
+
89
+ // --------------------------------------------------------------------------
119
90
  // initialization
120
91
  // --------------------------------------------------------------------------
121
92
 
122
-
123
93
  model._camera = model._renderer.getActiveCamera();
124
94
  model.classHierarchy.push('vtkImageCroppingWidgetProp');
125
95
  }
@@ -1,40 +1,37 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
1
  import { vec3, quat, mat4 } from 'gl-matrix';
3
2
 
4
- var AXES = ['-', '=', '+']; // ----------------------------------------------------------------------------
3
+ // Labels used to encode handle position in the handle state's name property
4
+ const AXES = ['-', '=', '+'];
5
+
6
+ // ----------------------------------------------------------------------------
5
7
 
6
8
  function transformVec3(ain, transform) {
7
- var vout = new Float64Array(3);
9
+ const vout = new Float64Array(3);
8
10
  vec3.transformMat4(vout, ain, transform);
9
11
  return vout;
10
- } // ----------------------------------------------------------------------------
12
+ }
13
+
14
+ // ----------------------------------------------------------------------------
11
15
 
12
16
  function rotateVec3(vec, transform) {
13
17
  // transform is a mat4
14
- var out = vec3.create();
15
- var q = quat.create();
18
+ const out = vec3.create();
19
+ const q = quat.create();
16
20
  mat4.getRotation(q, transform);
17
21
  vec3.transformQuat(out, vec, q);
18
22
  return out;
19
- } // ----------------------------------------------------------------------------
23
+ }
20
24
 
21
- function handleTypeFromName(name) {
22
- var _name$split$map = name.split('').map(function (l) {
23
- return AXES.indexOf(l) - 1;
24
- }),
25
- _name$split$map2 = _slicedToArray(_name$split$map, 3),
26
- i = _name$split$map2[0],
27
- j = _name$split$map2[1],
28
- k = _name$split$map2[2];
25
+ // ----------------------------------------------------------------------------
29
26
 
27
+ function handleTypeFromName(name) {
28
+ const [i, j, k] = name.split('').map(l => AXES.indexOf(l) - 1);
30
29
  if (i * j * k !== 0) {
31
30
  return 'corners';
32
31
  }
33
-
34
32
  if (i * j !== 0 || j * k !== 0 || k * i !== 0) {
35
33
  return 'edges';
36
34
  }
37
-
38
35
  return 'faces';
39
36
  }
40
37
 
@@ -3,55 +3,59 @@ import { AXES, handleTypeFromName } from './helpers.js';
3
3
 
4
4
  function build() {
5
5
  // create our state builder
6
- var builder = vtkStateBuilder.createBuilder(); // add image data description fields
6
+ const builder = vtkStateBuilder.createBuilder();
7
7
 
8
+ // add image data description fields
8
9
  builder.addField({
9
10
  name: 'indexToWorldT',
10
11
  initialValue: Array(16).fill(0)
11
12
  }).addField({
12
13
  name: 'worldToIndexT',
13
14
  initialValue: Array(16).fill(0)
14
- }); // make cropping planes a sub-state so we can listen to it
15
- // separately from the rest of the widget state.
15
+ });
16
16
 
17
- var croppingState = vtkStateBuilder.createBuilder().addField({
17
+ // make cropping planes a sub-state so we can listen to it
18
+ // separately from the rest of the widget state.
19
+ const croppingState = vtkStateBuilder.createBuilder().addField({
18
20
  name: 'planes',
19
21
  // index space
20
22
  initialValue: [0, 1, 0, 1, 0, 1]
21
- }).build(); // add cropping planes state to our primary state
23
+ }).build();
22
24
 
25
+ // add cropping planes state to our primary state
23
26
  builder.addStateFromInstance({
24
27
  labels: ['croppingPlanes'],
25
28
  name: 'croppingPlanes',
26
29
  instance: croppingState
27
- }); // add all handle states
28
- // default bounds is [-1, 1] in all dimensions
30
+ });
29
31
 
30
- for (var i = -1; i < 2; i++) {
31
- for (var j = -1; j < 2; j++) {
32
- for (var k = -1; k < 2; k++) {
32
+ // add all handle states
33
+ // default bounds is [-1, 1] in all dimensions
34
+ for (let i = -1; i < 2; i++) {
35
+ for (let j = -1; j < 2; j++) {
36
+ for (let k = -1; k < 2; k++) {
33
37
  // skip center of box
34
38
  if (i !== 0 || j !== 0 || k !== 0) {
35
- var name = AXES[i + 1] + AXES[j + 1] + AXES[k + 1];
36
- var type = handleTypeFromName(name); // since handle states are rendered via vtkSphereHandleRepresentation,
37
- // we can dictate the handle origin, size (scale1), color, and visibility.
39
+ const name = AXES[i + 1] + AXES[j + 1] + AXES[k + 1];
40
+ const type = handleTypeFromName(name);
38
41
 
42
+ // since handle states are rendered via vtkSphereHandleRepresentation,
43
+ // we can dictate the handle origin, size (scale1), color, and visibility.
39
44
  builder.addStateFromMixin({
40
45
  labels: ['handles', name, type],
41
46
  mixins: ['name', 'origin', 'color', 'scale1', 'visible', 'manipulator'],
42
- name: name,
47
+ name,
43
48
  initialValues: {
44
49
  scale1: 30,
45
50
  origin: [i, j, k],
46
51
  visible: true,
47
- name: name
52
+ name
48
53
  }
49
54
  });
50
55
  }
51
56
  }
52
57
  }
53
58
  }
54
-
55
59
  return builder.build();
56
60
  }
57
61