@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,371 +1,325 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
5
2
  import { f as vtkMath } from '../Core/Math/index.js';
6
3
  import vtkBoundingBox from './BoundingBox.js';
7
4
  import vtkIncrementalOctreeNode from './IncrementalOctreeNode.js';
8
5
  import vtkAbstractPointLocator from './AbstractPointLocator.js';
9
6
  import { VtkDataTypes } from '../Core/DataArray/Constants.js';
10
7
 
11
- 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; }
12
-
13
- 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; }
14
- var vtkErrorMacro = macro.vtkErrorMacro;
15
-
8
+ const {
9
+ vtkErrorMacro
10
+ } = macro;
16
11
  function vtkIncrementalOctreePointLocator(publicAPI, model) {
17
12
  // Set our className
18
13
  model.classHierarchy.push('vtkIncrementalOctreePointLocator');
19
-
20
14
  function getLeafContainer(node, pnt) {
21
15
  return node.isLeaf() ? node : getLeafContainer(node.getChild(node.getChildIndex(pnt)), pnt);
22
- } //------------------------------------------------------------------------------
16
+ }
23
17
 
24
-
25
- publicAPI.freeSearchStructure = function () {
18
+ //------------------------------------------------------------------------------
19
+ publicAPI.freeSearchStructure = () => {
26
20
  model.octreeRootNode = null;
27
21
  model.numberOfNodes = 0;
28
22
  model.locatorPoints = null;
29
- }; //------------------------------------------------------------------------------
30
-
23
+ };
31
24
 
