@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,65 +1,63 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkSpline1D from './Spline1D.js';
3
3
  import { BoundaryCondition } from './Spline1D/Constants.js';
4
4
 
5
- var VTK_EPSILON = 0.0001; // ----------------------------------------------------------------------------
5
+ const VTK_EPSILON = 0.0001;
6
+
7
+ // ----------------------------------------------------------------------------
6
8
  // vtkKochanekSpline1D methods
7
9
  // ----------------------------------------------------------------------------
8
10
 
9
11
  function vtkKochanekSpline1D(publicAPI, model) {
10
12
  // Set our classname
11
- model.classHierarchy.push('vtkKochanekSpline1D'); // --------------------------------------------------------------------------
13
+ model.classHierarchy.push('vtkKochanekSpline1D');
14
+
15
+ // --------------------------------------------------------------------------
12
16
 
13
- publicAPI.computeCloseCoefficients = function (size, work, x, y) {
17
+ publicAPI.computeCloseCoefficients = (size, work, x, y) => {
14
18
  if (!model.coefficients || model.coefficients.length !== 4 * size) {
15
19
  model.coefficients = new Float32Array(4 * size);
16
20
  }
17
-
18
- var N = size - 1;
19
-
20
- for (var i = 1; i < N; i++) {
21
- var _cs = y[i] - y[i - 1];
22
-
23
- var _cd = y[i + 1] - y[i];
24
-
25
- var _ds = _cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + _cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
26
-
27
- var _dd = _cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + _cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias)); // adjust deriviatives for non uniform spacing between nodes
28
-
29
-
30
- var _n = x[i + 1] - x[i];
31
-
32
- var _n2 = x[i] - x[i - 1];
33
-
34
- _ds *= _n2 / (_n2 + _n);
35
- _dd *= _n / (_n2 + _n);
21
+ const N = size - 1;
22
+ for (let i = 1; i < N; i++) {
23
+ const cs = y[i] - y[i - 1];
24
+ const cd = y[i + 1] - y[i];
25
+ let ds = cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
26
+ let dd = cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias));
27
+
28
+ // adjust deriviatives for non uniform spacing between nodes
29
+ const n1 = x[i + 1] - x[i];
30
+ const n0 = x[i] - x[i - 1];
31
+ ds *= n0 / (n0 + n1);
32
+ dd *= n1 / (n0 + n1);
36
33
  model.coefficients[4 * i + 0] = y[i];
37
- model.coefficients[4 * i + 1] = _dd;
38
- model.coefficients[4 * i + 2] = _ds;
39
- } // Calculate the deriviatives at the end points
40
-
34
+ model.coefficients[4 * i + 1] = dd;
35
+ model.coefficients[4 * i + 2] = ds;
36
+ }
41
37
 
38
+ // Calculate the deriviatives at the end points
42
39
  model.coefficients[4 * 0 + 0] = y[0];
43
40
  model.coefficients[4 * N + 0] = y[N];
44
41
  model.coefficients[4 * N + 1] = 0;
45
42
  model.coefficients[4 * N + 2] = 0;
46
- model.coefficients[4 * N + 3] = 0; // The curve is continuous and closed at P0=Pn
43
+ model.coefficients[4 * N + 3] = 0;
47
44
 
48
- var cs = y[N] - y[N - 1];
49
- var cd = y[1] - y[0];
50
- var ds = cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
51
- var dd = cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias)); // adjust deriviatives for non uniform spacing between nodes
45
+ // The curve is continuous and closed at P0=Pn
46
+ const cs = y[N] - y[N - 1];
47
+ const cd = y[1] - y[0];
48
+ let ds = cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
49
+ let dd = cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias));
52
50
 
53
- var n1 = x[1] - x[0];
54
- var n0 = x[N] - x[N - 1];
51
+ // adjust deriviatives for non uniform spacing between nodes
52
+ const n1 = x[1] - x[0];
53
+ const n0 = x[N] - x[N - 1];
55
54
  ds *= n0 / (n0 + n1);
56
55
  dd *= n1 / (n0 + n1);
57
56
  model.coefficients[4 * 0 + 1] = dd;
