@kitware/vtk.js 28.10.2 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +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/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. package/vtk.js +18 -31
@@ -1,45 +1,43 @@
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 vtkCellArray from '../../Common/Core/CellArray.js';
5
3
  import vtkPolygon from '../../Common/DataModel/Polygon.js';
6
4
  import vtkPolyData from '../../Common/DataModel/PolyData.js';
7
5
  import { VtkDataTypes } from '../../Common/Core/DataArray/Constants.js';
8
6
  import { vtkCCSMakePolysFromLines, vtkCCSJoinLooseEnds, vtkCCSFindTrueEdges, vtkCCSMakeHoleyPolys, vtkCCSCutHoleyPolys, vtkCCSSplitAtPinchPoints, vtkCCSTriangulate } from './ContourTriangulator/helper.js';
9
7
 
10
- 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; }
11
-
12
- 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; }
13
- var vtkErrorMacro = macro.vtkErrorMacro;
14
- var TRIANGULATION_ERROR_DISPLAY = false;
8
+ const {
9
+ vtkErrorMacro
10
+ } = macro;
11
+ const TRIANGULATION_ERROR_DISPLAY = false;
15
12
 
13
+ //------------------------------------------------------------------------------
16
14
  function triangulateContours(polyData, firstLine, numLines, polys, normal) {
17
- var triangulatePolys = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
18
- var triangulationFailure = false; // If no cut lines were generated, there's nothing to do
15
+ let triangulatePolys = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
16
+ let triangulationFailure = false;
19
17
 
18
+ // If no cut lines were generated, there's nothing to do
20
19
  if (numLines <= 0) {
21
20
  return false;
22
21
  }
22
+ const points = polyData.getPoints();
23
23
 
24
- var points = polyData.getPoints(); // Join all the new lines into connected groups, i.e. polygons.
24
+ // Join all the new lines into connected groups, i.e. polygons.
25
25
  // If we are lucky these will be simple, convex polygons. But
26
26
  // we can't count on that.
27
27
 
28
- var newPolys = [];
29
- var incompletePolys = [];
30
- var oriented = (normal === null || normal === void 0 ? void 0 : normal.length) < 3;
31
- vtkCCSMakePolysFromLines(polyData, firstLine, firstLine + numLines, oriented, newPolys, incompletePolys); // if no normal specified, then compute one from largest contour
32
-
33
- var computedNormal = normal;
28
+ const newPolys = [];
29
+ const incompletePolys = [];
30
+ const oriented = normal?.length < 3;
31
+ vtkCCSMakePolysFromLines(polyData, firstLine, firstLine + numLines, oriented, newPolys, incompletePolys);
34
32
 
33
+ // if no normal specified, then compute one from largest contour
34
+ let computedNormal = normal;
35
35
  if (!oriented) {
36
36
  computedNormal = [0, 0, 1];
37
- var maxnorm = 0;
38
- var n = [];
39
-
40
- for (var i = 0; i < newPolys.length; i++) {
41
- var norm = vtkPolygon.getNormal(newPolys[i], points, n);
42
-
37
+ let maxnorm = 0;
38
+ const n = [];
39
+ for (let i = 0; i < newPolys.length; i++) {
40
+ const norm = vtkPolygon.getNormal(newPolys[i], points, n);
43
41
  if (norm > maxnorm) {
44
42
  maxnorm = norm;
45
43
  computedNormal[0] = n[0];
@@ -47,116 +45,112 @@ function triangulateContours(polyData, firstLine, numLines, polys, normal) {
47
45
  computedNormal[2] = n[2];
48
46
  }
49
47
  }
50
- } // Join any loose ends. If the input was a closed surface then there
48
+ }
49
+
50
+ // Join any loose ends. If the input was a closed surface then there
51
51
  // will not be any loose ends, so this is provided as a service to users
52
52
  // who want to clip a non-closed surface.
53
+ vtkCCSJoinLooseEnds(newPolys, incompletePolys, points, computedNormal);
53
54
 
54
-
55
- vtkCCSJoinLooseEnds(newPolys, incompletePolys, points, computedNormal); // Some points might be in the middle of straight line segments.
55
+ // Some points might be in the middle of straight line segments.
56
56
  // These points can be removed without changing the shape of the
57
57
  // polys, and removing them makes triangulation more stable.
58
58
  // Unfortunately removing these points also means that the polys
59
59
  // will no longer form a watertight cap over the cut.
60
60
 
61
- var polyEdges = [];
62
- var originalEdges = [];
63
- vtkCCSFindTrueEdges(newPolys, points, polyEdges, originalEdges); // Next we have to check for polygons with holes, i.e. polygons that
61
+ const polyEdges = [];
62
+ const originalEdges = [];
63
+ vtkCCSFindTrueEdges(newPolys, points, polyEdges, originalEdges);
64
+
65
+ // Next we have to check for polygons with holes, i.e. polygons that
64
66
  // have other polygons inside. Each polygon is "grouped" with the
65
67
  // polygons that make up its holes.
66
- // Initialize each group to hold just one polygon.
67
68
 
68
- var numNewPolys = newPolys.length;
69
- var polyGroups = new Array(numNewPolys);
69
+ // Initialize each group to hold just one polygon.
70
+ const numNewPolys = newPolys.length;
71
+ const polyGroups = new Array(numNewPolys);
72
+ for (let i = 0; i < numNewPolys; i++) {
73
+ polyGroups[i] = [i];
74
+ }
70
75
 
71
- for (var _i = 0; _i < numNewPolys; _i++) {
72
- polyGroups[_i] = [_i];
73
- } // Find out which polys are holes in larger polys. Create a group
76
+ // Find out which polys are holes in larger polys. Create a group
74
77
  // for each poly where the first member of the group is the larger
75
78
  // poly, and all other members are the holes. The number of polyGroups
76
79
  // will be the same as the number of polys, and any polys that are
77
80
  // holes will have a matching empty group.
78
81
 
82
+ vtkCCSMakeHoleyPolys(newPolys, points, polyGroups, polyEdges, originalEdges, computedNormal, oriented);
79
83
 
80
- vtkCCSMakeHoleyPolys(newPolys, points, polyGroups, polyEdges, originalEdges, computedNormal, oriented); // Make cuts to create simple polygons out of the holey polys.
84
+ // Make cuts to create simple polygons out of the holey polys.
81
85
  // After this is done, each polyGroup will have exactly 1 polygon,
82
86
  // and no polys will be holes. This is currently the most computationally
83
87
  // expensive part of the process.
84
88
 
85
89
  if (!vtkCCSCutHoleyPolys(newPolys, points, polyGroups, polyEdges, computedNormal)) {
86
90
  triangulationFailure = true;
87
- } // Some polys might be self-intersecting. Split the polys at each intersection point.
91
+ }
88
92
 
93
+ // Some polys might be self-intersecting. Split the polys at each intersection point.
94
+ vtkCCSSplitAtPinchPoints(newPolys, points, polyGroups, polyEdges, computedNormal, oriented);
89
95
 
90
- vtkCCSSplitAtPinchPoints(newPolys, points, polyGroups, polyEdges, computedNormal, oriented); // ------ Triangulation code ------
91
- // Go through all polys and triangulate them
96
+ // ------ Triangulation code ------
92
97
 
93
- for (var polyId = 0; polyId < polyGroups.length; polyId++) {
98
+ // Go through all polys and triangulate them
99
+ for (let polyId = 0; polyId < polyGroups.length; polyId++) {
94
100
  // If group is empty, then poly was a hole without a containing poly
95
101
  if (polyGroups[polyId].length === 0) {
96
102
  // eslint-disable-next-line no-continue
97
103
  continue;
98
104
  }
99
-
100
105
  if (!triangulatePolys) {
101
106
  polys.insertNextCell(originalEdges.slice(1, originalEdges.length));
102
107
  } else if (!vtkCCSTriangulate(newPolys[polyId], points, polyEdges[polyId], originalEdges, polys, computedNormal)) {
103
- triangulationFailure = false; // Diagnostic code: show the polys as outlines
108
+ triangulationFailure = false;
104
109
  }
105
110
  }
106
-
107
111
  return !triangulationFailure;
108
- } // ---------------------------------------------------
109
-
112
+ }
110
113
 