32
- publicAPI.findClosestPointInLeafNode = function (leafNode, point) {
25
+ //------------------------------------------------------------------------------
26
+ publicAPI.findClosestPointInLeafNode = (leafNode, point) => {
33
27
  // NOTE: dist2 MUST be initiated with a very huge value below, but instead of
34
28
  // model.octreeMaxDimSize * model.octreeMaxDimSize * 4.0, because the point
35
29
  // under check may be outside the octree and hence the squared distance can
36
30
  // be greater than the latter or other similar octree-based specific values.
37
- var dist2 = Number.MAX_VALUE;
38
-
31
+ let dist2 = Number.MAX_VALUE;
39
32
  if (leafNode.getPointIdSet() == null) {
40
33
  return [-1, dist2];
41
34
  }
42
-
43
- var numPts = 0;
44
- var tmpDst = 0.0;
45
- var tmpPnt = [];
46
- var tmpIdx = -1;
47
- var pntIdx = -1;
48
- var idList = leafNode.getPointIdSet();
35
+ let numPts = 0;
36
+ let tmpDst = 0.0;
37
+ const tmpPnt = [];
38
+ let tmpIdx = -1;
39
+ let pntIdx = -1;
40
+ let idList = leafNode.getPointIdSet();
49
41
  numPts = idList.length;
50
-
51
- for (var i = 0; i < numPts; i++) {
42
+ for (let i = 0; i < numPts; i++) {
52
43
  tmpIdx = idList[i];
53
44
  model.locatorPoints.getPoint(tmpIdx, tmpPnt);
54
45
  tmpDst = vtkMath.distance2BetweenPoints(tmpPnt, point);
55
-
56
46
  if (tmpDst < dist2) {
57
47
  dist2 = tmpDst;
58
48
  pntIdx = tmpIdx;
59
49
  }
60
-
61
50
  if (dist2 === 0.0) {
62
51
  break;
63
52
  }
64
53
  }
65
-
66
54
  idList = null;
67
55
  return [pntIdx, dist2];
68
56
  };
69
-
70
- publicAPI.findClosestPointInSphere = function (point, radius2, maskNode, refDist2) {
71
- var pointIndx = -1;
72
- var minDist2 = Number.MAX_VALUE;
73
- var nodesBase = [];
57
+ publicAPI.findClosestPointInSphere = (point, radius2, maskNode, refDist2) => {
58
+ let pointIndx = -1;
59
+ let minDist2 = Number.MAX_VALUE;
60
+ const nodesBase = [];
74
61
  nodesBase.push(model.octreeRootNode);
75
- var checkNode;
76
- var childNode;
77
- var distToData;
78
- var tempDist2;
79
- var tempPntId;
80
-
62
+ let checkNode;
63
+ let childNode;
64
+ let distToData;
65
+ let tempDist2;
66
+ let tempPntId;
81
67
  while (!nodesBase.length === 0 && minDist2 > 0.0) {
82
68
  checkNode = nodesBase.top();
83
69
  nodesBase.pop();
84
-
85
70
  if (!checkNode.isLeaf()) {
86
- for (var i = 0; i < 8; i++) {
87
- childNode = checkNode.getChild(i); // use ( radius2 + radius2 ) to skip empty nodes
71
+ for (let i = 0; i < 8; i++) {
72
+ childNode = checkNode.getChild(i);
88
73
 
89
- distToData = childNode.getNumberOfPoints() ? childNode.getDistance2ToBoundary(point, model.octreeRootNode, 1) : radius2 + radius2; // If a child node is not the mask node AND its distance, specifically
74
+ // use ( radius2 + radius2 ) to skip empty nodes
75
+ distToData = childNode.getNumberOfPoints() ? childNode.getDistance2ToBoundary(point, model.octreeRootNode, 1) : radius2 + radius2;
76
+
77
+ // If a child node is not the mask node AND its distance, specifically
90
78
  // the data bounding box (determined by the points inside or under) to
91
79
  // the point, is less than the threshold radius (one exception is the
92
80
  // point's container nodes), it is pushed to the stack as a suspect.
93
-
94
81
  if (childNode !== maskNode && (distToData <= refDist2 || childNode.containsPoint(point) === 1)) {
95
82
  nodesBase.push(childNode);
96
83
  }
97
-
98
84
  childNode = null;
99
85
  }
100
86
  } else {
101
87
  // now that the node under check is a leaf, let's find the closest
102
88
  // point therein and the minimum distance
103
- var _publicAPI$findCloses = publicAPI.findClosestPointInLeafNode(checkNode, point);
104
-
105
- var _publicAPI$findCloses2 = _slicedToArray(_publicAPI$findCloses, 2);
106
-
107
- tempPntId = _publicAPI$findCloses2[0];
108
- tempDist2 = _publicAPI$findCloses2[1];
109
89
 
90
+ [tempPntId, tempDist2] = publicAPI.findClosestPointInLeafNode(checkNode, point);
110
91
  if (tempDist2 < minDist2) {
111
92
  minDist2 = tempDist2;
112
93
  pointIndx = tempPntId;
113
94
  }
114
95
  }
115
-
116
96
  checkNode = null;
117
97
  }
118
-
119
98
  return [minDist2 <= radius2 ? pointIndx : -1, minDist2];
120
- }; //------------------------------------------------------------------------------
121
-
99
+ };
122
100
 
101
+ //------------------------------------------------------------------------------
123
102
  publicAPI.initPointInsertion = function (points, bounds) {
124
- var _model$octreeRootNode;
125
- var i = 0;
126
- var bbIndex = 0;
127
-
103
+ let i = 0;
104
+ let bbIndex = 0;
128
105
  if (points == null) {
129
106
  vtkErrorMacro('a valid vtkPoints object required for point insertion');
130
107
  return false;
131
- } // destroy the existing octree, if any
132
-
108
+ }
133
109
 
110
+ // destroy the existing octree, if any
134
111
  publicAPI.freeSearchStructure();
135
- model.locatorPoints = points; // obtain the threshold squared distance
112
+ model.locatorPoints = points;
136
113
 
137
- model.insertTolerance2 = model.tolerance * model.tolerance; // Fix bounds
114
+ // obtain the threshold squared distance
115
+ model.insertTolerance2 = model.tolerance * model.tolerance;
116
+
117
+ // Fix bounds
138
118
  // (1) push out a little bit if the original volume is too flat --- a slab
139
119
  // (2) pull back the x, y, and z's lower bounds a little bit such that
140
120
  // points are clearly "inside" the spatial region. Point p is taken as
141
121
  // "inside" range r = [r1, r2] if and only if r1 < p <= r2.
142
-
143
122
  model.octreeMaxDimSize = 0.0;
144
-
145
- var tmpBbox = _toConsumableArray(bounds);
146
-
147
- var dimDiff = vtkBoundingBox.getLengths(bounds);
148
- model.octreeMaxDimSize = Math.max.apply(Math, _toConsumableArray(dimDiff));
149
-
123
+ const tmpBbox = [...bounds];
124
+ const dimDiff = vtkBoundingBox.getLengths(bounds);
125
+ model.octreeMaxDimSize = Math.max(...dimDiff);
150
126
  if (model.buildCubicOctree) {
151
127
  // make the bounding box a cube and hence descendant octants cubes too
152
128
  for (i = 0; i < 3; i++) {
153
129
  if (dimDiff[i] !== model.octreeMaxDimSize) {
154
- var delta = model.octreeMaxDimSize - dimDiff[i];
130
+ const delta = model.octreeMaxDimSize - dimDiff[i];
155
131
  tmpBbox[2 * i] -= 0.5 * delta;
156
132
  tmpBbox[2 * i + 1] += 0.5 * delta;
157
133
  dimDiff[i] = model.octreeMaxDimSize;
158
134
  }
159
135
  }
160
136
  }
161
-
162
137
  model.fudgeFactor = model.octreeMaxDimSize * 10e-6;
163
- var minSideSize = model.octreeMaxDimSize * 10e-2;
164
-
138
+ const minSideSize = model.octreeMaxDimSize * 10e-2;
165
139
  for (i = 0; i < 3; i++) {
166
140
  if (dimDiff[i] < minSideSize) {
167
141
  // case (1) above
168
142
  bbIndex = 2 * i;
169
- var tempVal = tmpBbox[bbIndex];
143
+ const tempVal = tmpBbox[bbIndex];
170
144
  tmpBbox[bbIndex] = tmpBbox[bbIndex + 1] - minSideSize;
171
145
  tmpBbox[bbIndex + 1] = tempVal + minSideSize;
172
146
  } else {
173
147
  // case (2) above
174
148
  tmpBbox[2 * i] -= model.fudgeFactor;
175
149
  }
176
- } // init the octree with an empty leaf node
177
-
150
+ }
178
151
 
152
+ // init the octree with an empty leaf node
179
153
  model.octreeRootNode = vtkIncrementalOctreeNode.newInstance();
180
- ++model.numberOfNodes; // this call internally inits the middle (center) and data range, too
181
-
182
- (_model$octreeRootNode = model.octreeRootNode).setBounds.apply(_model$octreeRootNode, _toConsumableArray(tmpBbox));
154
+ ++model.numberOfNodes;
183
155
 
156
+ // this call internally inits the middle (center) and data range, too
157
+ model.octreeRootNode.setBounds(...tmpBbox);
184
158
  return true;
185
159
  };
160
+ publicAPI.findClosestPointInSphereWithTolerance = (point, radius2, maskNode) => publicAPI.findClosestPointInSphere(point, radius2, maskNode, model.octreeMaxDimSize * model.octreeMaxDimSize * 4.0, radius2);
186
161
 
187
- publicAPI.findClosestPointInSphereWithTolerance = function (point, radius2, maskNode) {
188
- return publicAPI.findClosestPointInSphere(point, radius2, maskNode, model.octreeMaxDimSize * model.octreeMaxDimSize * 4.0, radius2);
189
- }; //------------------------------------------------------------------------------
190
-
162
+ //------------------------------------------------------------------------------
163
+ publicAPI.findDuplicateFloatTypePointInVisitedLeafNode = (leafNode, point) => {
164
+ let tmpPnt;
165
+ let tmpIdx = -1;
166
+ let pntIdx = -1;
191
167
 
192
- publicAPI.findDuplicateFloatTypePointInVisitedLeafNode = function (leafNode, point) {
193
- var tmpPnt;
194
- var tmpIdx = -1;
195
- var pntIdx = -1; // float thePnt[3]; // TODO
168
+ // float thePnt[3]; // TODO
196
169
  // thePnt[0] = static_cast<float>(point[0]);
197
170
  // thePnt[1] = static_cast<float>(point[1]);
198
171
  // thePnt[2] = static_cast<float>(point[2]);
199
172
 
200
- var idList = leafNode.getPointIdSet(); // float* pFloat = (static_cast<vtkFloatArray*>(model.locatorPoints.getData())).getPointer(0);
201
-
202
- var values = model.locatorPoints.getData();
203
-
204
- for (var i = 0; i < idList.length; i++) {
205
- tmpIdx = idList[i]; // eslint-disable-next-line no-bitwise
206
-
173
+ const idList = leafNode.getPointIdSet();
174
+ // float* pFloat = (static_cast<vtkFloatArray*>(model.locatorPoints.getData())).getPointer(0);
175
+ const values = model.locatorPoints.getData();
176
+ for (let i = 0; i < idList.length; i++) {
177
+ tmpIdx = idList[i];
178
+ // eslint-disable-next-line no-bitwise
207
179
  tmpPnt = (tmpIdx << 1) + tmpIdx;
208
-
209
180
  if (point[0] === values[tmpPnt] && point[1] === values[tmpPnt + 1] && point[2] === values[tmpPnt + 2]) {
210
181
  pntIdx = tmpIdx;
211
182
  break;
212
183
  }
213
184
  }
214
-
215
185
  return pntIdx;
216
- }; //------------------------------------------------------------------------------
217
-
218
-
219
- publicAPI.findDuplicateDoubleTypePointInVisitedLeafNode = function (leafNode, point) {
220
- var tmpPnt;
221
- var tmpIdx = -1;
222
- var pntIdx = -1;
223
- var idList = leafNode.getPointIdSet();
224
- var values = model.locatorPoints.getData();
225
-
226
- for (var i = 0; i < idList.length; i++) {
227
- tmpIdx = idList[i]; // eslint-disable-next-line no-bitwise
186
+ };
228
187
 
188
+ //------------------------------------------------------------------------------
189
+ publicAPI.findDuplicateDoubleTypePointInVisitedLeafNode = (leafNode, point) => {
190
+ let tmpPnt;
191
+ let tmpIdx = -1;
192
+ let pntIdx = -1;
193
+ const idList = leafNode.getPointIdSet();
194
+ const values = model.locatorPoints.getData();
195
+ for (let i = 0; i < idList.length; i++) {
196
+ tmpIdx = idList[i];
197
+ // eslint-disable-next-line no-bitwise
229
198
  tmpPnt = (tmpIdx << 1) + tmpIdx;
230
-
231
199
  if (point[0] === values[tmpPnt] && point[1] === values[tmpPnt + 1] && point[2] === values[tmpPnt + 2]) {
232
200
  pntIdx = tmpIdx;
233
201
  break;
234
202
  }
235
203
  }
236
-
237
204
  return pntIdx;
238
- }; //------------------------------------------------------------------------------
239
-
205
+ };
240
206
 
241
- publicAPI.findDuplicatePointInLeafNode = function (leafNode, point) {
207
+ //------------------------------------------------------------------------------
208
+ publicAPI.findDuplicatePointInLeafNode = (leafNode, point) => {
242
209
  if (leafNode.getPointIdSet() == null) {
243
210
  return -1;
244
211
  }
245
-
246
212
  return model.locatorPoints.getDataType() === VtkDataTypes.FLOAT ? publicAPI.findDuplicateFloatTypePointInVisitedLeafNode(leafNode, point) : publicAPI.findDuplicateDoubleTypePointInVisitedLeafNode(leafNode, point);
247
- }; //------------------------------------------------------------------------------
248
-
249
-
250
- publicAPI.insertPoint = function (ptId, x) {
251
- var leafcontainer = getLeafContainer(model.octreeRootNode, x);
252
-
253
- var _leafcontainer$insert = leafcontainer.insertPoint(model.locatorPoints, x, model.maxPointsPerLeaf, ptId, 1, model.numberOfNodes);
254
-
255
- model.numberOfNodes = _leafcontainer$insert.numberOfNodes;
256
- }; //------------------------------------------------------------------------------
213
+ };
257
214
 
215
+ //------------------------------------------------------------------------------
216
+ publicAPI.insertPoint = (ptId, x) => {
217
+ const leafcontainer = getLeafContainer(model.octreeRootNode, x);
218
+ ({
219
+ numberOfNodes: model.numberOfNodes
220
+ } = leafcontainer.insertPoint(model.locatorPoints, x, model.maxPointsPerLeaf, ptId, 1, model.numberOfNodes));
221
+ };
258
222
 
259
- publicAPI.insertUniquePoint = function (point) {
223
+ //------------------------------------------------------------------------------
224
+ publicAPI.insertUniquePoint = point => {
260
225
  // TODO: We have a mix of let and const here.
261
226
  // eslint-disable-next-line prefer-const
262
- var _publicAPI$isInserted = publicAPI.isInsertedPoint(point),
263
- pointIdx = _publicAPI$isInserted.pointIdx,
264
- leafContainer = _publicAPI$isInserted.leafContainer;
265
-
227
+ let {
228
+ pointIdx,
229
+ leafContainer
230
+ } = publicAPI.isInsertedPoint(point);
266
231
  if (pointIdx > -1) {
267
232
  return {
268
233
  success: false,
269
234
  idx: pointIdx
270
235
  };
271
- } // TODO: pointIdx
272
-
273
-
274
- var numberOfNodes; // eslint-disable-next-line prefer-const
275
-
276
- var _leafContainer$insert = leafContainer.insertPoint(model.locatorPoints, point, model.maxPointsPerLeaf, pointIdx, 2, model.numberOfNodes);
277
-
278
- numberOfNodes = _leafContainer$insert.numberOfNodes;
279
- pointIdx = _leafContainer$insert.pointIdx;
236
+ }
237
+ // TODO: pointIdx
238
+ let numberOfNodes;
239
+ // eslint-disable-next-line prefer-const
240
+ ({
241
+ numberOfNodes,
242
+ pointIdx
243
+ } = leafContainer.insertPoint(model.locatorPoints, point, model.maxPointsPerLeaf, pointIdx, 2, model.numberOfNodes));
280
244
  model.numberOfNodes = numberOfNodes;
281
245
  return {
282
246
  success: true,
283
247
  idx: pointIdx
284
248
  };
285
- }; //------------------------------------------------------------------------------
286
-
287
-
288
- publicAPI.insertNextPoint = function (x) {
289
- var leafContainer = getLeafContainer(model.octreeRootNode, x);
290
-
291
- var _leafContainer$insert2 = leafContainer.insertPoint(model.locatorPoints, x, model.maxPointsPerLeaf, -1, 2, model.numberOfNodes),
292
- numberOfNodes = _leafContainer$insert2.numberOfNodes,
293
- pointIdx = _leafContainer$insert2.pointIdx;
249
+ };
294
250
 
251
+ //------------------------------------------------------------------------------
252
+ publicAPI.insertNextPoint = x => {
253
+ const leafContainer = getLeafContainer(model.octreeRootNode, x);
254
+ const {
255
+ numberOfNodes,
256
+ pointIdx
257
+ } = leafContainer.insertPoint(model.locatorPoints, x, model.maxPointsPerLeaf, -1, 2, model.numberOfNodes);
295
258
  model.numberOfNodes = numberOfNodes;
296
259
  return pointIdx;
297
- }; //------------------------------------------------------------------------------
298
-
260
+ };
299
261
 
300
- publicAPI.isInsertedPointForZeroTolerance = function (x) {
262
+ //------------------------------------------------------------------------------
263
+ publicAPI.isInsertedPointForZeroTolerance = x => {
301
264
  // the target leaf node always exists there since the root node of the
302
265
  // octree has been initialized to cover all possible points to be inserted
303
266
  // and therefore we do not need to check it here
304
- var leafContainer = getLeafContainer(model.octreeRootNode, x);
305
- var pointIdx = publicAPI.findDuplicatePointInLeafNode(leafContainer, x);
267
+ const leafContainer = getLeafContainer(model.octreeRootNode, x);
268
+ const pointIdx = publicAPI.findDuplicatePointInLeafNode(leafContainer, x);
306
269
  return {
307
- pointIdx: pointIdx,
308
- leafContainer: leafContainer
270
+ pointIdx,
271
+ leafContainer
309
272
  };
310
- }; //------------------------------------------------------------------------------
311
-
273
+ };
312
274
 
313
- publicAPI.isInsertedPointForNonZeroTolerance = function (x) {
275
+ //------------------------------------------------------------------------------
276
+ publicAPI.isInsertedPointForNonZeroTolerance = x => {
314
277
  // minDist2 // min distance to ALL existing points
315
278
  // elseDst2 // min distance to other nodes (inner boundaries)
316
- var dist2Ext; // min distance to an EXTended set of nodes
279
+ let dist2Ext; // min distance to an EXTended set of nodes
280
+ let pntIdExt;
317
281
 
318
- var pntIdExt; // the target leaf node always exists there since the root node of the
282
+ // the target leaf node always exists there since the root node of the
319
283
  // octree has been initialized to cover all possible points to be inserted
320
284
  // and therefore we do not need to check it here
321
-
322
- var leafContainer = getLeafContainer(model.octreeRootNode, x);
323
-
324
- var _publicAPI$findCloses3 = publicAPI.findClosestPointInLeafNode(leafContainer, x),
325
- _publicAPI$findCloses4 = _slicedToArray(_publicAPI$findCloses3, 2),
326
- pointIdx = _publicAPI$findCloses4[0],
327
- minDist2 = _publicAPI$findCloses4[1];
328
-
285
+ const leafContainer = getLeafContainer(model.octreeRootNode, x);
286
+ let [pointIdx, minDist2] = publicAPI.findClosestPointInLeafNode(leafContainer, x);
329
287
  if (minDist2 === 0.0) {
330
288
  return {
331
- pointIdx: pointIdx,
332
- leafContainer: leafContainer
289
+ pointIdx,
290
+ leafContainer
333
291
  };
334
- } // As no any 'duplicate' point exists in this leaf node, we need to expand
335
- // the search scope to capture possible closer points in other nodes.
336
-
337
-
338
- var elseDst2 = leafContainer.getDistance2ToInnerBoundary(x, model.octreeRootNode);
292
+ }
339
293
 
294
+ // As no any 'duplicate' point exists in this leaf node, we need to expand
295
+ // the search scope to capture possible closer points in other nodes.
296
+ const elseDst2 = leafContainer.getDistance2ToInnerBoundary(x, model.octreeRootNode);
340
297
  if (elseDst2 < model.insertTolerance2) {
341
298
  // one or multiple closer points might exist in the neighboring nodes
342
299
  // TODO: dist2Ext
343
300
  pntIdExt = publicAPI.findClosestPointInSphereWithTolerance(x, model.insertTolerance2, leafContainer, dist2Ext);
344
-
345
301
  if (dist2Ext < minDist2) {
346
302
  minDist2 = dist2Ext;
347
303
  pointIdx = pntIdExt;
348
304
  }
349
305
  }
350
-
351
306
  pointIdx = minDist2 <= model.insertTolerance2 ? pointIdx : -1;
352
307
  return {
353
- pointIdx: pointIdx,
354
- leafContainer: leafContainer
308
+ pointIdx,
309
+ leafContainer
355
310
  };
356
- }; //------------------------------------------------------------------------------
311
+ };
357
312
 
313
+ //------------------------------------------------------------------------------
314
+ publicAPI.isInsertedPoint = (x, leafContainer) => model.insertTolerance2 === 0.0 ? publicAPI.isInsertedPointForZeroTolerance(x, leafContainer) : publicAPI.isInsertedPointForNonZeroTolerance(x, leafContainer);
315
+ }
358
316
 
