@kitware/vtk.js 28.10.1 → 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 (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +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 +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,31 +1,25 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
- import _createClass from '@babel/runtime/helpers/createClass';
4
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
5
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
6
1
  import { d as dot } from '../Core/Math/index.js';
7
2
  import { vec3 } from 'gl-matrix';
8
3
  import vtkPlane from './Plane.js';
9
4
 
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 INIT_BOUNDS = [Number.MAX_VALUE, -Number.MAX_VALUE, // X
14
- Number.MAX_VALUE, -Number.MAX_VALUE, // Y
5
+ const INIT_BOUNDS = [Number.MAX_VALUE, -Number.MAX_VALUE,
6
+ // X
7
+ Number.MAX_VALUE, -Number.MAX_VALUE,
8
+ // Y
15
9
  Number.MAX_VALUE, -Number.MAX_VALUE // Z
16
- ]; // ----------------------------------------------------------------------------
10
+ ];
11
+
12
+ // ----------------------------------------------------------------------------
17
13
  // Global methods
18
14
  // ----------------------------------------------------------------------------
19
15
 
20
- function _equals(a, b) {
16
+ function equals(a, b) {
21
17
  return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5];
22
18
  }
23
-
24
- function _isValid(bounds) {
25
- return (bounds === null || bounds === void 0 ? void 0 : bounds.length) >= 6 && bounds[0] <= bounds[1] && bounds[2] <= bounds[3] && bounds[4] <= bounds[5];
19
+ function isValid(bounds) {
20
+ return bounds?.length >= 6 && bounds[0] <= bounds[1] && bounds[2] <= bounds[3] && bounds[4] <= bounds[5];
26
21
  }
27
-
28
- function _setBounds(bounds, otherBounds) {
22
+ function setBounds(bounds, otherBounds) {
29
23
  bounds[0] = otherBounds[0];
30
24
  bounds[1] = otherBounds[1];
31
25
  bounds[2] = otherBounds[2];
@@ -34,20 +28,11 @@ function _setBounds(bounds, otherBounds) {
34
28
  bounds[5] = otherBounds[5];
35
29
  return bounds;
36
30
  }
37
-
38
- function _reset(bounds) {
39
- return _setBounds(bounds, INIT_BOUNDS);
31
+ function reset(bounds) {
32
+ return setBounds(bounds, INIT_BOUNDS);
40
33
  }
41
-
42
- function _addPoint(bounds, x, y, z) {
43
- var _bounds = _slicedToArray(bounds, 6),
44
- xMin = _bounds[0],
45
- xMax = _bounds[1],
46
- yMin = _bounds[2],
47
- yMax = _bounds[3],
48
- zMin = _bounds[4],
49
- zMax = _bounds[5];
50
-
34
+ function addPoint(bounds, x, y, z) {
35
+ const [xMin, xMax, yMin, yMax, zMin, zMax] = bounds;
51
36
  bounds[0] = xMin < x ? xMin : x;
52
37
  bounds[1] = xMax > x ? xMax : x;
53
38
  bounds[2] = yMin < y ? yMin : y;
@@ -56,34 +41,23 @@ function _addPoint(bounds, x, y, z) {
56
41
  bounds[5] = zMax > z ? zMax : z;
57
42
  return bounds;
58
43
  }
59
-
60
- function _addPoints(bounds, points) {
44
+ function addPoints(bounds, points) {
61
45
  if (points.length === 0) {
62
46
  return bounds;
63
47
  }
64
-
65
48
  if (Array.isArray(points[0])) {
66
- for (var i = 0; i < points.length; ++i) {
67
- _addPoint.apply(void 0, [bounds].concat(_toConsumableArray(points[i])));
49
+ for (let i = 0; i < points.length; ++i) {
50
+ addPoint(bounds, ...points[i]);
68
51
  }
69
52
  } else {
70
- for (var _i = 0; _i < points.length; _i += 3) {
71
- _addPoint.apply(void 0, [bounds].concat(_toConsumableArray(points.slice(_i, _i + 3))));
53
+ for (let i = 0; i < points.length; i += 3) {
54
+ addPoint(bounds, ...points.slice(i, i + 3));
72
55
  }
73
56
  }
74
-
75
57
  return bounds;
76
58
  }
77
-
78
- function _addBounds(bounds, xMin, xMax, yMin, yMax, zMin, zMax) {
79
- var _bounds2 = _slicedToArray(bounds, 6),
80
- _xMin = _bounds2[0],
81
- _xMax = _bounds2[1],
82
- _yMin = _bounds2[2],
83
- _yMax = _bounds2[3],
84
- _zMin = _bounds2[4],
85
- _zMax = _bounds2[5];
86
-
59
+ function addBounds(bounds, xMin, xMax, yMin, yMax, zMin, zMax) {
60
+ const [_xMin, _xMax, _yMin, _yMax, _zMin, _zMax] = bounds;
87
61
  if (zMax === undefined) {
88
62
  bounds[0] = Math.min(xMin[0], _xMin);
89
63
  bounds[1] = Math.max(xMin[1], _xMax);
@@ -99,19 +73,10 @@ function _addBounds(bounds, xMin, xMax, yMin, yMax, zMin, zMax) {
99
73
  bounds[4] = Math.min(zMin, _zMin);
100
74
  bounds[5] = Math.max(zMax, _zMax);
101
75
  }
102
-
103
76
  return bounds;
104
77
  }
105
-
106
- function _setMinPoint(bounds, x, y, z) {
107
- var _bounds3 = _slicedToArray(bounds, 6),
108
- xMin = _bounds3[0],
109
- xMax = _bounds3[1],
110
- yMin = _bounds3[2],
111
- yMax = _bounds3[3],
112
- zMin = _bounds3[4],
113
- zMax = _bounds3[5];
114
-
78
+ function setMinPoint(bounds, x, y, z) {
79
+ const [xMin, xMax, yMin, yMax, zMin, zMax] = bounds;
115
80
  bounds[0] = x;
116
81
  bounds[1] = x > xMax ? x : xMax;
117
82
  bounds[2] = y;
@@ -120,16 +85,8 @@ function _setMinPoint(bounds, x, y, z) {
120
85
  bounds[5] = z > zMax ? z : zMax;
121
86
  return xMin !== x || yMin !== y || zMin !== z;
122
87
  }
123
-
124
- function _setMaxPoint(bounds, x, y, z) {
125
- var _bounds4 = _slicedToArray(bounds, 6),
126
- xMin = _bounds4[0],
127
- xMax = _bounds4[1],
128
- yMin = _bounds4[2],
129
- yMax = _bounds4[3],
130
- zMin = _bounds4[4],
131
- zMax = _bounds4[5];
132
-
88
+ function setMaxPoint(bounds, x, y, z) {
89
+ const [xMin, xMax, yMin, yMax, zMin, zMax] = bounds;
133
90
  bounds[0] = x < xMin ? x : xMin;
134
91
  bounds[1] = x;
135
92
  bounds[2] = y < yMin ? y : yMin;
@@ -138,8 +95,7 @@ function _setMaxPoint(bounds, x, y, z) {
138
95
  bounds[5] = z;
139
96
  return xMax !== x || yMax !== y || zMax !== z;
140
97
  }
141
-
142
- function _inflate(bounds, delta) {
98
+ function inflate(bounds, delta) {
143
99
  bounds[0] -= delta;
144
100
  bounds[1] += delta;
145
101
  bounds[2] -= delta;
@@ -148,12 +104,10 @@ function _inflate(bounds, delta) {
148
104
  bounds[5] += delta;
149
105
  return bounds;
150
106
  }
151
-
152
- function _scale(bounds, sx, sy, sz) {
153
- if (!_isValid(bounds)) {
107
+ function scale(bounds, sx, sy, sz) {
108
+ if (!isValid(bounds)) {
154
109
  return false;
155
110
  }
156
-
157
111
  if (sx >= 0.0) {
158
112
  bounds[0] *= sx;
159
113
  bounds[1] *= sx;
@@ -161,7 +115,6 @@ function _scale(bounds, sx, sy, sz) {
161
115
  bounds[0] = sx * bounds[1];
162
116
  bounds[1] = sx * bounds[0];
163
117
  }
164
-
165
118
  if (sy >= 0.0) {
166
119
  bounds[2] *= sy;
167
120
  bounds[3] *= sy;
@@ -169,7 +122,6 @@ function _scale(bounds, sx, sy, sz) {
169
122
  bounds[2] = sy * bounds[3];
170
123
  bounds[3] = sy * bounds[2];
171
124
  }
172
-
173
125
  if (sz >= 0.0) {
174
126
  bounds[4] *= sz;
175
127
  bounds[5] *= sz;
@@ -177,29 +129,23 @@ function _scale(bounds, sx, sy, sz) {
177
129
  bounds[4] = sz * bounds[5];
178
130
  bounds[5] = sz * bounds[4];
179
131
  }
180
-
181
132
  return true;
182
133
  }
183
-
184
- function _getCenter(bounds) {
134
+ function getCenter(bounds) {
185
135
  return [0.5 * (bounds[0] + bounds[1]), 0.5 * (bounds[2] + bounds[3]), 0.5 * (bounds[4] + bounds[5])];
186
136
  }
187
137
  function scaleAboutCenter(bounds, sx, sy, sz) {
188
- if (!_isValid(bounds)) {
138
+ if (!isValid(bounds)) {
189
139
  return false;
190
140
  }
191
-
192
- var center = _getCenter(bounds);
193
-
141
+ const center = getCenter(bounds);
194
142
  bounds[0] -= center[0];
195
143
  bounds[1] -= center[0];
196
144
  bounds[2] -= center[1];
197
145
  bounds[3] -= center[1];
198
146
  bounds[4] -= center[2];
199
147
  bounds[5] -= center[2];
200
-
201
- _scale(bounds, sx, sy, sz);
202
-
148
+ scale(bounds, sx, sy, sz);
203
149
  bounds[0] += center[0];
204
150
  bounds[1] += center[0];
205
151
  bounds[2] += center[1];
@@ -208,82 +154,64 @@ function scaleAboutCenter(bounds, sx, sy, sz) {
208
154
  bounds[5] += center[2];
209
155
  return true;
210
156
  }
211
-
212
- function _getLength(bounds, index) {
157
+ function getLength(bounds, index) {
213
158
  return bounds[index * 2 + 1] - bounds[index * 2];
214
159
  }
215
-
216
- function _getLengths(bounds) {
217
- return [_getLength(bounds, 0), _getLength(bounds, 1), _getLength(bounds, 2)];
160
+ function getLengths(bounds) {
161
+ return [getLength(bounds, 0), getLength(bounds, 1), getLength(bounds, 2)];
218
162
  }
219
-
220
- function _getXRange(bounds) {
163
+ function getXRange(bounds) {
221
164
  return bounds.slice(0, 2);
222
165
  }
223
-
224
- function _getYRange(bounds) {
166
+ function getYRange(bounds) {
225
167
  return bounds.slice(2, 4);
226
168
  }
227
-
228
- function _getZRange(bounds) {
169
+ function getZRange(bounds) {
229
170
  return bounds.slice(4, 6);
230
171
  }
231
-
232
- function _getMaxLength(bounds) {
233
- var l = _getLengths(bounds);
234
-
172
+ function getMaxLength(bounds) {
173
+ const l = getLengths(bounds);
235
174
  if (l[0] > l[1]) {
236
175
  if (l[0] > l[2]) {
237
176
  return l[0];
238
177
  }
239
-
240
178
  return l[2];
241
179
  }
242
-
243
180
  if (l[1] > l[2]) {
244
181
  return l[1];
245
182
  }
246
-
247
183
  return l[2];
248
184
  }
249
-
250
- function _getDiagonalLength(bounds) {
251
- if (_isValid(bounds)) {
252
- var l = _getLengths(bounds);
253
-
185
+ function getDiagonalLength(bounds) {
186
+ if (isValid(bounds)) {
187
+ const l = getLengths(bounds);
254
188
  return Math.sqrt(l[0] * l[0] + l[1] * l[1] + l[2] * l[2]);
255
189
  }
256
-
257
190
  return null;
258
191
  }
259
-
260
- function _getMinPoint(bounds) {
192
+ function getMinPoint(bounds) {
261
193
  return [bounds[0], bounds[2], bounds[4]];
262
194
  }
263
-
264
- function _getMaxPoint(bounds) {
195
+ function getMaxPoint(bounds) {
265
196
  return [bounds[1], bounds[3], bounds[5]];
266
197
  }
267
-
268
198
  function oppositeSign(a, b) {
269
199
  return a <= 0 && b >= 0 || a >= 0 && b <= 0;
270
200
  }
271
-
272
- function _getCorners(bounds, corners) {
273
- var count = 0;
274
-
275
- for (var ix = 0; ix < 2; ix++) {
276
- for (var iy = 2; iy < 4; iy++) {
277
- for (var iz = 4; iz < 6; iz++) {
201
+ function getCorners(bounds, corners) {
202
+ let count = 0;
203
+ for (let ix = 0; ix < 2; ix++) {
204
+ for (let iy = 2; iy < 4; iy++) {
205
+ for (let iz = 4; iz < 6; iz++) {
278
206
  corners[count++] = [bounds[ix], bounds[iy], bounds[iz]];
279
207
  }
280
208
  }
281
209
  }
282
-
283
210
  return corners;
284
- } // Computes the two corners with minimal and miximal coordinates
211
+ }
285
212
 
286
- function _computeCornerPoints(bounds, point1, point2) {
213
+ // Computes the two corners with minimal and miximal coordinates
214
+ function computeCornerPoints(bounds, point1, point2) {
287
215
  point1[0] = bounds[0];
288
216
  point1[1] = bounds[2];
289
217
  point1[2] = bounds[4];
@@ -292,60 +220,66 @@ function _computeCornerPoints(bounds, point1, point2) {
292
220
  point2[2] = bounds[5];
293
221
  return point1;
294
222
  }
295
-
296
- function _transformBounds(bounds, transform) {
297
- var out = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
298
-
299
- var corners = _getCorners(bounds, []);
300
-
301
- for (var i = 0; i < corners.length; ++i) {
223
+ function transformBounds(bounds, transform) {
224
+ let out = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
225
+ const corners = getCorners(bounds, []);
226
+ for (let i = 0; i < corners.length; ++i) {
302
227
  vec3.transformMat4(corners[i], corners[i], transform);
303
228
  }
304
-
305
- _reset(out);
306
-
307
- return _addPoints(out, corners);
229
+ reset(out);
230
+ return addPoints(out, corners);
308
231
  }
309
-
310
- function _computeScale(bounds) {
311
- var scale3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
232
+ function computeScale3(bounds) {
233
+ let scale3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
312
234
  scale3[0] = 0.5 * (bounds[1] - bounds[0]);
313
235
  scale3[1] = 0.5 * (bounds[3] - bounds[2]);
314
236
  scale3[2] = 0.5 * (bounds[5] - bounds[4]);
315
237
  return scale3;
316
238
  }
317
239
 
318
- function _computeLocalBounds(points, u, v, w) {
319
- var bounds = [].concat(INIT_BOUNDS);
320
- var pointsData = points.getData();
321
-
322
- for (var i = 0; i < pointsData.length; i += 3) {
323
- var point = [pointsData[i], pointsData[i + 1], pointsData[i + 2]];
324
- var du = dot(point, u);
240
+ /**
241
+ * Compute local bounds.
242
+ * Not as fast as vtkPoints.getBounds() if u, v, w form a natural basis.
243
+ * @param {vtkPoints} points
244
+ * @param {array} u first vector
245
+ * @param {array} v second vector
246
+ * @param {array} w third vector
247
+ */
248
+ function computeLocalBounds(points, u, v, w) {
249
+ const bounds = [].concat(INIT_BOUNDS);
250
+ const pointsData = points.getData();
251
+ for (let i = 0; i < pointsData.length; i += 3) {
252
+ const point = [pointsData[i], pointsData[i + 1], pointsData[i + 2]];
253
+ const du = dot(point, u);
325
254
  bounds[0] = Math.min(du, bounds[0]);
326
255
  bounds[1] = Math.max(du, bounds[1]);
327
- var dv = dot(point, v);
256
+ const dv = dot(point, v);
328
257
  bounds[2] = Math.min(dv, bounds[2]);
329
258
  bounds[3] = Math.max(dv, bounds[3]);
330
- var dw = dot(point, w);
259
+ const dw = dot(point, w);
331
260
  bounds[4] = Math.min(dw, bounds[4]);
332
261
  bounds[5] = Math.max(dw, bounds[5]);
333
262
  }
334
-
335
263
  return bounds;
336
- } // The method returns a non-zero value if the bounding box is hit.
337
-
338
- function _intersectBox(bounds, origin, dir, coord, tolerance) {
339
- var inside = true;
340
- var quadrant = [];
341
- var whichPlane = 0;
342
- var maxT = [];
343
- var candidatePlane = [0.0, 0.0, 0.0];
344
- var RIGHT = 0;
345
- var LEFT = 1;
346
- var MIDDLE = 2; // First find closest planes
264
+ }
347
265
 
348
- for (var i = 0; i < 3; i++) {
266
+ // The method returns a non-zero value if the bounding box is hit.
267
+ // Origin[3] starts the ray, dir[3] is the vector components of the ray in the x-y-z
268
+ // directions, coord[3] is the location of hit, and t is the parametric
269
+ // coordinate along line. (Notes: the intersection ray dir[3] is NOT
270
+ // normalized. Valid intersections will only occur between 0<=t<=1.)
271
+ function intersectBox(bounds, origin, dir, coord, tolerance) {
272
+ let inside = true;
273
+ const quadrant = [];
274
+ let whichPlane = 0;
275
+ const maxT = [];
276
+ const candidatePlane = [0.0, 0.0, 0.0];
277
+ const RIGHT = 0;
278
+ const LEFT = 1;
279
+ const MIDDLE = 2;
280
+
281
+ // First find closest planes
282
+ for (let i = 0; i < 3; i++) {
349
283
  if (origin[i] < bounds[2 * i]) {
350
284
  quadrant[i] = LEFT;
351
285
  candidatePlane[i] = bounds[2 * i];
@@ -357,97 +291,92 @@ function _intersectBox(bounds, origin, dir, coord, tolerance) {
357
291
  } else {
358
292
  quadrant[i] = MIDDLE;
359
293
  }
360
- } // Check whether origin of ray is inside bbox
361
-
294
+ }
362
295
 
296
+ // Check whether origin of ray is inside bbox
363
297
  if (inside) {
364
298
  coord[0] = origin[0];
365
299
  coord[1] = origin[1];
366
300
  coord[2] = origin[2];
367
301
  tolerance[0] = 0;
368
302
  return 1;
369
- } // Calculate parametric distance to plane
370
-
303
+ }
371
304
 
372
- for (var _i2 = 0; _i2 < 3; _i2++) {
373
- if (quadrant[_i2] !== MIDDLE && dir[_i2] !== 0.0) {
374
- maxT[_i2] = (candidatePlane[_i2] - origin[_i2]) / dir[_i2];
305
+ // Calculate parametric distance to plane
306
+ for (let i = 0; i < 3; i++) {
307
+ if (quadrant[i] !== MIDDLE && dir[i] !== 0.0) {
308
+ maxT[i] = (candidatePlane[i] - origin[i]) / dir[i];
375
309
  } else {
376
- maxT[_i2] = -1.0;
310
+ maxT[i] = -1.0;
377
311
  }
378
- } // Find the largest parametric value of intersection
379
-
312
+ }
380
313
 
381
- for (var _i3 = 0; _i3 < 3; _i3++) {
382
- if (maxT[whichPlane] < maxT[_i3]) {
383
- whichPlane = _i3;
314
+ // Find the largest parametric value of intersection
315
+ for (let i = 0; i < 3; i++) {
316
+ if (maxT[whichPlane] < maxT[i]) {
317
+ whichPlane = i;
384
318
  }
385
- } // Check for valie intersection along line
386
-
319
+ }
387
320
 
321
+ // Check for valie intersection along line
388
322
  if (maxT[whichPlane] > 1.0 || maxT[whichPlane] < 0.0) {
389
323
  return 0;
390
324
  }
325
+ tolerance[0] = maxT[whichPlane];
391
326
 
392
- tolerance[0] = maxT[whichPlane]; // Intersection point along line is okay. Check bbox.
393
-
394
- for (var _i4 = 0; _i4 < 3; _i4++) {
395
- if (whichPlane !== _i4) {
396
- coord[_i4] = origin[_i4] + maxT[whichPlane] * dir[_i4];
397
-
398
- if (coord[_i4] < bounds[2 * _i4] || coord[_i4] > bounds[2 * _i4 + 1]) {
327
+ // Intersection point along line is okay. Check bbox.
328
+ for (let i = 0; i < 3; i++) {
329
+ if (whichPlane !== i) {
330
+ coord[i] = origin[i] + maxT[whichPlane] * dir[i];
331
+ if (coord[i] < bounds[2 * i] || coord[i] > bounds[2 * i + 1]) {
399
332
  return 0;
400
333
  }
401
334
  } else {
402
- coord[_i4] = candidatePlane[_i4];
335
+ coord[i] = candidatePlane[i];
403
336
  }
404
337
  }
405
-
406
338
  return 1;
407
- } // Plane intersection with box
408
-
409
- function _intersectPlane(bounds, origin, normal) {
410
- var p = [];
411
- var d = 0;
412
- var sign = 1;
413
- var firstOne = 1; // Evaluate the eight points. If there is a sign change, there is an intersection
339
+ }
414
340
 
415
- for (var z = 4; z <= 5; ++z) {
341
+ // Plane intersection with box
342
+ // The plane is infinite in extent and defined by an origin and normal.The function indicates
343
+ // whether the plane intersects, not the particulars of intersection points and such
344
+ // The function returns non-zero if the plane and box intersect; zero otherwise.
345
+ function intersectPlane(bounds, origin, normal) {
346
+ const p = [];
347
+ let d = 0;
348
+ let sign = 1;
349
+ let firstOne = 1;
350
+
351
+ // Evaluate the eight points. If there is a sign change, there is an intersection
352
+ for (let z = 4; z <= 5; ++z) {
416
353
  p[2] = bounds[z];
417
-
418
- for (var y = 2; y <= 3; ++y) {
354
+ for (let y = 2; y <= 3; ++y) {
419
355
  p[1] = bounds[y];
420
-
421
- for (var x = 0; x <= 1; ++x) {
356
+ for (let x = 0; x <= 1; ++x) {
422
357
  p[0] = bounds[x];
423
358
  d = vtkPlane.evaluate(normal, origin, p);
424
-
425
359
  if (firstOne) {
426
360
  sign = d >= 0 ? 1 : -1;
427
361
  firstOne = 0;
428
362
  }
429
-
430
363
  if (d === 0.0 || sign > 0 && d < 0.0 || sign < 0 && d > 0.0) {
431
364
  return 1;
432
365
  }
433
366
  }
434
367
  }
435
368
  }
436
-
437
369
  return 0; // no intersection
438
370
  }
439
371
 
440
- function _intersect(bounds, bBounds) {
441
- if (!(_isValid(bounds) && _isValid(bBounds))) {
372
+ function intersect(bounds, bBounds) {
373
+ if (!(isValid(bounds) && isValid(bBounds))) {
442
374
  return false;
443
375
  }
444
-
445
- var newBounds = [0, 0, 0, 0, 0, 0];
446
- var intersection;
447
-
448
- for (var i = 0; i < 3; i++) {
376
+ const newBounds = [0, 0, 0, 0, 0, 0];
377
+ let intersection;
378
+ for (let i = 0; i < 3; i++) {
449
379
  intersection = false;
450
-
451
380
  if (bBounds[i * 2] >= bounds[i * 2] && bBounds[i * 2] <= bounds[i * 2 + 1]) {
452
381
  intersection = true;
453
382
  newBounds[i * 2] = bBounds[i * 2];
@@ -455,7 +384,6 @@ function _intersect(bounds, bBounds) {
455
384
  intersection = true;
456
385
  newBounds[i * 2] = bounds[i * 2];
457
386
  }
458
-
459
387
  if (bBounds[i * 2 + 1] >= bounds[i * 2] && bBounds[i * 2 + 1] <= bounds[i * 2 + 1]) {
460
388
  intersection = true;
461
389
  newBounds[i * 2 + 1] = bBounds[2 * i + 1];
@@ -463,13 +391,12 @@ function _intersect(bounds, bBounds) {
463
391
  intersection = true;
464
392
  newBounds[i * 2 + 1] = bounds[i * 2 + 1];
465
393
  }
466
-
467
394
  if (!intersection) {
468
395
  return false;
469
396
  }
470
- } // OK they did intersect - set the box to be the result
471
-
397
+ }
472
398
 
399
+ // OK they did intersect - set the box to be the result
473
400
  bounds[0] = newBounds[0];
474
401
  bounds[1] = newBounds[1];
475
402
  bounds[2] = newBounds[2];
@@ -478,92 +405,77 @@ function _intersect(bounds, bBounds) {
478
405
  bounds[5] = newBounds[5];
479
406
  return true;
480
407
  }
481
-
482
- function _intersects(bounds, bBounds) {
483
- if (!(_isValid(bounds) && _isValid(bBounds))) {
408
+ function intersects(bounds, bBounds) {
409
+ if (!(isValid(bounds) && isValid(bBounds))) {
484
410
  return false;
485
411
  }
486
412
  /* eslint-disable no-continue */
487
-
488
-
489
- for (var i = 0; i < 3; i++) {
413
+ for (let i = 0; i < 3; i++) {
490
414
  if (bBounds[i * 2] >= bounds[i * 2] && bBounds[i * 2] <= bounds[i * 2 + 1]) {
491
415
  continue;
492
416
  } else if (bounds[i * 2] >= bBounds[i * 2] && bounds[i * 2] <= bBounds[i * 2 + 1]) {
493
417
  continue;
494
418
  }
495
-
496
419
  if (bBounds[i * 2 + 1] >= bounds[i * 2] && bBounds[i * 2 + 1] <= bounds[i * 2 + 1]) {
497
420
  continue;
498
421
  } else if (bounds[i * 2 + 1] >= bBounds[i * 2] && bounds[i * 2 + 1] <= bBounds[i * 2 + 1]) {
499
422
  continue;
500
423
  }
501
-
502
424
  return false;
503
425
  }
504
426
  /* eslint-enable no-continue */
505
427
 
506
-
507
428
  return true;
508
429
  }
509
-
510
- function _containsPoint(bounds, x, y, z) {
430
+ function containsPoint(bounds, x, y, z) {
511
431
  if (x < bounds[0] || x > bounds[1]) {
512
432
  return false;
513
433
  }
514
-
515
434
  if (y < bounds[2] || y > bounds[3]) {
516
435
  return false;
517
436
  }
518
-
519
437
  if (z < bounds[4] || z > bounds[5]) {
520
438
  return false;
521
439
  }
522
-
523
440
  return true;
524
441
  }
525
442
  function contains(bounds, otherBounds) {
526
443
  // if either box is not valid or they don't intersect
527
- if (!_intersects(bounds, otherBounds)) {
444
+ if (!intersects(bounds, otherBounds)) {
528
445
  return false;
529
446
  }
530
-
531
- if (!_containsPoint.apply(void 0, [bounds].concat(_toConsumableArray(_getMinPoint(otherBounds))))) {
447
+ if (!containsPoint(bounds, ...getMinPoint(otherBounds))) {
532
448
  return false;
533
449
  }
534
-
535
- if (!_containsPoint.apply(void 0, [bounds].concat(_toConsumableArray(_getMaxPoint(otherBounds))))) {
450
+ if (!containsPoint(bounds, ...getMaxPoint(otherBounds))) {
536
451
  return false;
537
452
  }
538
-
539
453
  return true;
540
454
  }
455
+
541
456
  /**
542
457
  * Returns true if plane intersects bounding box.
543
458
  * If so, the box is cut by the plane
544
459
  * @param {array} origin
545
460
  * @param {array} normal
546
461
  */
547
-
548
- function _cutWithPlane(bounds, origin, normal) {
462
+ function cutWithPlane(bounds, origin, normal) {
549
463
  // Index[0..2] represents the order of traversing the corners of a cube
550
464
  // in (x,y,z), (y,x,z) and (z,x,y) ordering, respectively
551
- var index = [[0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 4, 5, 2, 3, 6, 7], [0, 2, 4, 6, 1, 3, 5, 7]]; // stores the signed distance to a plane
552
-
553
- var d = [0, 0, 0, 0, 0, 0, 0, 0];
554
- var idx = 0;
555
-
556
- for (var ix = 0; ix < 2; ix++) {
557
- for (var iy = 2; iy < 4; iy++) {
558
- for (var iz = 4; iz < 6; iz++) {
559
- var x = [bounds[ix], bounds[iy], bounds[iz]];
465
+ const index = [[0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 4, 5, 2, 3, 6, 7], [0, 2, 4, 6, 1, 3, 5, 7]];
466
+
467
+ // stores the signed distance to a plane
468
+ const d = [0, 0, 0, 0, 0, 0, 0, 0];
469
+ let idx = 0;
470
+ for (let ix = 0; ix < 2; ix++) {
471
+ for (let iy = 2; iy < 4; iy++) {
472
+ for (let iz = 4; iz < 6; iz++) {
473
+ const x = [bounds[ix], bounds[iy], bounds[iz]];
560
474
  d[idx++] = vtkPlane.evaluate(normal, origin, x);
561
475
  }
562
476
  }
563
477
  }
564
-
565
- var dir = 2;
566
-
478
+ let dir = 2;
567
479
  while (dir--) {
568
480
  // in each direction, we test if the vertices of two orthogonal faces
569
481
  // are on either side of the plane
@@ -571,283 +483,203 @@ function _cutWithPlane(bounds, origin, normal) {
571
483
  break;
572
484
  }
573
485
  }
574
-
575
486
  if (dir < 0) {
576
487
  return false;
577
488
  }
578
-
579
- var sign = Math.sign(normal[dir]);
580
- var size = Math.abs((bounds[dir * 2 + 1] - bounds[dir * 2]) * normal[dir]);
581
- var t = sign > 0 ? 1 : 0;
489
+ const sign = Math.sign(normal[dir]);
490
+ const size = Math.abs((bounds[dir * 2 + 1] - bounds[dir * 2]) * normal[dir]);
491
+ let t = sign > 0 ? 1 : 0;
582
492
  /* eslint-disable no-continue */
583
-
584
- for (var i = 0; i < 4; i++) {
493
+ for (let i = 0; i < 4; i++) {
585
494
  if (size === 0) {
586
495
  continue; // shouldn't happen
587
496
  }
588
497
 
589
- var ti = Math.abs(d[index[dir][i]]) / size;
590
-
498
+ const ti = Math.abs(d[index[dir][i]]) / size;
591
499
  if (sign > 0 && ti < t) {
592
500
  t = ti;
593
501
  }
594
-
595
502
  if (sign < 0 && ti > t) {
596
503
  t = ti;
597
504
  }
598
505
  }
599
506
  /* eslint-enable no-continue */
600
-
601
-
602
- var bound = (1.0 - t) * bounds[dir * 2] + t * bounds[dir * 2 + 1];
603
-
507
+ const bound = (1.0 - t) * bounds[dir * 2] + t * bounds[dir * 2 + 1];
604
508
  if (sign > 0) {
605
509
  bounds[dir * 2] = bound;
606
510
  } else {
607
511
  bounds[dir * 2 + 1] = bound;
608
512
  }
609
-
610
513
  return true;
611
- } // ----------------------------------------------------------------------------
514
+ }
612
515
 
613
- var BoundingBox = /*#__PURE__*/function () {
614
- function BoundingBox(refBounds) {
615
- _classCallCheck(this, BoundingBox);
516
+ // ----------------------------------------------------------------------------
517
+ // Light Weight class
518
+ // ----------------------------------------------------------------------------
616
519
 
520
+ class BoundingBox {
521
+ constructor(refBounds) {
617
522
  this.bounds = refBounds;
618
-
619
523
  if (!this.bounds) {
620
524
  this.bounds = new Float64Array(INIT_BOUNDS);
621
525
  }
622
526
  }
623
-
624
- _createClass(BoundingBox, [{
625
- key: "getBounds",
626
- value: function getBounds() {
627
- return this.bounds;
628
- }
629
- }, {
630
- key: "equals",
631
- value: function equals(otherBounds) {
632
- return _equals(this.bounds, otherBounds);
633
- }
634
- }, {
635
- key: "isValid",
636
- value: function isValid() {
637
- return _isValid(this.bounds);
638
- }
639
- }, {
640
- key: "setBounds",
641
- value: function setBounds(otherBounds) {
642
- return _setBounds(this.bounds, otherBounds);
643
- }
644
- }, {
645
- key: "reset",
646
- value: function reset() {
647
- return _reset(this.bounds);
648
- }
649
- }, {
650
- key: "addPoint",
651
- value: function addPoint() {
652
- for (var _len = arguments.length, xyz = new Array(_len), _key = 0; _key < _len; _key++) {
653
- xyz[_key] = arguments[_key];
654
- }
655
-
656
- return _addPoint.apply(void 0, [this.bounds].concat(xyz));
657
- }
658
- }, {
659
- key: "addPoints",
660
- value: function addPoints(points) {
661
- return _addPoints(this.bounds, points);
662
- }
663
- }, {
664
- key: "addBounds",
665
- value: function addBounds(xMin, xMax, yMin, yMax, zMin, zMax) {
666
- return _addBounds(this.bounds, xMin, xMax, yMin, yMax, zMin, zMax);
667
- }
668
- }, {
669
- key: "setMinPoint",
670
- value: function setMinPoint(x, y, z) {
671
- return _setMinPoint(this.bounds, x, y, z);
672
- }
673
- }, {
674
- key: "setMaxPoint",
675
- value: function setMaxPoint(x, y, z) {
676
- return _setMaxPoint(this.bounds, x, y, z);
677
- }
678
- }, {
679
- key: "inflate",
680
- value: function inflate(delta) {
681
- return _inflate(this.bounds, delta);
682
- }
683
- }, {
684
- key: "scale",
685
- value: function scale(sx, sy, sz) {
686
- return _scale(this.bounds, sx, sy, sz);
687
- }
688
- }, {
689
- key: "getCenter",
690
- value: function getCenter() {
691
- return _getCenter(this.bounds);
692
- }
693
- }, {
694
- key: "getLength",
695
- value: function getLength(index) {
696
- return _getLength(this.bounds, index);
697
- }
698
- }, {
699
- key: "getLengths",
700
- value: function getLengths() {
701
- return _getLengths(this.bounds);
702
- }
703
- }, {
704
- key: "getMaxLength",
705
- value: function getMaxLength() {
706
- return _getMaxLength(this.bounds);
707
- }
708
- }, {
709
- key: "getDiagonalLength",
710
- value: function getDiagonalLength() {
711
- return _getDiagonalLength(this.bounds);
712
- }
713
- }, {
714
- key: "getMinPoint",
715
- value: function getMinPoint() {
716
- return _getMinPoint(this.bounds);
717
- }
718
- }, {
719
- key: "getMaxPoint",
720
- value: function getMaxPoint() {
721
- return _getMaxPoint(this.bounds);
722
- }
723
- }, {
724
- key: "getXRange",
725
- value: function getXRange() {
726
- return _getXRange(this.bounds);
727
- }
728
- }, {
729
- key: "getYRange",
730
- value: function getYRange() {
731
- return _getYRange(this.bounds);
732
- }
733
- }, {
734
- key: "getZRange",
735
- value: function getZRange() {
736
- return _getZRange(this.bounds);
737
- }
738
- }, {
739
- key: "getCorners",
740
- value: function getCorners(corners) {
741
- return _getCorners(this.bounds, corners);
742
- }
743
- }, {
744
- key: "computeCornerPoints",
745
- value: function computeCornerPoints(point1, point2) {
746
- return _computeCornerPoints(this.bounds, point1, point2);
747
- }
748
- }, {
749
- key: "computeLocalBounds",
750
- value: function computeLocalBounds(u, v, w) {
751
- return _computeLocalBounds(this.bounds, u, v, w);
752
- }
753
- }, {
754
- key: "transformBounds",
755
- value: function transformBounds(transform) {
756
- var out = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
757
- return _transformBounds(this.bounds, transform, out);
758
- }
759
- }, {
760
- key: "computeScale3",
761
- value: function computeScale3(scale3) {
762
- return _computeScale(this.bounds, scale3);
763
- }
764
- }, {
765
- key: "cutWithPlane",
766
- value: function cutWithPlane(origin, normal) {
767
- return _cutWithPlane(this.bounds, origin, normal);
768
- }
769
- }, {
770
- key: "intersectBox",
771
- value: function intersectBox(origin, dir, coord, tolerance) {
772
- return _intersectBox(this.bounds, origin, dir, coord, tolerance);
773
- }
774
- }, {
775
- key: "intersectPlane",
776
- value: function intersectPlane(origin, normal) {
777
- return _intersectPlane(this.bounds, origin, normal);
778
- }
779
- }, {
780
- key: "intersect",
781
- value: function intersect(otherBounds) {
782
- return _intersect(this.bounds, otherBounds);
783
- }
784
- }, {
785
- key: "intersects",
786
- value: function intersects(otherBounds) {
787
- return _intersects(this.bounds, otherBounds);
788
- }
789
- }, {
790
- key: "containsPoint",
791
- value: function containsPoint(x, y, z) {
792
- return _containsPoint(this.bounds, x, y, z);
793
- }
794
- }, {
795
- key: "contains",
796
- value: function contains(otherBounds) {
797
- return _intersects(this.bounds, otherBounds);
527
+ getBounds() {
528
+ return this.bounds;
529
+ }
530
+ equals(otherBounds) {
531
+ return equals(this.bounds, otherBounds);
532
+ }
533
+ isValid() {
534
+ return isValid(this.bounds);
535
+ }
536
+ setBounds(otherBounds) {
537
+ return setBounds(this.bounds, otherBounds);
538
+ }
539
+ reset() {
540
+ return reset(this.bounds);
541
+ }
542
+ addPoint() {
543
+ for (var _len = arguments.length, xyz = new Array(_len), _key = 0; _key < _len; _key++) {
544
+ xyz[_key] = arguments[_key];
798
545
  }
799
- }]);
800
-
801
- return BoundingBox;
802
- }();
803
-
546
+ return addPoint(this.bounds, ...xyz);
547
+ }
548
+ addPoints(points) {
549
+ return addPoints(this.bounds, points);
550
+ }
551
+ addBounds(xMin, xMax, yMin, yMax, zMin, zMax) {
552
+ return addBounds(this.bounds, xMin, xMax, yMin, yMax, zMin, zMax);
553
+ }
554
+ setMinPoint(x, y, z) {
555
+ return setMinPoint(this.bounds, x, y, z);
556
+ }
557
+ setMaxPoint(x, y, z) {
558
+ return setMaxPoint(this.bounds, x, y, z);
559
+ }
560
+ inflate(delta) {
561
+ return inflate(this.bounds, delta);
562
+ }
563
+ scale(sx, sy, sz) {
564
+ return scale(this.bounds, sx, sy, sz);
565
+ }
566
+ getCenter() {
567
+ return getCenter(this.bounds);
568
+ }
569
+ getLength(index) {
570
+ return getLength(this.bounds, index);
571
+ }
572
+ getLengths() {
573
+ return getLengths(this.bounds);
574
+ }
575
+ getMaxLength() {
576
+ return getMaxLength(this.bounds);
577
+ }
578
+ getDiagonalLength() {
579
+ return getDiagonalLength(this.bounds);
580
+ }
581
+ getMinPoint() {
582
+ return getMinPoint(this.bounds);
583
+ }
584
+ getMaxPoint() {
585
+ return getMaxPoint(this.bounds);
586
+ }
587
+ getXRange() {
588
+ return getXRange(this.bounds);
589
+ }
590
+ getYRange() {
591
+ return getYRange(this.bounds);
592
+ }
593
+ getZRange() {
594
+ return getZRange(this.bounds);
595
+ }
596
+ getCorners(corners) {
597
+ return getCorners(this.bounds, corners);
598
+ }
599
+ computeCornerPoints(point1, point2) {
600
+ return computeCornerPoints(this.bounds, point1, point2);
601
+ }
602
+ computeLocalBounds(u, v, w) {
603
+ return computeLocalBounds(this.bounds, u, v, w);
604
+ }
605
+ transformBounds(transform) {
606
+ let out = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
607
+ return transformBounds(this.bounds, transform, out);
608
+ }
609
+ computeScale3(scale3) {
610
+ return computeScale3(this.bounds, scale3);
611
+ }
612
+ cutWithPlane(origin, normal) {
613
+ return cutWithPlane(this.bounds, origin, normal);
614
+ }
615
+ intersectBox(origin, dir, coord, tolerance) {
616
+ return intersectBox(this.bounds, origin, dir, coord, tolerance);
617
+ }
618
+ intersectPlane(origin, normal) {
619
+ return intersectPlane(this.bounds, origin, normal);
620
+ }
621
+ intersect(otherBounds) {
622
+ return intersect(this.bounds, otherBounds);
623
+ }
624
+ intersects(otherBounds) {
625
+ return intersects(this.bounds, otherBounds);
626
+ }
627
+ containsPoint(x, y, z) {
628
+ return containsPoint(this.bounds, x, y, z);
629
+ }
630
+ contains(otherBounds) {
631
+ return intersects(this.bounds, otherBounds);
632
+ }
633
+ }
804
634
  function newInstance(initialValues) {
805
- var bounds = initialValues && initialValues.bounds;
635
+ const bounds = initialValues && initialValues.bounds;
806
636
  return new BoundingBox(bounds);
807
- } // ----------------------------------------------------------------------------
637
+ }
638
+
639
+ // ----------------------------------------------------------------------------
808
640
  // Static API
809
641
  // ----------------------------------------------------------------------------
810
642
 
811
-
812
- var STATIC = {
813
- equals: _equals,
814
- isValid: _isValid,
815
- setBounds: _setBounds,
816
- reset: _reset,
817
- addPoint: _addPoint,
818
- addPoints: _addPoints,
819
- addBounds: _addBounds,
820
- setMinPoint: _setMinPoint,
821
- setMaxPoint: _setMaxPoint,
822
- inflate: _inflate,
823
- scale: _scale,
824
- scaleAboutCenter: scaleAboutCenter,
825
- getCenter: _getCenter,
826
- getLength: _getLength,
827
- getLengths: _getLengths,
828
- getMaxLength: _getMaxLength,
829
- getDiagonalLength: _getDiagonalLength,
830
- getMinPoint: _getMinPoint,
831
- getMaxPoint: _getMaxPoint,
832
- getXRange: _getXRange,
833
- getYRange: _getYRange,
834
- getZRange: _getZRange,
835
- getCorners: _getCorners,
836
- computeCornerPoints: _computeCornerPoints,
837
- computeLocalBounds: _computeLocalBounds,
838
- transformBounds: _transformBounds,
839
- computeScale3: _computeScale,
840
- cutWithPlane: _cutWithPlane,
841
- intersectBox: _intersectBox,
842
- intersectPlane: _intersectPlane,
843
- intersect: _intersect,
844
- intersects: _intersects,
845
- containsPoint: _containsPoint,
846
- contains: contains,
847
- INIT_BOUNDS: INIT_BOUNDS
643
+ const STATIC = {
644
+ equals,
645
+ isValid,
646
+ setBounds,
647
+ reset,
648
+ addPoint,
649
+ addPoints,
650
+ addBounds,
651
+ setMinPoint,
652
+ setMaxPoint,
653
+ inflate,
654
+ scale,
655
+ scaleAboutCenter,
656
+ getCenter,
657
+ getLength,
658
+ getLengths,
659
+ getMaxLength,
660
+ getDiagonalLength,
661
+ getMinPoint,
662
+ getMaxPoint,
663
+ getXRange,
664
+ getYRange,
665
+ getZRange,
666
+ getCorners,
667
+ computeCornerPoints,
668
+ computeLocalBounds,
669
+ transformBounds,
670
+ computeScale3,
671
+ cutWithPlane,
672
+ intersectBox,
673
+ intersectPlane,
674
+ intersect,
675
+ intersects,
676
+ containsPoint,
677
+ contains,
678
+ INIT_BOUNDS
679
+ };
680
+ var vtkBoundingBox = {
681
+ newInstance,
682
+ ...STATIC
848
683
  };
849
- var vtkBoundingBox = _objectSpread({
850
- newInstance: newInstance
851
- }, STATIC);
852
684
 
853
- export { STATIC, _addBounds as addBounds, _addPoint as addPoint, _addPoints as addPoints, _computeCornerPoints as computeCornerPoints, _computeLocalBounds as computeLocalBounds, _computeScale as computeScale3, contains, _containsPoint as containsPoint, _cutWithPlane as cutWithPlane, vtkBoundingBox as default, _equals as equals, _getCenter as getCenter, _getCorners as getCorners, _getDiagonalLength as getDiagonalLength, _getLength as getLength, _getLengths as getLengths, _getMaxLength as getMaxLength, _getMaxPoint as getMaxPoint, _getMinPoint as getMinPoint, _getXRange as getXRange, _getYRange as getYRange, _getZRange as getZRange, _inflate as inflate, _intersect as intersect, _intersectBox as intersectBox, _intersectPlane as intersectPlane, _intersects as intersects, _isValid as isValid, _reset as reset, _scale as scale, scaleAboutCenter, _setBounds as setBounds, _setMaxPoint as setMaxPoint, _setMinPoint as setMinPoint, _transformBounds as transformBounds };
685
+ export { STATIC, addBounds, addPoint, addPoints, computeCornerPoints, computeLocalBounds, computeScale3, contains, containsPoint, cutWithPlane, vtkBoundingBox as default, equals, getCenter, getCorners, getDiagonalLength, getLength, getLengths, getMaxLength, getMaxPoint, getMinPoint, getXRange, getYRange, getZRange, inflate, intersect, intersectBox, intersectPlane, intersects, isValid, reset, scale, scaleAboutCenter, setBounds, setMaxPoint, setMinPoint, transformBounds };