@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,32 +1,38 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkPolyData from '../../Common/DataModel/PolyData.js';
3
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
4
4
  import { l as normalize } from '../../Common/Core/Math/index.js';
5
5
  import { a as atomElem } from '../../Utilities/XMLConverter/chemistry/elements.json.js';
6
6
 
7
- var vtkErrorMacro = macro.vtkErrorMacro,
8
- vtkDebugMacro = macro.vtkDebugMacro; // ----------------------------------------------------------------------------
7
+ const {
8
+ vtkErrorMacro,
9
+ vtkDebugMacro
10
+ } = macro;
11
+
12
+ // ----------------------------------------------------------------------------
9
13
  // Globals
10
14
  // ----------------------------------------------------------------------------
11
15
 
12
- var ATOMS = {};
13
- atomElem.atoms.forEach(function (a) {
16
+ const ATOMS = {};
17
+ atomElem.atoms.forEach(a => {
14
18
  ATOMS[a.atomicNumber] = a;
15
- }); // ----------------------------------------------------------------------------
19
+ });
20
+
21
+ // ----------------------------------------------------------------------------
16
22
  // vtkMoleculeToRepresentation methods
17
23
  // ----------------------------------------------------------------------------
18
24
 
19
25
  function vtkMoleculeToRepresentation(publicAPI, model) {
20
- var bondPositionData = [];
21
- var bondScaleData = [];
22
- var bondOrientationData = [];
23
- var bondColorData = []; // Set our className
26
+ const bondPositionData = [];
27
+ const bondScaleData = [];
28
+ const bondOrientationData = [];
29
+ const bondColorData = [];
24
30
 
31
+ // Set our className
25
32
  model.classHierarchy.push('vtkMoleculeToRepresentation');
26
-
27
33
  function addBond(position, orientation, length) {
28
- var color = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [1.0, 1.0, 1.0];
29
- var radius = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : model.bondRadius;
34
+ let color = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [1.0, 1.0, 1.0];
35
+ let radius = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : model.bondRadius;
30
36
  bondScaleData.push(length);
31
37
  bondScaleData.push(radius);
32
38
  bondOrientationData.push(orientation[0]);
@@ -35,37 +41,35 @@ function vtkMoleculeToRepresentation(publicAPI, model) {
35
41
  bondPositionData.push(position[0]);
36
42
  bondPositionData.push(position[1]);
37
43
  bondPositionData.push(position[2]);
38
-
39
- for (var i = 0; i < color.length; ++i) {
44
+ for (let i = 0; i < color.length; ++i) {
40
45
  bondColorData.push(color[i] * 255);
41
46
  }
42
47
  }
43
-
44
- publicAPI.requestData = function (inData, outData) {
48
+ publicAPI.requestData = (inData, outData) => {
45
49
  // input
46
- var moleculedata = inData[0];
47
-
50
+ const moleculedata = inData[0];
48
51
  if (!moleculedata) {
49
52
  vtkErrorMacro('Invalid or missing input');
50
53
  return 1;
51
- } // output
52
-
54
+ }
53
55
 
54
- var SphereData = vtkPolyData.newInstance();
55
- var StickData = vtkPolyData.newInstance(); // Fetch from input molecule data
56
+ // output
57
+ const SphereData = vtkPolyData.newInstance();
58
+ const StickData = vtkPolyData.newInstance();
56
59
 
57
- var numPts = 0;
58
- var numBonds = 0;
59
- var pointsArray = null;
60
- var atomicNumber = null;
61
- var bondIndex = null;
62
- var bondOrder = null; // Empty arrays
60
+ // Fetch from input molecule data
61
+ let numPts = 0;
62
+ let numBonds = 0;
63
+ let pointsArray = null;
64
+ let atomicNumber = null;
65
+ let bondIndex = null;
66
+ let bondOrder = null;
63
67
 
68
+ // Empty arrays
64
69
  bondPositionData.length = 0;
65
70
  bondScaleData.length = 0;
66
71
  bondOrientationData.length = 0;
67
72
  bondColorData.length = 0;
68
-
69
73
  if (moleculedata.getAtoms()) {
70
74
  if (moleculedata.getAtoms().coords !== undefined) {
71
75
  if (moleculedata.getAtoms().coords['3d'] !== undefined) {
@@ -73,14 +77,12 @@ function vtkMoleculeToRepresentation(publicAPI, model) {
73
77
  numPts = pointsArray.length / 3;
74
78
  }
75
79
  }
76
-
77
80
  if (moleculedata.getAtoms().elements !== undefined) {
78
81
  if (moleculedata.getAtoms().elements.number !== undefined) {
79
82
  atomicNumber = moleculedata.getAtoms().elements.number;
80
83
  }
81
84
  }
82
85
  }
83
-
84
86
  if (moleculedata.getBonds()) {
85
87
  if (moleculedata.getBonds().connections !== undefined) {
86
88
  if (moleculedata.getBonds().connections.index !== undefined) {
@@ -88,25 +90,22 @@ function vtkMoleculeToRepresentation(publicAPI, model) {
88
90
  numBonds = bondIndex.length / 2;
89
91
  }
90
92
  }
91
-
92
93
  if (moleculedata.getBonds().order !== undefined) {
93
94
  bondOrder = moleculedata.getBonds().order;
94
95
  }
95
96
  }
96
-
97
- var pointsData = [];
98
- var scaleData = [];
99
- var colorData = [];
100
- var radiusArray = [];
101
- var covalentArray = [];
102
- var colorArray = [];
103
- vtkDebugMacro('Checking for bonds with tolerance ', model.tolerance); // go through each points and fill from elements.json
104
-
97
+ const pointsData = [];
98
+ const scaleData = [];
99
+ const colorData = [];
100
+ const radiusArray = [];
101
+ const covalentArray = [];
102
+ const colorArray = [];
103
+ vtkDebugMacro('Checking for bonds with tolerance ', model.tolerance);
104
+
105
+ // go through each points and fill from elements.json
105
106
  /* eslint-disable no-continue */
106
-
107
- var ptsIdx = 0;
108
-
109
- for (var i = 0; i < numPts; i++) {
107
+ let ptsIdx = 0;
108
+ for (let i = 0; i < numPts; i++) {
110
109
  // fetch from elements.json
111
110
  if (atomicNumber) {
112
111
  radiusArray.push(ATOMS[atomicNumber[i]][model.radiusType]);
@@ -114,103 +113,97 @@ function vtkMoleculeToRepresentation(publicAPI, model) {
114
113
  colorArray.push(ATOMS[atomicNumber[i]].elementColor[0]);
115
114
  colorArray.push(ATOMS[atomicNumber[i]].elementColor[1]);
116
115
  colorArray.push(ATOMS[atomicNumber[i]].elementColor[2]);
117
- } // skip atoms specified by hideElements
118
- // model.hideHydrogen = false; // show hydrogen
119
-
116
+ }
120
117
 
118
+ // skip atoms specified by hideElements
119
+ // model.hideHydrogen = false; // show hydrogen
121
120
  if (model.hideElements.indexOf(ATOMS[atomicNumber[i]].id) !== -1) {
122
121
  continue;
123
- } // points
124
-
122
+ }
125
123
 
124
+ // points
126
125
  ptsIdx = i * 3;
127
126
  pointsData.push(pointsArray[ptsIdx]);
128
127
  pointsData.push(pointsArray[ptsIdx + 1]);
129
- pointsData.push(pointsArray[ptsIdx + 2]); // radius
128
+ pointsData.push(pointsArray[ptsIdx + 2]);
130
129
 
130
+ // radius
131
131
  if (radiusArray.length > 0) {
132
132
  scaleData.push(radiusArray[i] * model.atomicRadiusScaleFactor);
133
- } // colors
134
-
133
+ }
135
134
 
135
+ // colors
136
136
  if (colorArray.length > 0) {
137
137
  ptsIdx = i * 3;
138
138
  colorData.push(colorArray[ptsIdx] * 255);
139
139
  colorData.push(colorArray[ptsIdx + 1] * 255);
140
140
  colorData.push(colorArray[ptsIdx + 2] * 255);
141
141
  }
142
- } // if we don't have Bonds provided
143
- // we fill up a bondIndex and a bondOrder
144
-
142
+ }
145
143
 
144
+ // if we don't have Bonds provided
145
+ // we fill up a bondIndex and a bondOrder
146
146
  if (!bondIndex) {
147
147
  bondIndex = [];
148
- bondOrder = []; // default bond display
149
-
148
+ bondOrder = [];
149
+ // default bond display
150
150
  /* eslint-disable no-continue */
151
-
152
- for (var _i = 0; _i < numPts; _i++) {
153
- for (var j = _i + 1; j < numPts; j++) {
154
- var cutoff = covalentArray[_i] + covalentArray[j] + model.tolerance;
155
- var jPtsIdx = j * 3;
156
- var iPtsIdx = _i * 3;
157
- var diff = [pointsArray[jPtsIdx], pointsArray[jPtsIdx + 1], pointsArray[jPtsIdx + 2]];
151
+ for (let i = 0; i < numPts; i++) {
152
+ for (let j = i + 1; j < numPts; j++) {
153
+ const cutoff = covalentArray[i] + covalentArray[j] + model.tolerance;
154
+ const jPtsIdx = j * 3;
155
+ const iPtsIdx = i * 3;
156
+ const diff = [pointsArray[jPtsIdx], pointsArray[jPtsIdx + 1], pointsArray[jPtsIdx + 2]];
158
157
  diff[0] -= pointsArray[iPtsIdx];
159
158
  diff[1] -= pointsArray[iPtsIdx + 1];
160
159
  diff[2] -= pointsArray[iPtsIdx + 2];
161
-
162
160
  if (Math.abs(diff[0]) > cutoff || Math.abs(diff[1]) > cutoff || Math.abs(diff[2]) > cutoff) {
163
161
  continue;
164
- } // Check radius and add bond if needed
165
-
166
-
167
- var cutoffSq = cutoff * cutoff;
168
- var diffsq = diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2];
162
+ }
169
163
 
164
+ // Check radius and add bond if needed
165
+ const cutoffSq = cutoff * cutoff;
166
+ const diffsq = diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2];
170
167
  if (diffsq < cutoffSq && diffsq > 0.1) {
171
168
  // appendBond between i and j
172
- bondIndex.push(_i);
169
+ bondIndex.push(i);
173
170
  bondIndex.push(j);
174
171
  bondOrder.push(1);
175
172
  }
176
173
  }
177
174
  }
178
-
179
175
  numBonds = bondIndex.length / 2;
180
- } // now we have the bonds, draw them
181
-
176
+ }
182
177
 
183
- for (var index = 0; index < numBonds; index++) {
178
+ // now we have the bonds, draw them
179
+ for (let index = 0; index < numBonds; index++) {
184
180
  // appendBond between i and j
185
- var _i2 = bondIndex[index * 2];
186
- var _j = bondIndex[index * 2 + 1]; // Do not append if i or j belong to element to not display
181
+ const i = bondIndex[index * 2];
182
+ const j = bondIndex[index * 2 + 1];
187
183
 
188
- if (model.hideElements.indexOf(ATOMS[atomicNumber[_i2]].id) !== -1 || model.hideElements.indexOf(ATOMS[atomicNumber[_j]].id) !== -1) {
184
+ // Do not append if i or j belong to element to not display
185
+ if (model.hideElements.indexOf(ATOMS[atomicNumber[i]].id) !== -1 || model.hideElements.indexOf(ATOMS[atomicNumber[j]].id) !== -1) {
189
186
  continue;
190
187
  }
188
+ const jPtsIdx = j * 3;
189
+ const iPtsIdx = i * 3;
190
+ const diff = [pointsArray[jPtsIdx], pointsArray[jPtsIdx + 1], pointsArray[jPtsIdx + 2]];
191
+ diff[0] -= pointsArray[iPtsIdx];
192
+ diff[1] -= pointsArray[iPtsIdx + 1];
193
+ diff[2] -= pointsArray[iPtsIdx + 2];
194
+ const diffsq = diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2];
195
+ let bondDelta = (2 + model.deltaBondFactor) * model.bondRadius; // distance between 2 bonds
191
196
 
192
- var _jPtsIdx = _j * 3;
193
-
194
- var _iPtsIdx = _i2 * 3;
195
-
196
- var _diff = [pointsArray[_jPtsIdx], pointsArray[_jPtsIdx + 1], pointsArray[_jPtsIdx + 2]];
197
- _diff[0] -= pointsArray[_iPtsIdx];
198
- _diff[1] -= pointsArray[_iPtsIdx + 1];
199
- _diff[2] -= pointsArray[_iPtsIdx + 2];
200
-
201
- var _diffsq = _diff[0] * _diff[0] + _diff[1] * _diff[1] + _diff[2] * _diff[2];
202
-
203
- var bondDelta = (2 + model.deltaBondFactor) * model.bondRadius; // distance between 2 bonds
204
197
  // scale bonds if total distance from bonds is bigger than 2r*factor with r = min(r_i, r_j)
205
-
206
- var r = Math.min(radiusArray[_i2] * model.atomicRadiusScaleFactor, radiusArray[_j] * model.atomicRadiusScaleFactor);
207
- var t = (bondOrder[index] - 1) * bondDelta + 2 * model.bondRadius;
208
-
198
+ const r = Math.min(radiusArray[i] * model.atomicRadiusScaleFactor, radiusArray[j] * model.atomicRadiusScaleFactor);
199
+ const t = (bondOrder[index] - 1) * bondDelta + 2 * model.bondRadius;
209
200
  if (t > 2 * r * 0.6) {
210
- model.bondRadius *= 2 * r * 0.6 / t; // recompute bondDelta
211
-
201
+ model.bondRadius *= 2 * r * 0.6 / t;
202
+ // recompute bondDelta
212
203
  bondDelta = (2 + model.deltaBondFactor) * model.bondRadius; // distance between 2 bonds
213
- } // Display multiple bond
204
+ }
205
+
206
+ // Display multiple bond
214
207
  // loop such as 0 11 22 if odd order / 00 11 22 33 if even order
215
208
  // To make: 0 22 44 66 88 ... 11 33 55 77 ....
216
209
  // because the offset has to be:
@@ -221,112 +214,99 @@ function vtkMoleculeToRepresentation(publicAPI, model) {
221
214
  // - odd order: x * 2 <=> x * 2 + 1 - 1
222
215
  // - even order: x * 2 + 1
223
216
  // (with x the loop <=> floor(k/2))
224
-
225
-
226
- var oddOrEven = bondOrder[index] % 2; // zero if even order / one if odd order
227
-
228
- for (var k = oddOrEven; k < bondOrder[index] + oddOrEven; k++) {
217
+ const oddOrEven = bondOrder[index] % 2; // zero if even order / one if odd order
218
+ for (let k = oddOrEven; k < bondOrder[index] + oddOrEven; k++) {
229
219
  // dist from center to bond depending of number of bond
230
- var offset = (Math.floor(k / 2) * 2 + 1 - oddOrEven) * bondDelta / 2;
231
- var vectUnitJI = [_diff[0] / Math.sqrt(_diffsq), _diff[1] / Math.sqrt(_diffsq), _diff[2] / Math.sqrt(_diffsq)];
232
- var vectUnitJIperp = [0, 0, 0]; // Search perp to vectUnitJI: find axis != 0 to create vectUnitJIperp such as dot(vectUnitJIperp,vectUnitJI) = 0
233
-
234
- for (var coord = 0; coord < 3; coord++) {
220
+ let offset = (Math.floor(k / 2) * 2 + 1 - oddOrEven) * bondDelta / 2;
221
+ const vectUnitJI = [diff[0] / Math.sqrt(diffsq), diff[1] / Math.sqrt(diffsq), diff[2] / Math.sqrt(diffsq)];
222
+ const vectUnitJIperp = [0, 0, 0];
223
+ // Search perp to vectUnitJI: find axis != 0 to create vectUnitJIperp such as dot(vectUnitJIperp,vectUnitJI) = 0
224
+ for (let coord = 0; coord < 3; coord++) {
235
225
  if (Math.abs(vectUnitJI[coord]) < 0.000001) {
236
226
  continue;
237
227
  }
238
-
239
228
  vectUnitJIperp[coord] = -(vectUnitJI[(coord + 2) % 3] * vectUnitJI[(coord + 2) % 3] + vectUnitJI[(coord + 1) % 3] * vectUnitJI[(coord + 1) % 3]) / vectUnitJI[coord];
240
229
  vectUnitJIperp[(coord + 1) % 3] = vectUnitJI[(coord + 1) % 3];
241
230
  vectUnitJIperp[(coord + 2) % 3] = vectUnitJI[(coord + 2) % 3];
242
231
  normalize(vectUnitJIperp);
243
232
  break;
244
233
  }
245
-
246
- offset *= Math.pow(-1, k % 2);
234
+ offset *= (-1) ** (k % 2);
247
235
  /*
248
236
  If atoms have a color associated, and if the atoms involved in the bond
249
237
  are different species, then each bond will be represented by
250
238
  two sticks, so that they can be colored with the same color as the atoms
251
239
  involved in the bond.
252
240
  */
253
-
254
- var bondPos = void 0;
255
-
256
- if (atomicNumber && atomicNumber[_i2] !== atomicNumber[_j] && colorArray.length > 0) {
257
- var bondLength = Math.sqrt(_diffsq) / 2.0;
258
- bondPos = [pointsArray[_jPtsIdx] - bondLength * vectUnitJI[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[_jPtsIdx + 1] - bondLength * vectUnitJI[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[_jPtsIdx + 2] - bondLength * vectUnitJI[2] / 2.0 + offset * vectUnitJIperp[2]];
259
- addBond(bondPos, vectUnitJI, bondLength, colorArray.slice(_jPtsIdx, _jPtsIdx + 3));
260
- bondPos = [pointsArray[_iPtsIdx] + bondLength * vectUnitJI[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[_iPtsIdx + 1] + bondLength * vectUnitJI[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[_iPtsIdx + 2] + bondLength * vectUnitJI[2] / 2.0 + offset * vectUnitJIperp[2]];
261
- addBond(bondPos, vectUnitJI, bondLength, colorArray.slice(_iPtsIdx, _iPtsIdx + 3));
241
+ let bondPos;
242
+ if (atomicNumber && atomicNumber[i] !== atomicNumber[j] && colorArray.length > 0) {
243
+ const bondLength = Math.sqrt(diffsq) / 2.0;
244
+ bondPos = [pointsArray[jPtsIdx] - bondLength * vectUnitJI[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[jPtsIdx + 1] - bondLength * vectUnitJI[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[jPtsIdx + 2] - bondLength * vectUnitJI[2] / 2.0 + offset * vectUnitJIperp[2]];
245
+ addBond(bondPos, vectUnitJI, bondLength, colorArray.slice(jPtsIdx, jPtsIdx + 3));
246
+ bondPos = [pointsArray[iPtsIdx] + bondLength * vectUnitJI[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[iPtsIdx + 1] + bondLength * vectUnitJI[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[iPtsIdx + 2] + bondLength * vectUnitJI[2] / 2.0 + offset * vectUnitJIperp[2]];
247
+ addBond(bondPos, vectUnitJI, bondLength, colorArray.slice(iPtsIdx, iPtsIdx + 3));
262
248
  } else {
263
- var _bondLength = Math.sqrt(_diffsq);
264
-
265
- bondPos = [pointsArray[_jPtsIdx] - _diff[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[_jPtsIdx + 1] - _diff[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[_jPtsIdx + 2] - _diff[2] / 2.0 + offset * vectUnitJIperp[2]];
266
-
249
+ const bondLength = Math.sqrt(diffsq);
250
+ bondPos = [pointsArray[jPtsIdx] - diff[0] / 2.0 + offset * vectUnitJIperp[0], pointsArray[jPtsIdx + 1] - diff[1] / 2.0 + offset * vectUnitJIperp[1], pointsArray[jPtsIdx + 2] - diff[2] / 2.0 + offset * vectUnitJIperp[2]];
267
251
  if (colorArray.length > 0) {
268
- addBond(bondPos, vectUnitJI, _bondLength, colorArray.slice(_iPtsIdx, _iPtsIdx + 3));
252
+ addBond(bondPos, vectUnitJI, bondLength, colorArray.slice(iPtsIdx, iPtsIdx + 3));
269
253
  } else {
270
- addBond(bondPos, vectUnitJI, _bondLength);
254
+ addBond(bondPos, vectUnitJI, bondLength);
271
255
  }
272
256
  }
273
257
  }
274
258
  }
275
-
276
259
  SphereData.getPoints().setData(pointsData, 3);
277
-
278
260
  if (radiusArray) {
279
- var scales = vtkDataArray.newInstance({
261
+ const scales = vtkDataArray.newInstance({
280
262
  numberOfComponents: 1,
281
263
  values: scaleData,
282
264
  name: publicAPI.getSphereScaleArrayName()
283
265
  });
284
266
  SphereData.getPointData().addArray(scales);
285
267
  }
286
-
287
268
  if (colorArray.length > 0) {
288
- var colors = vtkDataArray.newInstance({
269
+ const colors = vtkDataArray.newInstance({
289
270
  numberOfComponents: 3,
290
271
  values: Uint8Array.from(colorData),
291
272
  name: 'colors'
292
273
  });
293
274
  SphereData.getPointData().setScalars(colors);
294
275
  }
295
-
296
276
  StickData.getPoints().setData(bondPositionData, 3);
297
- var stickScales = vtkDataArray.newInstance({
277
+ const stickScales = vtkDataArray.newInstance({
298
278
  numberOfComponents: 2,
299
279
  values: bondScaleData,
300
280
  name: 'stickScales'
301
281
  });
302
282
  StickData.getPointData().addArray(stickScales);
303
- var orientation = vtkDataArray.newInstance({
283
+ const orientation = vtkDataArray.newInstance({
304
284
  numberOfComponents: 3,
305
285
  values: bondOrientationData,
306
286
  name: 'orientation'
307
287
  });
308
288
  StickData.getPointData().addArray(orientation);
309
-
310
289
  if (colorArray.length > 0) {
311
- var bondColors = vtkDataArray.newInstance({
290
+ const bondColors = vtkDataArray.newInstance({
312
291
  numberOfComponents: 3,
313
292
  values: Uint8Array.from(bondColorData),
314
293
  name: 'colors'
315
294
  });
316
295
  StickData.getPointData().setScalars(bondColors);
317
- } // Update output
318
-
296
+ }
319
297
 
298
+ // Update output
320
299
  outData[0] = SphereData;
321
300
  outData[1] = StickData;
322
301
  return 1;
323
302
  };
324
- } // ----------------------------------------------------------------------------
303
+ }
304
+
305
+ // ----------------------------------------------------------------------------
325
306
  // Object factory
326
307
  // ----------------------------------------------------------------------------
327
308
 
328
-
329
- var DEFAULT_VALUES = {
309
+ const DEFAULT_VALUES = {
330
310
  sphereScaleArrayName: 'radius',
331
311
  tolerance: 0.45,
332
312
  atomicRadiusScaleFactor: 0.3,
@@ -334,23 +314,30 @@ var DEFAULT_VALUES = {
334
314
  deltaBondFactor: 0.6,
335
315
  radiusType: 'radiusVDW',
336
316
  hideElements: ''
337
- }; // ----------------------------------------------------------------------------
317
+ };
318
+
319
+ // ----------------------------------------------------------------------------
338
320
 
339
321
  function extend(publicAPI, model) {
340
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
341
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
322
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
323
+ Object.assign(model, DEFAULT_VALUES, initialValues);
342
324
 
325
+ // Build VTK API
343
326
  macro.obj(publicAPI, model);
344
327
  macro.setGet(publicAPI, model, ['atomicRadiusScaleFactor', 'bondRadius', 'deltaBondFactor', 'hideElements', 'radiusType', 'sphereScaleArrayName', 'tolerance']);
345
328
  macro.algo(publicAPI, model, 1, 2);
346
329
  vtkMoleculeToRepresentation(publicAPI, model);
347
- } // ----------------------------------------------------------------------------
330
+ }
348
331
 
349
- var newInstance = macro.newInstance(extend, 'vtkMoleculeToRepresentation'); // ----------------------------------------------------------------------------
332
+ // ----------------------------------------------------------------------------
333
+
334
+ const newInstance = macro.newInstance(extend, 'vtkMoleculeToRepresentation');
335
+
336
+ // ----------------------------------------------------------------------------
350
337
 
351
338
  var vtkMoleculeToRepresentation$1 = {
352
- newInstance: newInstance,
353
- extend: extend
339
+ newInstance,
340
+ extend
354
341
  };
355
342
 
356
343
  export { vtkMoleculeToRepresentation$1 as default, extend, newInstance };
@@ -1,82 +1,84 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
- import macro from '../../../macros.js';
1
+ import { m as macro } from '../../../macros2.js';
4
2
 
5
- 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; }
6
-
7
- 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; }
3
+ // ----------------------------------------------------------------------------
8
4
  // vtkOBBNode methods
9
5
  // ----------------------------------------------------------------------------
10
6
 
11
7
  function vtkOBBNode(publicAPI, model) {
12
8
  // Set our classname
13
9
  model.classHierarchy.push('vtkOBBNode');
10
+
14
11
  /**
15
12
  * Copy a vtkOBBNode into an other one
16
13
  * @param {vtkOBBNode} nodeSource
17
14
  * @param {vtkOBBNode} nodeTarget
18
15
  */
19
-
20
- publicAPI.deepCopy = function (nodeSource) {
16
+ publicAPI.deepCopy = nodeSource => {
21
17
  publicAPI.setCorner(nodeSource.getCorner());
22
- var axes = nodeSource.getAxes();
23
- publicAPI.setAxes([_toConsumableArray(axes[0]), _toConsumableArray(axes[1]), _toConsumableArray(axes[2])]);
24
- publicAPI.setCells(_toConsumableArray(nodeSource.getCells()));
25
-
18
+ const axes = nodeSource.getAxes();
19
+ publicAPI.setAxes([[...axes[0]], [...axes[1]], [...axes[2]]]);
20
+ publicAPI.setCells([...nodeSource.getCells()]);
26
21
  if (nodeSource.getKids()) {
27
- var kids0 = vtkOBBNode.newInstance();
22
+ const kids0 = vtkOBBNode.newInstance();
28
23
  kids0.setParent(publicAPI);
29
- var kids1 = vtkOBBNode.newInstance();
24
+ const kids1 = vtkOBBNode.newInstance();
30
25
  kids1.setParent(publicAPI);
31
26
  kids0.deepCopy(nodeSource.getKids()[0]);
32
27
  kids1.deepCopy(nodeSource.getKids()[1], kids1);
33
28
  publicAPI.setKids(kids0, kids1);
34
29
  }
35
30
  };
31
+ publicAPI.getAxis = axis => model.axes[axis];
32
+ }
36
33
 
37
- publicAPI.getAxis = function (axis) {
38
- return model.axes[axis];
39
- };
40
- } // ----------------------------------------------------------------------------
41
-
34
+ // ----------------------------------------------------------------------------
42
35
 
43
36
  function defaultValues(initialValues) {
44
- return _objectSpread({
37
+ return {
45
38
  corner: [0, 0, 0],
46
39
  // center point of this node
47
40
  axes: [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
48
41
  // the axes defining the OBB - ordered from long->short
49
- cells: []
50
- }, initialValues);
51
- } // ----------------------------------------------------------------------------
42
+ cells: [],
43
+ // list of cells in node
44
+ // parent: null, null if root
45
+ // kids: null, two children of this node; null if leaf
46
+ ...initialValues
47
+ };
48
+ }
52
49
 
50
+ // ----------------------------------------------------------------------------
53
51
 
54
52
  function extend(publicAPI, model) {
55
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
53
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
56
54
  Object.assign(model, defaultValues(initialValues));
57
55
  model.corner = [0, 0, 0];
58
56
  model.axes = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
59
57
  model.parent = null; // parent node; null if root
60
-
61
58
  model.kids = null; // two children of this node; nullptr if leaf
62
-
63
59
  model.cells = []; // list of cells in node
60
+
64
61
  // Build VTK API
62
+ macro.setGet(publicAPI, model, ['parent', 'cells', 'kids']);
63
+ // macro.setGetArray(publicAPI, model, ['kids'], 2);
64
+ macro.setGetArray(publicAPI, model, ['corner', 'axes'], 3);
65
65
 
66
- macro.setGet(publicAPI, model, ['parent', 'cells', 'kids']); // macro.setGetArray(publicAPI, model, ['kids'], 2);
66
+ // Make this a VTK object
67
+ macro.obj(publicAPI, model);
67
68
 
68
- macro.setGetArray(publicAPI, model, ['corner', 'axes'], 3); // Make this a VTK object
69
+ // Object specific methods
70
+ vtkOBBNode(publicAPI, model);
71
+ }
69
72
 
70
- macro.obj(publicAPI, model); // Object specific methods
73
+ // ----------------------------------------------------------------------------
71
74
 
72
- vtkOBBNode(publicAPI, model);
73
- } // ----------------------------------------------------------------------------
75
+ const newInstance = macro.newInstance(extend, 'vtkOBBNode');
74
76
 
75
- var newInstance = macro.newInstance(extend, 'vtkOBBNode'); // ----------------------------------------------------------------------------
77
+ // ----------------------------------------------------------------------------
76
78
 
77
79
  var vtkOBBNode$1 = {
78
- newInstance: newInstance,
79
- extend: extend
80
+ newInstance,
81
+ extend
80
82
  };
81
83
 
82
84
  export { vtkOBBNode$1 as default, extend, newInstance };