359
- publicAPI.isInsertedPoint = function (x, leafContainer) {
360
- return model.insertTolerance2 === 0.0 ? publicAPI.isInsertedPointForZeroTolerance(x, leafContainer) : publicAPI.isInsertedPointForNonZeroTolerance(x, leafContainer);
361
- };
362
- } // ----------------------------------------------------------------------------
317
+ // ----------------------------------------------------------------------------
363
318
  // Object factory
364
319
  // ----------------------------------------------------------------------------
365
320
 
366
-
367
321
  function defaultValues(initialValues) {
368
- return _objectSpread({
322
+ return {
369
323
  fudgeFactor: 0,
370
324
  octreeMaxDimSize: 0,
371
325
  buildCubicOctree: false,
@@ -373,26 +327,34 @@ function defaultValues(initialValues) {
373
327
  insertTolerance2: 0.000001,
374
328
  locatorPoints: null,
375
329
  octreeRootNode: null,
376
- numberOfNodes: 0
377
- }, initialValues);
378
- } // ----------------------------------------------------------------------------
330
+ numberOfNodes: 0,
331
+ ...initialValues
332
+ };
333
+ }
379
334
 
335
+ // ----------------------------------------------------------------------------
380
336
 
381
337
  function extend(publicAPI, model) {
382
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
383
- vtkAbstractPointLocator.extend(publicAPI, model, defaultValues(initialValues)); // Make this a VTK object
338
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
339
+ vtkAbstractPointLocator.extend(publicAPI, model, defaultValues(initialValues));
384
340
 
341
+ // Make this a VTK object
385
342
  macro.obj(publicAPI, model);
386
- macro.setGet(publicAPI, model, ['fudgeFactor', 'octreeMaxDimSize', 'buildCubicOctree', 'maxPointsPerLeaf', 'insertTolerance2', 'locatorPoints', 'octreeRootNode', 'numberOfNodes']); // Object specific methods
343
+ macro.setGet(publicAPI, model, ['fudgeFactor', 'octreeMaxDimSize', 'buildCubicOctree', 'maxPointsPerLeaf', 'insertTolerance2', 'locatorPoints', 'octreeRootNode', 'numberOfNodes']);
387
344
 
345
+ // Object specific methods
388
346
  vtkIncrementalOctreePointLocator(publicAPI, model);
389
- } // ----------------------------------------------------------------------------
347
+ }
348
+
349
+ // ----------------------------------------------------------------------------
350
+
351
+ const newInstance = macro.newInstance(extend, 'vtkIncrementalOctreePointLocator');
390
352
 
391
- var newInstance = macro.newInstance(extend, 'vtkIncrementalOctreePointLocator'); // ----------------------------------------------------------------------------
353
+ // ----------------------------------------------------------------------------
392
354
 
393
355
  var vtkIncrementalOctreePointLocator$1 = {
394
- newInstance: newInstance,
395
- extend: extend
356
+ newInstance,
357
+ extend
396
358
  };
397
359
 
398
360
  export { vtkIncrementalOctreePointLocator$1 as default, extend, newInstance };