58
57
  model.coefficients[4 * 0 + 2] = ds;
59
58
  model.coefficients[4 * N + 1] = dd;
60
59
  model.coefficients[4 * N + 2] = ds;
61
-
62
- for (var _i = 0; _i < N; _i++) {
60
+ for (let i = 0; i < N; i++) {
63
61
  //
64
62
  // c0 = P ; c1 = DD ;
65
63
  // i i i i
@@ -73,50 +71,48 @@ function vtkKochanekSpline1D(publicAPI, model) {
73
71
  // c3 = 2P - 2P + DD + DS ;
74
72
  // i i i+1 i i+1
75
73
  //
76
- model.coefficients[4 * _i + 2] = -3 * y[_i] + 3 * y[_i + 1] + -2 * model.coefficients[4 * _i + 1] + -1 * model.coefficients[4 * (_i + 1) + 2];
77
- model.coefficients[4 * _i + 3] = 2 * y[_i] + -2 * y[_i + 1] + 1 * model.coefficients[4 * _i + 1] + 1 * model.coefficients[4 * (_i + 1) + 2];
74
+ model.coefficients[4 * i + 2] = -3 * y[i] + 3 * y[i + 1] + -2 * model.coefficients[4 * i + 1] + -1 * model.coefficients[4 * (i + 1) + 2];
75
+ model.coefficients[4 * i + 3] = 2 * y[i] + -2 * y[i + 1] + 1 * model.coefficients[4 * i + 1] + 1 * model.coefficients[4 * (i + 1) + 2];
78
76
  }
79
- }; // --------------------------------------------------------------------------
77
+ };
80
78
 
79
+ // --------------------------------------------------------------------------
81
80
 
82
81
  publicAPI.computeOpenCoefficients = function (size, work, x, y) {
83
- var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
84
-
82
+ let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
85
83
  if (!model.coefficients || model.coefficients.length !== 4 * size) {
86
84
  model.coefficients = new Float32Array(4 * size);
87
85
  }
88
-
89
- var N = size - 1;
90
-
91
- for (var i = 1; i < N; i++) {
92
- var cs = y[i] - y[i - 1];
93
- var cd = y[i + 1] - y[i];
94
- var ds = cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
95
- var dd = cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias)); // adjust deriviatives for non uniform spacing between nodes
96
-
97
- var n1 = x[i + 1] - x[i];
98
- var n0 = x[i] - x[i - 1];
86
+ const N = size - 1;
87
+ for (let i = 1; i < N; i++) {
88
+ const cs = y[i] - y[i - 1];
89
+ const cd = y[i + 1] - y[i];
90
+ let ds = cs * ((1 - model.tension) * (1 - model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 + model.continuity) * (1 - model.bias));
91
+ let dd = cs * ((1 - model.tension) * (1 + model.continuity) * (1 + model.bias)) + cd * ((1 - model.tension) * (1 - model.continuity) * (1 - model.bias));
92
+
93
+ // adjust deriviatives for non uniform spacing between nodes
94
+ const n1 = x[i + 1] - x[i];
95
+ const n0 = x[i] - x[i - 1];
99
96
  ds *= n0 / (n0 + n1);
100
97
  dd *= n1 / (n0 + n1);
101
98
  model.coefficients[4 * i + 0] = y[i];
102
99
  model.coefficients[4 * i + 1] = dd;
103
100
  model.coefficients[4 * i + 2] = ds;
104
101
  }
105
-
106
102
  model.coefficients[4 * 0 + 0] = y[0];
107
- model.coefficients[4 * N + 0] = y[N]; // Calculate the deriviatives at the end points
103
+ model.coefficients[4 * N + 0] = y[N];
104
+
105
+ // Calculate the deriviatives at the end points
108
106
 
