@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,6 +1,4 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
4
2
  import { d as dot, s as subtract, j as cross, k as add, l as normalize, e as distance2BetweenPoints, n as norm } from '../Core/Math/index.js';
5
3
  import vtkLine from './Line.js';
6
4
  import vtkPlane from './Plane.js';
@@ -9,70 +7,66 @@ import vtkBoundingBox from './BoundingBox.js';
9
7
  import { IntersectionState } from './Line/Constants.js';
10
8
  import { PolygonWithPointIntersectionState, FLOAT_EPSILON, TOLERANCE, EPSILON } from './Polygon/Constants.js';
11
9
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
+ // ----------------------------------------------------------------------------
15
11
  // Global methods
16
12
  // ----------------------------------------------------------------------------
13
+
17
14
  // Given the line (p0,p1), determine if the given point is located to the left
18
15
  // of, on, or to the right of a line (with the function returning >0, ==0, or
19
16
  // <0 respectively). The points are assumed 3D points, but projected into
20
17
  // one of x-y-z planes; hence the indices axis0 and axis1 specify which plane
21
18
  // the computation is to be performed on.
22
-
23
19
  function pointLocation(axis0, axis1, p0, p1, point) {
24
20
  return (p1[axis0] - p0[axis0]) * (point[axis1] - p0[axis1]) - (point[axis0] - p0[axis0]) * (p1[axis1] - p0[axis1]);
25
- } //------------------------------------------------------------------------------
21
+ }
26
22
 
23
+ //------------------------------------------------------------------------------
27
24
 
28
25
  function pointInPolygon(point, vertices, bounds, normal) {
29
26
  // Do a quick bounds check to throw out trivial cases.
30
27
  // winding plane.
31
28
  if (point[0] < bounds[0] || point[0] > bounds[1] || point[1] < bounds[2] || point[1] > bounds[3] || point[2] < bounds[4] || point[2] > bounds[5]) {
32
29
  return PolygonWithPointIntersectionState.OUTSIDE;
33
- } // Check that the normal is non-zero.
34
-
30
+ }
35
31
 
32
+ // Check that the normal is non-zero.
36
33
  if (normalize(normal) <= FLOAT_EPSILON) {
37
34
  return PolygonWithPointIntersectionState.FAILURE;
38
- } // Assess whether the point lies on the boundary of the polygon. Points on
35
+ }
36
+
37
+ // Assess whether the point lies on the boundary of the polygon. Points on
39
38
  // the boundary are considered inside the polygon. Need to define a small
40
39
  // tolerance relative to the bounding box diagonal length of the polygon.
41
-
42
-
43
- var tol2 = TOLERANCE * ((bounds[1] - bounds[0]) * (bounds[1] - bounds[0]) + (bounds[3] - bounds[2]) * (bounds[3] - bounds[2]) + (bounds[5] - bounds[4]) * (bounds[5] - bounds[4]));
40
+ let tol2 = TOLERANCE * ((bounds[1] - bounds[0]) * (bounds[1] - bounds[0]) + (bounds[3] - bounds[2]) * (bounds[3] - bounds[2]) + (bounds[5] - bounds[4]) * (bounds[5] - bounds[4]));
44
41
  tol2 *= tol2;
45
42
  tol2 = tol2 === 0.0 ? FLOAT_EPSILON : tol2;
46
- var p0 = [];
47
- var p1 = [];
48
-
49
- for (var i = 0; i < vertices.length;) {
43
+ const p0 = [];
44
+ const p1 = [];
45
+ for (let i = 0; i < vertices.length;) {
50
46
  // Check coincidence to polygon vertices
51
47
  p0[0] = vertices[i++];
52
48
  p0[1] = vertices[i++];
53
49
  p0[2] = vertices[i++];
54
-
55
50
  if (distance2BetweenPoints(point, p0) <= tol2) {
56
51
  return PolygonWithPointIntersectionState.INSIDE;
57
- } // Check coincidence to polygon edges
58
-
59
-
60
- var _vtkLine$distanceToLi = vtkLine.distanceToLine(point, p0, p1),
61
- distance = _vtkLine$distanceToLi.distance,
62
- t = _vtkLine$distanceToLi.t;
52
+ }
63
53
 
54
+ // Check coincidence to polygon edges
55
+ const {
56
+ distance,
57
+ t
58
+ } = vtkLine.distanceToLine(point, p0, p1);
64
59
  if (distance <= tol2 && t > 0.0 && t < 1.0) {
65
60
  return PolygonWithPointIntersectionState.INSIDE;
66
61
  }
67
- } // If here, begin computation of the winding number. This method works for
62
+ }
63
+
64
+ // If here, begin computation of the winding number. This method works for
68
65
  // points/polygons arbitrarily oriented in 3D space. Hence a projection