114
+ // ---------------------------------------------------
111
115
  function triangulatePolygon(polygon, points, triangles) {
112
- var poly = _toConsumableArray(polygon);
113
-
114
- var polys = [poly];
115
- var originalEdges = [];
116
- var polyEdges = [];
116
+ const poly = [...polygon];
117
+ const polys = [poly];
118
+ const originalEdges = [];
119
+ const polyEdges = [];
117
120
  vtkCCSFindTrueEdges(polys, points, polyEdges, originalEdges);
118
- var edges = polyEdges[0];
119
- var success = true;
120
- var normal = [];
121
- var norm = vtkPolygon.getNormal(poly, points, normal);
122
-
121
+ const edges = polyEdges[0];
122
+ let success = true;
123
+ const normal = [];
124
+ const norm = vtkPolygon.getNormal(poly, points, normal);
123
125
  if (norm !== 0) {
124
126
  success = vtkCCSTriangulate(poly, points, edges, originalEdges, triangles, normal);
125
127
  }
126
-
127
128
  return success;
128
129
  }
129
-
130
- var STATIC = {
131
- triangulateContours: triangulateContours,
132
- triangulatePolygon: triangulatePolygon
130
+ const STATIC = {
131
+ triangulateContours,
132
+ triangulatePolygon
133
133
  };
134
-
135
134
  function vtkContourTriangulator(publicAPI, model) {
136
135
  // Set our className
137
136
  model.classHierarchy.push('vtkContourTriangulator');
138
-
139
- publicAPI.requestData = function (inData, outData) {
137
+ publicAPI.requestData = (inData, outData) => {
140
138
  // implement requestData
141
- var input = inData[0]; // FIXME: do not instantiate a new polydata each time the filter is executed.
142
-
143
- var output = vtkPolyData.newInstance();
139
+ const input = inData[0];
140
+ // FIXME: do not instantiate a new polydata each time the filter is executed.
141
+ const output = vtkPolyData.newInstance();
144
142
  outData[0] = output;
145
-
146
143
  if (!input) {
147
144
  vtkErrorMacro('Invalid or missing input');
148
145
  return false;
149
146
  }
150
-
151
- var triangulationError = false;
152
- var lines = input.getLines();
153
-
147
+ let triangulationError = false;
148
+ const lines = input.getLines();
154
149
  if (lines == null || lines.getNumberOfCells() === 0) {
155
150
  return true;
156
151
  }
157
-
158
152
  input.buildCells();
159
- var polysArray = vtkCellArray.newInstance({
153
+ const polysArray = vtkCellArray.newInstance({
160
154
  dataType: VtkDataTypes.DOUBLE,
161
155
  empty: true
162
156
  });
@@ -164,39 +158,48 @@ function vtkContourTriangulator(publicAPI, model) {
164
158
  output.setPoints(input.getPoints());
165
159
  output.getPointData().passData(input.getPointData());
166
160
  triangulationError = !triangulateContours(input, input.getNumberOfVerts(), lines.getNumberOfCells(), polysArray, null, model.triangulatePolys);
167
-
168
161
  if (triangulationError && TRIANGULATION_ERROR_DISPLAY) {
169
162
  vtkErrorMacro('Triangulation failed, output might have holes.');
170
163
  }
171
-
172
164
  return true;
173
165
  };
174
- } // ----------------------------------------------------------------------------
166
+ }
167
+
168
+ // ----------------------------------------------------------------------------
175
169
  // Object factory
176
170
  // ----------------------------------------------------------------------------
177
171
 
178
-
179
- var DEFAULT_VALUES = {
172
+ const DEFAULT_VALUES = {
180
173
  triangulatePolys: true
181
- }; // ----------------------------------------------------------------------------
174
+ };
175
+
176
+ // ----------------------------------------------------------------------------
182
177
 
183
178
  function extend(publicAPI, model) {
184
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
185
- Object.assign(model, DEFAULT_VALUES, initialValues); // Make this a VTK object
179
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
180
+ Object.assign(model, DEFAULT_VALUES, initialValues);
186
181
 
187
- macro.obj(publicAPI, model); // Also make it an algorithm with one input and one output
182
+ // Make this a VTK object
183
+ macro.obj(publicAPI, model);
188
184
 
185
+ // Also make it an algorithm with one input and one output
189
186
  macro.algo(publicAPI, model, 1, 1);
190
- macro.setGet(publicAPI, model, ['triangulatePolys']); // Object specific methods
187
+ macro.setGet(publicAPI, model, ['triangulatePolys']);
191
188
 
189
+ // Object specific methods
192
190
  vtkContourTriangulator(publicAPI, model);
193
- } // ----------------------------------------------------------------------------
191
+ }
194
192
 
195
- var newInstance = macro.newInstance(extend, 'vtkContourTriangulator'); // ----------------------------------------------------------------------------
193
+ // ----------------------------------------------------------------------------
194
+
195
+ const newInstance = macro.newInstance(extend, 'vtkContourTriangulator');
196
196
 
197
- var vtkContourTriangulator$1 = _objectSpread({
198
- newInstance: newInstance,
199
- extend: extend
200
- }, STATIC);
197
+ // ----------------------------------------------------------------------------
198
+
199
+ var vtkContourTriangulator$1 = {
200
+ newInstance,
201
+ extend,
202
+ ...STATIC
203
+ };
201
204
 
202
205
  export { STATIC, vtkContourTriangulator$1 as default, extend, newInstance };
@@ -1,158 +1,157 @@
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 vtkImageData from '../../Common/DataModel/ImageData.js';
4
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
5
4
 
6
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
5
+ const {
6
+ vtkErrorMacro
7
+ } = macro;
8
+
9
+ // ----------------------------------------------------------------------------
7
10
  // vtkImageCropFilter methods
8
11
  // ----------------------------------------------------------------------------
9
12
 
10
13
  function vtkImageCropFilter(publicAPI, model) {
11
14
  // Set our className
12
- model.classHierarchy.push('vtkImageCropFilter'); // --------------------------------------------------------------------------
15
+ model.classHierarchy.push('vtkImageCropFilter');
13
16
 
14
- publicAPI.reset = function () {
15
- var data = publicAPI.getInputData();
17
+ // --------------------------------------------------------------------------
16
18
 
19
+ publicAPI.reset = () => {
20
+ const data = publicAPI.getInputData();
17
21
  if (data) {
18
- publicAPI.setCroppingPlanes.apply(publicAPI, _toConsumableArray(data.getExtent()));
22
+ publicAPI.setCroppingPlanes(...data.getExtent());
19
23
  }
20
- }; // --------------------------------------------------------------------------
24
+ };
21
25
 
26
+ // --------------------------------------------------------------------------
22
27
 
23
- publicAPI.requestData = function (inData, outData) {
28
+ publicAPI.requestData = (inData, outData) => {
24
29
  // implement requestData
25
- var input = inData[0];
26
-
30
+ const input = inData[0];
27
31
  if (!input) {
28
32
  vtkErrorMacro('Invalid or missing input');
29
33
  return;
30
34
  }
31
-
32
- var scalars = input.getPointData().getScalars();
33
-
35
+ const scalars = input.getPointData().getScalars();
34
36
  if (!scalars) {
35
37
  vtkErrorMacro('No scalars from input');
36
38
  return;
37
39
  }
38
-
39
- var extent = input.getExtent();
40
- var cropped = model.croppingPlanes && model.croppingPlanes.length === 6 ? extent.map(function (e, i) {
40
+ const extent = input.getExtent();
41
+ const cropped = model.croppingPlanes && model.croppingPlanes.length === 6 ? extent.map((e, i) => {
41
42
  if (i % 2 === 0) {
42
43
  // min plane
43
44
  return Math.max(e, Math.round(model.croppingPlanes[i]));
44
- } // max plane
45
-
46
-
45
+ }
46
+ // max plane
47
47
  return Math.min(e, Math.round(model.croppingPlanes[i]));
48
48
  }) : extent.slice();
49
-
50
49
  if (cropped[0] === extent[0] && cropped[1] === extent[1] && cropped[2] === extent[2] && cropped[3] === extent[3] && cropped[4] === extent[4] && cropped[5] === extent[5]) {
51
- var sameAsInput = vtkImageData.newInstance();
50
+ const sameAsInput = vtkImageData.newInstance();
52
51
  sameAsInput.shallowCopy(input); // Force new mtime
53
-
54
52
  outData[0] = sameAsInput;
55
53
  return;
56
- } // reorder if needed
57
-
54
+ }
58
55
 
59
- for (var i = 0; i < 3; ++i) {
56
+ // reorder if needed
57
+ for (let i = 0; i < 3; ++i) {
60
58
  if (cropped[i * 2] > cropped[i * 2 + 1]) {
61
- var _ref = [cropped[i * 2 + 1], cropped[i * 2]];
62
- cropped[i * 2] = _ref[0];
63
- cropped[i * 2 + 1] = _ref[1];
59
+ [cropped[i * 2], cropped[i * 2 + 1]] = [cropped[i * 2 + 1], cropped[i * 2]];
64
60
  }
65
- } // restrict crop bounds based on extent bounds
66
-
61
+ }
67
62
 
68
- for (var _i = 0; _i < 6; _i += 2) {
63
+ // restrict crop bounds based on extent bounds
64
+ for (let i = 0; i < 6; i += 2) {
69
65
  // min case
70
- cropped[_i] = Math.max(cropped[_i], extent[_i]); // max case
71
-
72
- cropped[_i + 1] = Math.min(cropped[_i + 1], extent[_i + 1]);
66
+ cropped[i] = Math.max(cropped[i], extent[i]);
67
+ // max case
68
+ cropped[i + 1] = Math.min(cropped[i + 1], extent[i + 1]);
73
69
  }
70
+ const numberOfComponents = scalars.getNumberOfComponents();
71
+ const componentSize = (cropped[1] - cropped[0] + 1) * (cropped[3] - cropped[2] + 1) * (cropped[5] - cropped[4] + 1) * numberOfComponents;
72
+ const scalarsData = scalars.getData();
73
+ const dims = input.getDimensions();
74
+ const jStride = numberOfComponents * dims[0];
75
+ const kStride = numberOfComponents * dims[0] * dims[1];
76
+ const beginOffset = (cropped[0] - extent[0]) * numberOfComponents;
77
+ const stripSize = (cropped[1] - cropped[0] + 1) * numberOfComponents; // +1 because subarray end is exclusive
74
78
 
75
- var numberOfComponents = scalars.getNumberOfComponents();
76
- var componentSize = (cropped[1] - cropped[0] + 1) * (cropped[3] - cropped[2] + 1) * (cropped[5] - cropped[4] + 1) * numberOfComponents;
77
- var scalarsData = scalars.getData();
78
- var dims = input.getDimensions();
79
- var jStride = numberOfComponents * dims[0];
80
- var kStride = numberOfComponents * dims[0] * dims[1];
81
- var beginOffset = (cropped[0] - extent[0]) * numberOfComponents;
82
- var stripSize = (cropped[1] - cropped[0] + 1) * numberOfComponents; // +1 because subarray end is exclusive
83
79
  // crop image
84
-
85
- var croppedArray = new scalarsData.constructor(componentSize);
86
- var index = 0;
87
-
88
- for (var k = cropped[4]; k <= cropped[5]; ++k) {
89
- for (var j = cropped[2]; j <= cropped[3]; ++j) {
90
- var begin = beginOffset + (j - extent[2]) * jStride + (k - extent[4]) * kStride;
91
- var end = begin + stripSize;
92
- var slice = scalarsData.subarray(begin, end);
80
+ const croppedArray = new scalarsData.constructor(componentSize);
81
+ let index = 0;
82
+ for (let k = cropped[4]; k <= cropped[5]; ++k) {
83
+ for (let j = cropped[2]; j <= cropped[3]; ++j) {
84
+ const begin = beginOffset + (j - extent[2]) * jStride + (k - extent[4]) * kStride;
85
+ const end = begin + stripSize;
86
+ const slice = scalarsData.subarray(begin, end);
93
87
  croppedArray.set(slice, index);
94
88
  index += slice.length;
95
89
  }
96
90
  }
97
-
98
- var outImage = vtkImageData.newInstance({
91
+ const outImage = vtkImageData.newInstance({
99
92
  extent: cropped,
100
93
  origin: input.getOrigin(),
101
94
  direction: input.getDirection(),
102
95
  spacing: input.getSpacing()
103
96
  });
104
- var croppedScalars = vtkDataArray.newInstance({
97
+ const croppedScalars = vtkDataArray.newInstance({
105
98
  name: scalars.getName(),
106
- numberOfComponents: numberOfComponents,
99
+ numberOfComponents,
107
100
  values: croppedArray
108
101
  });
109
102
  outImage.getPointData().setScalars(croppedScalars);
110
103
  outData[0] = outImage;
111
104
  };
112
-
113
- publicAPI.isResetAvailable = function () {
105
+ publicAPI.isResetAvailable = () => {
114
106
  if (model.croppingPlanes == null || model.croppingPlanes.length === 0) {
115
107
  return false;
116
108
  }
117
-
118
- var data = publicAPI.getInputData();
119
-
109
+ const data = publicAPI.getInputData();
120
110
  if (data) {
121
- var originalExtent = data.getExtent();
122
- var findDifference = originalExtent.find(function (v, i) {
123
- return Math.abs(model.croppingPlanes[i] - v) > Number.EPSILON;
124
- });
111
+ const originalExtent = data.getExtent();
112
+ const findDifference = originalExtent.find((v, i) => Math.abs(model.croppingPlanes[i] - v) > Number.EPSILON);
125
113
  return findDifference !== undefined;
126
114
  }
127
-
128
115
  return false;
129
116
  };
130
- } // ----------------------------------------------------------------------------
117
+ }
118
+
119
+ // ----------------------------------------------------------------------------
131
120
  // Object factory
132
121
  // ----------------------------------------------------------------------------
133
122
 
123
+ const DEFAULT_VALUES = {
124
+ // croppingPlanes: null,
125
+ };
134
126
 
135
- var DEFAULT_VALUES = {// croppingPlanes: null,
136
- }; // ----------------------------------------------------------------------------
127
+ // ----------------------------------------------------------------------------
137
128
 
138
129
  function extend(publicAPI, model) {
139
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
140
- Object.assign(model, DEFAULT_VALUES, initialValues); // Make this a VTK object
130
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
131
+ Object.assign(model, DEFAULT_VALUES, initialValues);
141
132
 
142
- macro.obj(publicAPI, model); // Also make it an algorithm with one input and one output
133
+ // Make this a VTK object
134
+ macro.obj(publicAPI, model);
143
135
 
144
- macro.algo(publicAPI, model, 1, 1); // no orientation support yet
136
+ // Also make it an algorithm with one input and one output
137
+ macro.algo(publicAPI, model, 1, 1);
145
138
 
146
- macro.setGetArray(publicAPI, model, ['croppingPlanes'], 6); // Object specific methods
139
+ // no orientation support yet
140
+ macro.setGetArray(publicAPI, model, ['croppingPlanes'], 6);
147
141
 
142
+ // Object specific methods
148
143
  vtkImageCropFilter(publicAPI, model);
149
- } // ----------------------------------------------------------------------------
144
+ }
150
145
 
151
- var newInstance = macro.newInstance(extend, 'vtkImageCropFilter'); // ----------------------------------------------------------------------------
146
+ // ----------------------------------------------------------------------------
147
+
148
+ const newInstance = macro.newInstance(extend, 'vtkImageCropFilter');
149
+
150
+ // ----------------------------------------------------------------------------
152
151
 
153
152
  var vtkImageCropFilter$1 = {
154
- newInstance: newInstance,
155
- extend: extend
153
+ newInstance,
154
+ extend
156
155
  };
157
156
 
158
157
  export { vtkImageCropFilter$1 as default, extend, newInstance };
@@ -1,82 +1,88 @@
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 vtkCubeSource from '../Sources/CubeSource.js';
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; }
4
+ const {
5
+ vtkErrorMacro
6
+ } = macro;
6
7
 
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
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // vtkImageDataOutlineFilter methods
10
10
  // ----------------------------------------------------------------------------
11
11
 
12
12
  function vtkImageDataOutlineFilter(publicAPI, model) {
13
13
  // Set our className
14
- model.classHierarchy.push('vtkImageDataOutlineFilter'); // Capture "parentClass" api for internal use
15
-
16
- var superClass = _objectSpread({}, publicAPI);
14
+ model.classHierarchy.push('vtkImageDataOutlineFilter');
17
15
 
18
- publicAPI.requestData = function (inData, outData) {
16
+ // Capture "parentClass" api for internal use
17
+ const superClass = {
18
+ ...publicAPI
19
+ };
20
+ publicAPI.requestData = (inData, outData) => {
19
21
  // implement requestData
20
- var input = inData[0];
21
-
22
+ const input = inData[0];
22
23
  if (!input || !input.isA('vtkImageData')) {
23
24
  vtkErrorMacro('Invalid or missing input');
24
25
  return;
25
- } // First create a cube polydata in the index-space of the image.
26
+ }
27
+
28
+ // First create a cube polydata in the index-space of the image.
26
29
  // The benefit of using `getSpatialExtent` call is that it automatically
27
30
  // takes care of 0.5 voxel padding as required by an vtkImageData representation.
28
-
29
-
30
- var spatialExt = input.getSpatialExtent();
31
-
31
+ const spatialExt = input.getSpatialExtent();
32
32
  if (!spatialExt) {
33
33
  vtkErrorMacro('Unable to fetch spatial extents of input image.');
34
34
  return;
35
35
  }
36
+ model._cubeSource.setBounds(spatialExt);
36
37
 
37
- model._cubeSource.setBounds(spatialExt); // Then apply index-to-world transform to the cube to create the outline.
38
-
39
-
38
+ // Then apply index-to-world transform to the cube to create the outline.
40
39
  model._cubeSource.setMatrix(input.getIndexToWorld());
41
-
42
40
  outData[0] = model._cubeSource.getOutputData();
43
41
  };
42
+ publicAPI.getMTime = () => Math.max(superClass.getMTime(), model._cubeSource.getMTime());
44
43
 
45
- publicAPI.getMTime = function () {
46
- return Math.max(superClass.getMTime(), model._cubeSource.getMTime());
47
- }; // Forward calls for [set/get]Generate[Faces/Lines] functions to cubeSource:
48
-
49
-
44
+ // Forward calls for [set/get]Generate[Faces/Lines] functions to cubeSource:
50
45
  publicAPI.setGenerateFaces = model._cubeSource.setGenerateFaces;
51
46
  publicAPI.setGenerateLines = model._cubeSource.setGenerateLines;
52
47
  publicAPI.getGenerateFaces = model._cubeSource.getGenerateFaces;
53
48
  publicAPI.getGenerateLines = model._cubeSource.getGenerateLines;
54
- } // ----------------------------------------------------------------------------
49
+ }
50
+
51
+ // ----------------------------------------------------------------------------
55
52
  // Object factory
56
53
  // ----------------------------------------------------------------------------
57
54
 
55
+ const DEFAULT_VALUES = {};
58
56
 
59
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
57
+ // ----------------------------------------------------------------------------
60
58
 
61
59
  function extend(publicAPI, model) {
62
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
63
- Object.assign(model, DEFAULT_VALUES, initialValues); // Make this a VTK object
60
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
61
+ Object.assign(model, DEFAULT_VALUES, initialValues);
64
62
 
65
- macro.obj(publicAPI, model); // Also make it an algorithm with one input and one output
63
+ // Make this a VTK object
64
+ macro.obj(publicAPI, model);
66
65
 
67
- macro.algo(publicAPI, model, 1, 1); // Internal persistent objects
66
+ // Also make it an algorithm with one input and one output
67
+ macro.algo(publicAPI, model, 1, 1);
68
68
 
69
+ // Internal persistent objects
69
70
  model._cubeSource = vtkCubeSource.newInstance();
70
- macro.moveToProtected(publicAPI, model, ['cubeSource', 'tmpOut']); // Object specific methods
71
+ macro.moveToProtected(publicAPI, model, ['cubeSource', 'tmpOut']);
71
72
 
73
+ // Object specific methods
72
74
  vtkImageDataOutlineFilter(publicAPI, model);
73
- } // ----------------------------------------------------------------------------
75
+ }
76
+
77
+ // ----------------------------------------------------------------------------
74
78
 
75
- var newInstance = macro.newInstance(extend, 'vtkImageDataOutlineFilter'); // ----------------------------------------------------------------------------
79
+ const newInstance = macro.newInstance(extend, 'vtkImageDataOutlineFilter');
80
+
81
+ // ----------------------------------------------------------------------------
76
82
 
77
83
  var vtkImageDataOutlineFilter$1 = {
78
- newInstance: newInstance,
79
- extend: extend
84
+ newInstance,
85
+ extend
80
86
  };
81
87
 
82
88
  export { vtkImageDataOutlineFilter$1 as default, extend, newInstance };