109
107
  switch (options.leftConstraint) {
110
108
  // desired slope at leftmost point is leftValue
111
109
  case BoundaryCondition.DERIVATIVE:
112
110
  model.coefficients[4 * 0 + 1] = options.leftValue;
113
111
  break;
114
-
115
112
  case BoundaryCondition.SECOND_DERIVATIVE:
116
113
  // desired second derivative at leftmost point is leftValue
117
114
  model.coefficients[4 * 0 + 1] = (6 * (y[1] - y[0]) - 2 * model.coefficients[4 * 1 + 2] - options.leftValue) / 4;
118
115
  break;
119
-
120
116
  case BoundaryCondition.SECOND_DERIVATIVE_INTERIOR_POINT:
121
117
  // desired second derivative at leftmost point is leftValue
122
118
  // times second derivative at first interior point
@@ -125,27 +121,22 @@ function vtkKochanekSpline1D(publicAPI, model) {
125
121
  } else {
126
122
  model.coefficients[4 * 0 + 1] = 0.0;
127
123
  }
128
-
129
124
  break;
130
-
131
125
  case BoundaryCondition.DEFAULT:
132
126
  default:
133
127
  // desired slope at leftmost point is derivative from two points
134
128
  model.coefficients[4 * 0 + 1] = y[2] - y[0];
135
129
  break;
136
130
  }
137
-
138
131
  switch (options.rightConstraint) {
139
132
  case BoundaryCondition.DERIVATIVE:
140
133
  // desired slope at rightmost point is leftValue
141
134
  model.coefficients[4 * N + 2] = options.leftValue;
142
135
  break;
143
-
144
136
  case BoundaryCondition.SECOND_DERIVATIVE:
145
137
  // desired second derivative at rightmost point is leftValue
146
138
  model.coefficients[4 * N + 2] = (6 * (y[N] - y[N - 1]) - 2 * model.coefficients[4 * (N - 1) + 1] + options.leftValue) / 4.0;
147
139
  break;
148
-
149
140
  case BoundaryCondition.SECOND_DERIVATIVE_INTERIOR_POINT:
150
141
  // desired second derivative at rightmost point is leftValue
151
142
  // times second derivative at last interior point
@@ -154,17 +145,14 @@ function vtkKochanekSpline1D(publicAPI, model) {
154
145
  } else {
155
146
  model.coefficients[4 * N + 2] = 0.0;
156
147
  }
157
-
158
148
  break;
159
-
160
149
  case BoundaryCondition.DEFAULT:
161
150
  default:
162
151
  // desired slope at rightmost point is rightValue
163
152
  model.coefficients[4 * N + 2] = y[N] - y[N - 2];
164
153
  break;
165
154
  }
166
-
167
- for (var _i2 = 0; _i2 < N; _i2++) {
155
+ for (let i = 0; i < N; i++) {
168
156
  //
169
157
  // c0 = P ; c1 = DD ;
170
158
  // i i i i
@@ -178,42 +166,51 @@ function vtkKochanekSpline1D(publicAPI, model) {
178
166
  // c3 = 2P - 2P + DD + DS ;
179
167
  // i i i+1 i i+1
180
168
  //
181
- model.coefficients[4 * _i2 + 2] = -3 * y[_i2] + 3 * y[_i2 + 1] + -2 * model.coefficients[4 * _i2 + 1] + -1 * model.coefficients[4 * (_i2 + 1) + 2];
182
- model.coefficients[4 * _i2 + 3] = 2 * y[_i2] + -2 * y[_i2 + 1] + 1 * model.coefficients[4 * _i2 + 1] + 1 * model.coefficients[4 * (_i2 + 1) + 2];
169
+ model.coefficients[4 * i + 2] = -3 * y[i] + 3 * y[i + 1] + -2 * model.coefficients[4 * i + 1] + -1 * model.coefficients[4 * (i + 1) + 2];
170
+ model.coefficients[4 * i + 3] = 2 * y[i] + -2 * y[i + 1] + 1 * model.coefficients[4 * i + 1] + 1 * model.coefficients[4 * (i + 1) + 2];
183
171
  }
184
- }; // --------------------------------------------------------------------------
172
+ };
185
173
 
174
+ // --------------------------------------------------------------------------
186
175
 
187
- publicAPI.getValue = function (intervalIndex, t) {
188
- var t2 = t * t;
189
- var t3 = t * t * t;
176
+ publicAPI.getValue = (intervalIndex, t) => {
177
+ const t2 = t * t;
178
+ const t3 = t * t * t;
190
179
  return model.coefficients[4 * intervalIndex + 3] * t3 + model.coefficients[4 * intervalIndex + 2] * t2 + model.coefficients[4 * intervalIndex + 1] * t + model.coefficients[4 * intervalIndex + 0];
191
180
  };
192
- } // ----------------------------------------------------------------------------
181
+ }
182
+
183
+ // ----------------------------------------------------------------------------
193
184
  // Object factory