69
66
  // onto one of the x-y-z coordinate planes using the maximum normal
70
67
  // component. The computation will be performed in the (axis0, axis1) plane.
71
-
72
-
73
- var axis0;
74
- var axis1;
75
-
68
+ let axis0;
69
+ let axis1;
76
70
  if (Math.abs(normal[0]) > Math.abs(normal[1])) {
77
71
  if (Math.abs(normal[0]) > Math.abs(normal[2])) {
78
72
  axis0 = 1;
@@ -87,29 +81,26 @@ function pointInPolygon(point, vertices, bounds, normal) {
87
81
  } else {
88
82
  axis0 = 0;
89
83
  axis1 = 1;
90
- } // Compute the winding number wn. If after processing all polygon edges
84
+ }
85
+
86
+ // Compute the winding number wn. If after processing all polygon edges
91
87
  // wn == 0, then the point is outside. Otherwise, the point is inside the
92
88
  // polygon. Process all polygon edges determining if there are ascending or
93
89
  // descending crossings of the line axis1=constant.
94
-
95
-
96
- var wn = 0;
97
-
98
- for (var _i = 0; _i < vertices.length;) {
99
- p0[0] = vertices[_i++];
100
- p0[1] = vertices[_i++];
101
- p0[2] = vertices[_i++];
102
-
103
- if (_i < vertices.length) {
104
- p1[0] = vertices[_i];
105
- p1[1] = vertices[_i + 1];
106
- p1[2] = vertices[_i + 2];
90
+ let wn = 0;
91
+ for (let i = 0; i < vertices.length;) {
92
+ p0[0] = vertices[i++];
93
+ p0[1] = vertices[i++];
94
+ p0[2] = vertices[i++];
95
+ if (i < vertices.length) {
96
+ p1[0] = vertices[i];
97
+ p1[1] = vertices[i + 1];
98
+ p1[2] = vertices[i + 2];
107
99
  } else {
108
100
  p1[0] = vertices[0];
109
101
  p1[1] = vertices[1];
110
102
  p1[2] = vertices[2];
111
103
  }
112
-
113
104
  if (p0[axis1] <= point[axis1]) {
114
105
  if (p1[axis1] > point[axis1]) {
115
106
  // if an upward crossing
@@ -126,12 +117,12 @@ function pointInPolygon(point, vertices, bounds, normal) {
126
117
  }
127
118
  }
128
119
  } // Over all polygon edges
129
- // A winding number == 0 is outside the polygon
130
-
131
120
 
121
+ // A winding number == 0 is outside the polygon
132
122
  return wn === 0 ? PolygonWithPointIntersectionState.OUTSIDE : PolygonWithPointIntersectionState.INSIDE;
133
- } // ---------------------------------------------------
123
+ }
134
124
 
125
+ // ---------------------------------------------------
135
126
  /**
136
127
  * Simple utility method for computing polygon bounds.
137
128
  * Returns the sum of the squares of the dimensions.
@@ -141,11 +132,9 @@ function pointInPolygon(point, vertices, bounds, normal) {
141
132
  * @param {vtkPoints} points
142
133
  * @param {Bound} bounds
143
134
  */
144
-
145
-
146
135
  function getBounds(poly, points, bounds) {
147
- var n = poly.length;
148
- var p = [];
136
+ const n = poly.length;
137
+ const p = [];
149
138
  points.getPoint(poly[0], p);
150
139
  bounds[0] = p[0];
151
140
  bounds[1] = p[0];
@@ -153,16 +142,15 @@ function getBounds(poly, points, bounds) {
153
142
  bounds[3] = p[1];
154
143
  bounds[4] = p[2];
155
144
  bounds[5] = p[2];
156
-
157
- for (var j = 1; j < n; j++) {
145
+ for (let j = 1; j < n; j++) {
158
146
  points.getPoint(poly[j], p);
159
- vtkBoundingBox.addPoint.apply(vtkBoundingBox, [bounds].concat(p));
147
+ vtkBoundingBox.addPoint(bounds, ...p);
160
148
  }
161
-
162
- var length = vtkBoundingBox.getLengths(bounds);
149
+ const length = vtkBoundingBox.getLengths(bounds);
163
150
  return dot(length, length);
164
- } // ---------------------------------------------------
151
+ }
165
152
 
153
+ // ---------------------------------------------------
166
154
  /**
167
155
  * Compute the normal of a polygon and return its norm.
168
156
  *
@@ -175,138 +163,119 @@ function getBounds(poly, points, bounds) {
175
163
  * @param {Vector3} normal
176
164
  * @returns {Number}
177
165
  */
178
-
179
166
  function getNormal(poly, points, normal) {
180
167
  normal.length = 3;
181
168
  normal[0] = 0.0;
182
169
  normal[1] = 0.0;
183
170
  normal[2] = 0.0;
184
- var p0 = [];
185
- var p1 = [];
186
- var p2 = [];
187
- var v1 = [];
188
- var v2 = [];
171
+ const p0 = [];
172
+ let p1 = [];
173
+ let p2 = [];
174
+ const v1 = [];
175
+ const v2 = [];
189
176
  points.getPoint(poly[0], p0);
190
177
  points.getPoint(poly[1], p1);
191
-
192
- for (var j = 2; j < poly.length; j++) {
178
+ for (let j = 2; j < poly.length; j++) {
193
179
  points.getPoint(poly[j], p2);
194
180
  subtract(p2, p1, v1);
195
181
  subtract(p0, p1, v2);
196
- var n = [0, 0, 0];
182
+ const n = [0, 0, 0];
197
183
  cross(v1, v2, n);
198
184
  add(normal, n, normal);
199
- var _ref = [p2, p1];
200
- p1 = _ref[0];
201
- p2 = _ref[1];
185
+ [p1, p2] = [p2, p1];
202
186
  }
203
-
204
187
  return normalize(normal);
205
- } // ----------------------------------------------------------------------------
188
+ }
189
+
190
+ // ----------------------------------------------------------------------------
206
191
  // Static API
207
192
  // ----------------------------------------------------------------------------
208
193
 
209
- var STATIC = {
210
- PolygonWithPointIntersectionState: PolygonWithPointIntersectionState,
211
- pointInPolygon: pointInPolygon,
212
- getBounds: getBounds,
213
- getNormal: getNormal
214
- }; // ----------------------------------------------------------------------------
194
+ const STATIC = {
195
+ PolygonWithPointIntersectionState,
196
+ pointInPolygon,
197
+ getBounds,
198
+ getNormal
199
+ };
200
+
201
+ // ----------------------------------------------------------------------------
215
202
  // vtkPolygon methods
216
203
  // ----------------------------------------------------------------------------
217
204
 
218
205
  function vtkPolygon(publicAPI, model) {
219
206
  // Set our classname
220
207
  model.classHierarchy.push('vtkPolygon');
221
-
222
208
  function computeNormal() {
223
- var v1 = [0, 0, 0];
224
- var v2 = [0, 0, 0];
209
+ const v1 = [0, 0, 0];
210
+ const v2 = [0, 0, 0];
225
211
  model.normal = [0, 0, 0];
226
-
227
- var anchor = _toConsumableArray(model.firstPoint.point);
228
-
229
- var point = model.firstPoint;
230
-
231
- for (var i = 0; i < model.pointCount; i++) {
212
+ const anchor = [...model.firstPoint.point];
213
+ let point = model.firstPoint;
214
+ for (let i = 0; i < model.pointCount; i++) {
232
215
  subtract(point.point, anchor, v1);
233
216
  subtract(point.next.point, anchor, v2);
234
- var n = [0, 0, 0];
217
+ const n = [0, 0, 0];
235
218
  cross(v1, v2, n);
236
219
  add(model.normal, n, model.normal);
237
220
  point = point.next;
238
221
  }
239
-
240
222
  return normalize(model.normal);
241
223
  }
242
-
243
224
  function computeMeasure(point) {
244
- var v1 = [0, 0, 0];
245
- var v2 = [0, 0, 0];
246
- var v3 = [0, 0, 0];
247
- var v4 = [0, 0, 0];
225
+ const v1 = [0, 0, 0];
226
+ const v2 = [0, 0, 0];
227
+ const v3 = [0, 0, 0];
228
+ const v4 = [0, 0, 0];
248
229
  subtract(point.point, point.previous.point, v1);
249
230
  subtract(point.next.point, point.point, v2);
250
231
  subtract(point.previous.point, point.next.point, v3);
251
232
  cross(v1, v2, v4);
252
- var area = dot(v4, model.normal);
253
-
233
+ const area = dot(v4, model.normal);
254
234
  if (area <= 0) {
255
235
  return -1;
256
236
  }
257
-
258
- var perimeter = norm(v1) + norm(v2) + norm(v3);
237
+ const perimeter = norm(v1) + norm(v2) + norm(v3);
259
238
  return perimeter * perimeter / area;
260
239
  }
261
-
262
240
  function canRemoveVertex(point) {
263
241
  if (model.pointCount <= 3) {
264
242
  return true;
265
243
  }
266
-
267
- var previous = point.previous;
268
- var next = point.next;
269
- var v = [0, 0, 0];
244
+ const previous = point.previous;
245
+ const next = point.next;
246
+ const v = [0, 0, 0];
270
247
  subtract(next.point, previous.point, v);
271
- var sN = [0, 0, 0];
248
+ const sN = [0, 0, 0];
272
249
  cross(v, model.normal, sN);
273
250
  normalize(sN);
274
-
275
251
  if (norm(sN) === 0) {
276
252
  return false;
277
253
  }
278
-
279
- var val = vtkPlane.evaluate(sN, previous.point, next.next.point); // eslint-disable-next-line no-nested-ternary
280
-
281
- var currentSign = val > EPSILON ? 1 : val < -EPSILON ? -1 : 0;
282
- var oneNegative = currentSign < 0 ? 1 : 0;
283
-
284
- for (var vertex = next.next.next; vertex.id !== previous.id; vertex = vertex.next) {
285
- var previousVertex = vertex.previous;
286
- val = vtkPlane.evaluate(sN, previous.point, vertex.point); // eslint-disable-next-line no-nested-ternary
287
-
288
- var sign = val > EPSILON ? 1 : val < -EPSILON ? -1 : 0;
289
-
254
+ let val = vtkPlane.evaluate(sN, previous.point, next.next.point);
255
+ // eslint-disable-next-line no-nested-ternary
256
+ let currentSign = val > EPSILON ? 1 : val < -EPSILON ? -1 : 0;
257
+ let oneNegative = currentSign < 0 ? 1 : 0;
258
+ for (let vertex = next.next.next; vertex.id !== previous.id; vertex = vertex.next) {
259
+ const previousVertex = vertex.previous;
260
+ val = vtkPlane.evaluate(sN, previous.point, vertex.point);
261
+ // eslint-disable-next-line no-nested-ternary
262
+ const sign = val > EPSILON ? 1 : val < -EPSILON ? -1 : 0;
290
263
  if (sign !== currentSign) {
291
264
  if (!oneNegative) {
292
265
  oneNegative = sign <= 0 ? 1 : 0;
293
266
  }
294
-
295
267
  if (vtkLine.intersection(previous.point, next.point, vertex.point, previousVertex.point, [0], [0]) === IntersectionState.YES_INTERSECTION) {
296
268
  return false;
297
269
  }
298
-
299
270
  currentSign = sign;
300
271
  }
301
272
  }
302
-
303
273
  return oneNegative === 1;
304
274
  }
305
-
306
275
  function removePoint(point, queue) {
307
276
  model.pointCount -= 1;
308
- var previous = point.previous;
309
- var next = point.next;
277
+ const previous = point.previous;
278
+ const next = point.next;
310
279
  model.tris = model.tris.concat(point.point);
311
280
  model.tris = model.tris.concat(next.point);
312
281
  model.tris = model.tris.concat(previous.point);
@@ -314,65 +283,51 @@ function vtkPolygon(publicAPI, model) {
314
283
  next.previous = previous;
315
284
  queue.deleteById(previous.id);
316
285
  queue.deleteById(next.id);
317
- var previousMeasure = computeMeasure(previous);
318
-
286
+ const previousMeasure = computeMeasure(previous);
319
287
  if (previousMeasure > 0) {
320
288
  queue.push(previousMeasure, previous);
321
289
  }
322
-
323
- var nextMeasure = computeMeasure(next);
324
-
290
+ const nextMeasure = computeMeasure(next);
325
291
  if (nextMeasure > 0) {
326
292
  queue.push(nextMeasure, next);
327
293
  }
328
-
329
294
  if (point.id === model.firstPoint.id) {
330
295
  model.firstPoint = next;
331
296
  }
332
297
  }
333
-
334
298
  function earCutTriangulation() {
335
299
  computeNormal();
336
- var vertexQueue = vtkPriorityQueue.newInstance();
337
- var point = model.firstPoint;
338
-
339
- for (var i = 0; i < model.pointCount; i++) {
340
- var measure = computeMeasure(point);
341
-
300
+ const vertexQueue = vtkPriorityQueue.newInstance();
301
+ let point = model.firstPoint;
302
+ for (let i = 0; i < model.pointCount; i++) {
303
+ const measure = computeMeasure(point);
342
304
  if (measure > 0) {
343
305
  vertexQueue.push(measure, point);
344
306
  }
345
-
346
307
  point = point.next;
347
308
  }
348
-
349
309
  while (model.pointCount > 2 && vertexQueue.length() > 0) {
350
310
  if (model.pointCount === vertexQueue.length()) {
351
311
  // convex
352
- var pointToRemove = vertexQueue.pop();
312
+ const pointToRemove = vertexQueue.pop();
353
313
  removePoint(pointToRemove, vertexQueue);
354
314
  } else {
355
315
  // concave
356
- var _pointToRemove = vertexQueue.pop();
357
-
358
- if (canRemoveVertex(_pointToRemove)) {
359
- removePoint(_pointToRemove, vertexQueue);
316
+ const pointToRemove = vertexQueue.pop();
317
+ if (canRemoveVertex(pointToRemove)) {
318
+ removePoint(pointToRemove, vertexQueue);
360
319
  }
361
320
  }
362
321
  }
363
-
364
322
  return model.pointCount <= 2;
365
323
  }
366
-
367
- publicAPI.triangulate = function () {
324
+ publicAPI.triangulate = () => {
368
325
  if (!model.firstPoint) {
369
326
  return null;
370
327
  }
371
-
372
328
  return earCutTriangulation();
373
329
  };
374
-
375
- publicAPI.setPoints = function (points) {
330
+ publicAPI.setPoints = points => {
376
331
  model.pointCount = points.length;
377
332
  model.firstPoint = {
378
333
  id: 0,
@@ -380,9 +335,8 @@ function vtkPolygon(publicAPI, model) {
380
335
  next: null,
381
336
  previous: null
382
337
  };
383
- var currentPoint = model.firstPoint;
384
-
385
- for (var i = 1; i < model.pointCount; i++) {
338
+ let currentPoint = model.firstPoint;
339
+ for (let i = 1; i < model.pointCount; i++) {
386
340
  currentPoint.next = {
387
341
  id: i,
388
342
  point: points[i],
@@ -391,38 +345,43 @@ function vtkPolygon(publicAPI, model) {
391
345
  };
392
346
  currentPoint = currentPoint.next;
393
347
  }
394
-
395
348
  model.firstPoint.previous = currentPoint;
396
349
  currentPoint.next = model.firstPoint;
397
350
  };
351
+ publicAPI.getPointArray = () => model.tris;
352
+ }
398
353
 
399
- publicAPI.getPointArray = function () {
400
- return model.tris;
401
- };
402
- } // ----------------------------------------------------------------------------
354
+ // ----------------------------------------------------------------------------
403
355
  // Object factory
404
356
  // ----------------------------------------------------------------------------
405
357
 
406
-
407
- var DEFAULT_VALUES = {
358
+ const DEFAULT_VALUES = {
408
359
  firstPoint: null,
409
360
  pointCount: 0,
410
361
  tris: []
411
- }; // ----------------------------------------------------------------------------
362
+ };
363
+
364
+ // ----------------------------------------------------------------------------
412
365
 
413
366
  function extend(publicAPI, model) {
414
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
415
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
367
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
368
+ Object.assign(model, DEFAULT_VALUES, initialValues);
416
369
 
370
+ // Build VTK API
417
371
  macro.obj(publicAPI, model);
418
372
  vtkPolygon(publicAPI, model);
419
- } // ----------------------------------------------------------------------------
373
+ }
374
+
375
+ // ----------------------------------------------------------------------------
420
376
 
421
- var newInstance = macro.newInstance(extend, 'vtkPolygon'); // ----------------------------------------------------------------------------
377
+ const newInstance = macro.newInstance(extend, 'vtkPolygon');
378
+
379
+ // ----------------------------------------------------------------------------
422
380
 
423
- var vtkPolygon$1 = _objectSpread({
424
- newInstance: newInstance,
425
- extend: extend
426
- }, STATIC);
381
+ var vtkPolygon$1 = {
382
+ newInstance,
383
+ extend,
384
+ ...STATIC
385
+ };
427
386
 
428
387
  export { vtkPolygon$1 as default, extend, getBounds, getNormal, newInstance };
@@ -1,9 +1,9 @@
1
- var QuadWithLineIntersectionState = {
1
+ const QuadWithLineIntersectionState = {
2
2
  NO_INTERSECTION: 0,
3
3
  YES_INTERSECTION: 1
4
4
  };
5
5
  var Constants = {
6
- QuadWithLineIntersectionState: QuadWithLineIntersectionState
6
+ QuadWithLineIntersectionState
7
7
  };
8
8
 
9
9
  export { QuadWithLineIntersectionState, Constants as default };