@kitware/vtk.js 28.10.2 → 28.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +193 -277
  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/README.md +1 -1
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +85 -144
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +192 -256
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +443 -608
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,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 };