194
185
  // ----------------------------------------------------------------------------
195
186
 
196
-
197
- var DEFAULT_VALUES = {
187
+ const DEFAULT_VALUES = {
198
188
  tension: 0,
199
189
  bias: 0,
200
190
  continuity: 0
201
- }; // ----------------------------------------------------------------------------
191
+ };
192
+
193
+ // ----------------------------------------------------------------------------
202
194
 
203
195
  function extend(publicAPI, model) {
204
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
196
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
205
197
  Object.assign(model, DEFAULT_VALUES, initialValues);
206
- vtkSpline1D.extend(publicAPI, model, initialValues); // Build VTK API
198
+ vtkSpline1D.extend(publicAPI, model, initialValues);
207
199
 
200
+ // Build VTK API
208
201
  macro.obj(publicAPI, model);
209
202
  vtkKochanekSpline1D(publicAPI, model);
210
- } // ----------------------------------------------------------------------------
203
+ }
204
+
205
+ // ----------------------------------------------------------------------------
206
+
207
+ const newInstance = macro.newInstance(extend, 'vtkKochanekSpline1D');
211
208
 
212
- var newInstance = macro.newInstance(extend, 'vtkKochanekSpline1D'); // ----------------------------------------------------------------------------
209
+ // ----------------------------------------------------------------------------
213
210
 
214
211
  var vtkKochanekSpline1D$1 = {
215
- newInstance: newInstance,
216
- extend: extend
212
+ newInstance,
213
+ extend
217
214
  };
218
215
 
219
216
  export { vtkKochanekSpline1D$1 as default, extend, newInstance };
@@ -1,10 +1,10 @@
1
- var IntersectionState = {
1
+ const IntersectionState = {
2
2
  NO_INTERSECTION: 0,
3
3
  YES_INTERSECTION: 1,
4
4
  ON_LINE: 2
5
5
  };
6
6
  var Constants = {
7
- IntersectionState: IntersectionState
7
+ IntersectionState
8
8
  };
9
9
 
10
10
  export { IntersectionState, Constants as default };
@@ -1,43 +1,41 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import Constants from './Line/Constants.js';
4
3
  import vtkCell from './Cell.js';
5
4
  import { d as dot, e as distance2BetweenPoints, s as subtract, g as solveLinearSystem } from '../Core/Math/index.js';
6
5
  import { quat } from 'gl-matrix';
7
6
 
8
- 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; }
7
+ const {
8
+ IntersectionState
9
+ } = Constants;
9
10
 
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- var IntersectionState = Constants.IntersectionState; // ----------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // Global methods
13
13
  // ----------------------------------------------------------------------------
14
-
15
14
  function distanceToLine(x, p1, p2) {
16
- var closestPoint = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
17
- var outObj = {
15
+ let closestPoint = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
16
+ const outObj = {
18
17
  t: Number.MIN_VALUE,
19
18
  distance: 0
20
19
  };
21
- var p21 = [];
22
- var closest; // Determine appropriate vector
23
-
20
+ const p21 = [];
21
+ let closest;
22
+ // Determine appropriate vector
24
23
  p21[0] = p2[0] - p1[0];
25
24
  p21[1] = p2[1] - p1[1];
26
- p21[2] = p2[2] - p1[2]; // Get parametric location
27
-
28
- var num = p21[0] * (x[0] - p1[0]) + p21[1] * (x[1] - p1[1]) + p21[2] * (x[2] - p1[2]);
29
- var denom = dot(p21, p21); // trying to avoid an expensive fabs
25
+ p21[2] = p2[2] - p1[2];
30
26
 
31
- var tolerance = 1e-5 * num;
27
+ // Get parametric location
28
+ const num = p21[0] * (x[0] - p1[0]) + p21[1] * (x[1] - p1[1]) + p21[2] * (x[2] - p1[2]);
29
+ const denom = dot(p21, p21);
32
30
 
31
+ // trying to avoid an expensive fabs
32
+ let tolerance = 1e-5 * num;
33
33
  if (denom !== 0.0) {
34
34
  outObj.t = num / denom;
35
35
  }
36
-
37
36
  if (tolerance < 0.0) {
38
37
  tolerance = -tolerance;
39
38
  }
40
-
41
39
  if (-tolerance < denom && denom < tolerance) {
42
40
  closest = p1;
43
41
  } else if (denom <= 0.0 || outObj.t < 0.0) {
@@ -52,92 +50,84 @@ function distanceToLine(x, p1, p2) {
52
50
  p21[1] = p1[1] + outObj.t * p21[1];
53
51
  p21[2] = p1[2] + outObj.t * p21[2];
54
52
  }
55
-
56
53
  if (closestPoint) {
57
54
  closestPoint[0] = closest[0];
58
55
  closestPoint[1] = closest[1];
59
56
  closestPoint[2] = closest[2];
60
57
  }
61
-
62
58
  outObj.distance = distance2BetweenPoints(closest, x);
63
59
  return outObj;
64
60
  }
65
-
66
61
  function intersection(a1, a2, b1, b2, u, v) {
67
- var a21 = [];
68
- var b21 = [];
69
- var b1a1 = [];
62
+ const a21 = [];
63
+ const b21 = [];
64
+ const b1a1 = [];
70
65
  u[0] = 0.0;
71
- v[0] = 0.0; // Determine line vectors.
66
+ v[0] = 0.0;
72
67
 
68
+ // Determine line vectors.
73
69
  subtract(a2, a1, a21);
74
70
  subtract(b2, b1, b21);
75
- subtract(b1, a1, b1a1); // Compute the system (least squares) matrix.
71
+ subtract(b1, a1, b1a1);
76
72
 
77
- var A = [dot(a21, a21), -dot(a21, b21), -dot(a21, b21), dot(b21, b21)]; // Compute the least squares system constant term.
73
+ // Compute the system (least squares) matrix.
74
+ const A = [dot(a21, a21), -dot(a21, b21), -dot(a21, b21), dot(b21, b21)];
78
75
 
79
- var c = [];
76
+ // Compute the least squares system constant term.
77
+ const c = [];
80
78
  c[0] = dot(a21, b1a1);
81
- c[1] = -dot(b21, b1a1); // Solve the system of equations
82
-
79
+ c[1] = -dot(b21, b1a1);
80
+ // Solve the system of equations
83
81
  if (solveLinearSystem(A, c, 2) === 0) {
84
82
  // The lines are colinear. Therefore, one of the four endpoints is the
85
83
  // point of closest approach
86
- var minDist = Number.MAX_VALUE;
87
- var p = [a1, a2, b1, b2];
88
- var l1 = [b1, b1, a1, a1];
89
- var l2 = [b2, b2, a2, a2];
90
- var uv1 = [v[0], v[0], u[0], u[0]];
91
- var uv2 = [u[0], u[0], v[0], v[0]];
92
- var obj;
93
-
94
- for (var i = 0; i < 4; i++) {
84
+ let minDist = Number.MAX_VALUE;
85
+ const p = [a1, a2, b1, b2];
86
+ const l1 = [b1, b1, a1, a1];
87
+ const l2 = [b2, b2, a2, a2];
88
+ [v[0], v[0], u[0], u[0]];
89
+ [u[0], u[0], v[0], v[0]];
90
+ let obj;
91
+ for (let i = 0; i < 4; i++) {
95
92
  obj = distanceToLine(p[i], l1[i], l2[i]);
96
-
97
93
  if (obj.distance < minDist) {
98
94
  minDist = obj.distance;
99
- uv1[i] = obj.t;
100
- uv2[i] = i % 2;
101
95
  }
102
96
  }
103
-
104
97
  return IntersectionState.ON_LINE;
105
98
  }
106
-
107
99
  u[0] = c[0];
108
- v[0] = c[1]; // Check parametric coordinates for intersection.
100
+ v[0] = c[1];
109
101
 
102
+ // Check parametric coordinates for intersection.
110
103
  if (u[0] >= 0.0 && u[0] <= 1.0 && v[0] >= 0.0 && v[0] <= 1.0) {
111
104
  return IntersectionState.YES_INTERSECTION;
112
105
  }
113
-
114
106
  return IntersectionState.NO_INTERSECTION;
115
- } // ----------------------------------------------------------------------------
107
+ }
108
+
109
+ // ----------------------------------------------------------------------------
116
110
  // Static API
117
111
  // ----------------------------------------------------------------------------
118
112
 
113
+ const STATIC = {
114
+ distanceToLine,
115
+ intersection
116
+ };
119
117
 
120
- var STATIC = {
121
- distanceToLine: distanceToLine,
122
- intersection: intersection
123
- }; // ----------------------------------------------------------------------------
118
+ // ----------------------------------------------------------------------------
124
119
  // vtkLine methods
125
120
  // ----------------------------------------------------------------------------
126
121
 
127
122
  function vtkLine(publicAPI, model) {
128
123
  // Set our className
129
124
  model.classHierarchy.push('vtkLine');
130
-
131
125
  function isBetweenPoints(t) {
132
126
  return t >= 0.0 && t <= 1.0;
133
127
  }
134
-
135
- publicAPI.getCellDimension = function () {
136
- return 1;
137
- };
138
-
139
- publicAPI.intersectWithLine = function (p1, p2, tol, x, pcoords) {
140
- var outObj = {
128
+ publicAPI.getCellDimension = () => 1;
129
+ publicAPI.intersectWithLine = (p1, p2, tol, x, pcoords) => {
130
+ const outObj = {
141
131
  intersect: 0,
142
132
  t: Number.MAX_VALUE,
143
133
  subId: 0,
@@ -145,138 +135,125 @@ function vtkLine(publicAPI, model) {
145
135
  };
146
136
  pcoords[1] = 0.0;
147
137
  pcoords[2] = 0.0;
148
- var projXYZ = [];
149
- var a1 = [];
150
- var a2 = [];
138
+ const projXYZ = [];
139
+ const a1 = [];
140
+ const a2 = [];
151
141
  model.points.getPoint(0, a1);
152
142
  model.points.getPoint(1, a2);
153
- var u = [];
154
- var v = [];
155
- var intersect = intersection(p1, p2, a1, a2, u, v);
143
+ const u = [];
144
+ const v = [];
145
+ const intersect = intersection(p1, p2, a1, a2, u, v);
156
146
  outObj.t = u[0];
157
147
  outObj.betweenPoints = isBetweenPoints(outObj.t);
158
148
  pcoords[0] = v[0];
159
-
160
149
  if (intersect === IntersectionState.YES_INTERSECTION) {
161
150
  // make sure we are within tolerance
162
- for (var i = 0; i < 3; i++) {
151
+ for (let i = 0; i < 3; i++) {
163
152
  x[i] = a1[i] + pcoords[0] * (a2[i] - a1[i]);
164
153
  projXYZ[i] = p1[i] + outObj.t * (p2[i] - p1[i]);
165
154
  }
166
-
167
155
  if (distance2BetweenPoints(x, projXYZ) <= tol * tol) {
168
156
  outObj.intersect = 1;
169
157
  return outObj;
170
158
  }
171
159
  } else {
172
- var outDistance; // check to see if it lies within tolerance
160
+ let outDistance;
161
+ // check to see if it lies within tolerance
173
162
  // one of the parametric coords must be outside 0-1
174
-
175
163
  if (outObj.t < 0.0) {
176
164
  outDistance = distanceToLine(p1, a1, a2, x);
177
-
178
165
  if (outDistance.distance <= tol * tol) {
179
166
  outObj.t = 0.0;
180
167
  outObj.intersect = 1;
181
168
  outObj.betweenPoints = true; // Intersection is near p1
182
-
183
169
  return outObj;
184
170
  }
185
-
186
171
  return outObj;
187
172
  }
188
-
189
173
  if (outObj.t > 1.0) {
190
174
  outDistance = distanceToLine(p2, a1, a2, x);
191
-
192
175
  if (outDistance.distance <= tol * tol) {
193
176
  outObj.t = 1.0;
194
177
  outObj.intersect = 1;
195
178
  outObj.betweenPoints = true; // Intersection is near p2
196
-
197
179
  return outObj;
198
180
  }
199
-
200
181
  return outObj;
201
182
  }
202
-
203
183
  if (pcoords[0] < 0.0) {
204
184
  pcoords[0] = 0.0;
205
185
  outDistance = distanceToLine(a1, p1, p2, x);
206
186
  outObj.t = outDistance.t;
207
-
208
187
  if (outDistance.distance <= tol * tol) {
209
188
  outObj.intersect = 1;
210
189
  return outObj;
211
190
  }
212
-
213
191
  return outObj;
214
192
  }
215
-
216
193
  if (pcoords[0] > 1.0) {
217
194
  pcoords[0] = 1.0;
218
195
  outDistance = distanceToLine(a2, p1, p2, x);
219
196
  outObj.t = outDistance.t;
220
-
221
197
  if (outDistance.distance <= tol * tol) {
222
198
  outObj.intersect = 1;
223
199
  return outObj;
224
200
  }
225
-
226
201
  return outObj;
227
202
  }
228
203
  }
229
-
230
204
  return outObj;
231
205
  };
232
-
233
- publicAPI.evaluateLocation = function (pcoords, x, weights) {
234
- var a1 = [];
235
- var a2 = [];
206
+ publicAPI.evaluateLocation = (pcoords, x, weights) => {
207
+ const a1 = [];
208
+ const a2 = [];
236
209
  model.points.getPoint(0, a1);
237
210
  model.points.getPoint(1, a2);
238
-
239
- for (var i = 0; i < 3; i++) {
211
+ for (let i = 0; i < 3; i++) {
240
212
  x[i] = a1[i] + pcoords[0] * (a2[i] - a1[i]);
241
213
  }
242
-
243
214
  weights[0] = 1.0 - pcoords[0];
244
215
  weights[1] = pcoords[0];
245
216
  };
246
-
247
- publicAPI.evaluateOrientation = function (pcoords, q, weights) {
217
+ publicAPI.evaluateOrientation = (pcoords, q, weights) => {
248
218
  if (model.orientations) {
249
219
  quat.slerp(q, model.orientations[0], model.orientations[1], pcoords[0]);
250
220
  weights[0] = 1.0 - pcoords[0];
251
221
  weights[1] = pcoords[0];
252
222
  return true;
253
223
  }
254
-
255
224
  return false;
256
225
  };
257
- } // ----------------------------------------------------------------------------
226
+ }
227
+
228
+ // ----------------------------------------------------------------------------
258
229
  // Object factory
259
230
  // ----------------------------------------------------------------------------
260
231
 
261
-
262
- var DEFAULT_VALUES = {
232
+ const DEFAULT_VALUES = {
263
233
  orientations: null // an array of two quat or null
234
+ };
264
235
 
265
- }; // ----------------------------------------------------------------------------
236
+ // ----------------------------------------------------------------------------
266
237
 
267
238
  function extend(publicAPI, model) {
268
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
239
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
269
240
  Object.assign(model, DEFAULT_VALUES, initialValues);
270
241
  vtkCell.extend(publicAPI, model, initialValues);
271
242
  macro.setGet(publicAPI, model, ['orientations']);
272
243
  vtkLine(publicAPI, model);
273
- } // ----------------------------------------------------------------------------
244
+ }
245
+
246
+ // ----------------------------------------------------------------------------
247
+
248
+ const newInstance = macro.newInstance(extend, 'vtkLine');
274
249
 
275
- var newInstance = macro.newInstance(extend, 'vtkLine'); // ----------------------------------------------------------------------------
250
+ // ----------------------------------------------------------------------------
276
251
 
277
- var vtkLine$1 = _objectSpread(_objectSpread({
278
- newInstance: newInstance,
279
- extend: extend
280
- }, STATIC), Constants);
252
+ var vtkLine$1 = {
253
+ newInstance,
254
+ extend,
255
+ ...STATIC,
256
+ ...Constants
257
+ };
281
258
 
282
259
  export { STATIC, vtkLine$1 as default, extend, newInstance };