@kitware/vtk.js 28.10.1 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,46 +1,47 @@
1
1
  import { vec3, mat4, quat } from 'gl-matrix';
2
- import macro from '../../macros.js';
2
+ import { m as macro } from '../../macros2.js';
3
3
  import vtkBufferObject from './BufferObject.js';
4
4
  import { ObjectType } from './BufferObject/Constants.js';
5
5
  import { Representation } from '../Core/Property/Constants.js';
6
6
 
7
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
7
+ const {
8
+ vtkErrorMacro
9
+ } = macro;
10
+
11
+ // ----------------------------------------------------------------------------
8
12
  // Static functions
9
13
  // ----------------------------------------------------------------------------
10
14
 
11
15
  function computeInverseShiftAndScaleMatrix(coordShift, coordScale) {
12
- var inverseScale = new Float64Array(3);
16
+ const inverseScale = new Float64Array(3);
13
17
  vec3.inverse(inverseScale, coordScale);
14
- var matrix = new Float64Array(16);
18
+ const matrix = new Float64Array(16);
15
19
  mat4.fromRotationTranslationScale(matrix, quat.create(), coordShift, inverseScale);
16
20
  return matrix;
17
21
  }
18
-
19
22
  function shouldApplyCoordShiftAndScale(coordShift, coordScale) {
20
23
  if (coordShift === null || coordScale === null) {
21
24
  return false;
22
25
  }
23
-
24
26
  return !(vec3.exactEquals(coordShift, [0, 0, 0]) && vec3.exactEquals(coordScale, [1, 1, 1]));
25
- } // ----------------------------------------------------------------------------
27
+ }
28
+
29
+ // ----------------------------------------------------------------------------
26
30
  // vtkOpenGLCellArrayBufferObject methods
27
31
  // ----------------------------------------------------------------------------
28
32
 
29
-
30
33
  function vtkOpenGLCellArrayBufferObject(publicAPI, model) {
31
34
  // Set our className
32
35
  model.classHierarchy.push('vtkOpenGLCellArrayBufferObject');
33
36
  publicAPI.setType(ObjectType.ARRAY_BUFFER);
34
-
35
37
  publicAPI.createVBO = function (cellArray, inRep, outRep, options) {
36
- var selectionMaps = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
37
-
38
+ let selectionMaps = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
38
39
  if (!cellArray.getData() || !cellArray.getData().length) {
39
40
  model.elementCount = 0;
40
41
  return 0;
41
- } // Figure out how big each block will be, currently 6 or 7 floats.
42
-
42
+ }
43
43
 
44
+ // Figure out how big each block will be, currently 6 or 7 floats.
44
45
  model.blockSize = 3;
45
46
  model.vertexOffset = 0;
46
47
  model.normalOffset = 0;
@@ -49,21 +50,22 @@ function vtkOpenGLCellArrayBufferObject(publicAPI, model) {
49
50
  model.colorComponents = 0;
50
51
  model.colorOffset = 0;
51
52
  model.customData = [];
52
- var pointData = options.points.getData();
53
- var normalData = null;
54
- var tcoordData = null;
55
- var colorData = null;
56
- var colorComponents = options.colors ? options.colors.getNumberOfComponents() : 0;
57
- var textureComponents = options.tcoords ? options.tcoords.getNumberOfComponents() : 0; // the values of 4 below are because floats are 4 bytes
53
+ const pointData = options.points.getData();
54
+ let normalData = null;
55
+ let tcoordData = null;
56
+ let colorData = null;
57
+ const colorComponents = options.colors ? options.colors.getNumberOfComponents() : 0;
58
+ const textureComponents = options.tcoords ? options.tcoords.getNumberOfComponents() : 0;
59
+
60
+ // the values of 4 below are because floats are 4 bytes
58
61
 
59
62
  if (options.normals) {
60
63
  model.normalOffset = 4 * model.blockSize;
61
64
  model.blockSize += 3;
62
65
  normalData = options.normals.getData();
63
66
  }
64
-
65
67
  if (options.customAttributes) {
66
- options.customAttributes.forEach(function (a) {
68
+ options.customAttributes.forEach(a => {
67
69
  if (a) {
68
70
  model.customData.push({
69
71
  data: a.getData(),
@@ -75,226 +77,203 @@ function vtkOpenGLCellArrayBufferObject(publicAPI, model) {
75
77
  }
76
78
  });
77
79
  }
78
-
79
80
  if (options.tcoords) {
80
81
  model.tCoordOffset = 4 * model.blockSize;
81
82
  model.tCoordComponents = textureComponents;
82
83
  model.blockSize += textureComponents;
83
84
  tcoordData = options.tcoords.getData();
84
85
  }
85
-
86
86
  if (options.colors) {
87
87
  model.colorComponents = options.colors.getNumberOfComponents();
88
88
  model.colorOffset = 0;
89
89
  colorData = options.colors.getData();
90
-
91
90
  if (!model.colorBO) {
92
91
  model.colorBO = vtkBufferObject.newInstance();
93
92
  }
94
-
95
93
  model.colorBO.setOpenGLRenderWindow(model._openGLRenderWindow);
96
94
  } else {
97
95
  model.colorBO = null;
98
96
  }
99
-
100
97
  model.stride = 4 * model.blockSize;
101
- var pointIdx = 0;
102
- var normalIdx = 0;
103
- var tcoordIdx = 0;
104
- var colorIdx = 0;
105
- var custIdx = 0;
106
- var cellCount = 0;
107
- var addAPoint;
108
- var cellBuilders = {
98
+ let pointIdx = 0;
99
+ let normalIdx = 0;
100
+ let tcoordIdx = 0;
101
+ let colorIdx = 0;
102
+ let custIdx = 0;
103
+ let cellCount = 0;
104
+ let addAPoint;
105
+ const cellBuilders = {
109
106
  // easy, every input point becomes an output point
110
- anythingToPoints: function anythingToPoints(numPoints, cellPts, offset) {
111
- for (var i = 0; i < numPoints; ++i) {
107
+ anythingToPoints(numPoints, cellPts, offset) {
108
+ for (let i = 0; i < numPoints; ++i) {
112
109
  addAPoint(cellPts[offset + i]);
113
110
  }
114
111
  },
115
- linesToWireframe: function linesToWireframe(numPoints, cellPts, offset) {
112
+ linesToWireframe(numPoints, cellPts, offset) {
116
113
  // for lines we add a bunch of segments
117
- for (var i = 0; i < numPoints - 1; ++i) {
114
+ for (let i = 0; i < numPoints - 1; ++i) {
118
115
  addAPoint(cellPts[offset + i]);
119
116
  addAPoint(cellPts[offset + i + 1]);
120
117
  }
121
118
  },
122
- polysToWireframe: function polysToWireframe(numPoints, cellPts, offset) {
119
+ polysToWireframe(numPoints, cellPts, offset) {
123
120
  // for polys we add a bunch of segments and close it
124
121
  if (numPoints > 2) {
125
- for (var i = 0; i < numPoints; ++i) {
122
+ for (let i = 0; i < numPoints; ++i) {
126
123
  addAPoint(cellPts[offset + i]);
127
124
  addAPoint(cellPts[offset + (i + 1) % numPoints]);
128
125
  }
129
126
  }
130
127
  },
131
- stripsToWireframe: function stripsToWireframe(numPoints, cellPts, offset) {
128
+ stripsToWireframe(numPoints, cellPts, offset) {
132
129
  if (numPoints > 2) {
133
130
  // for strips we add a bunch of segments and close it
134
- for (var i = 0; i < numPoints - 1; ++i) {
131
+ for (let i = 0; i < numPoints - 1; ++i) {
135
132
  addAPoint(cellPts[offset + i]);
136
133
  addAPoint(cellPts[offset + i + 1]);
137
134
  }
138
-
139
- for (var _i = 0; _i < numPoints - 2; _i++) {
140
- addAPoint(cellPts[offset + _i]);
141
- addAPoint(cellPts[offset + _i + 2]);
135
+ for (let i = 0; i < numPoints - 2; i++) {
136
+ addAPoint(cellPts[offset + i]);
137
+ addAPoint(cellPts[offset + i + 2]);
142
138
  }
143
139
  }
144
140
  },
145
- polysToSurface: function polysToSurface(npts, cellPts, offset) {
146
- for (var i = 0; i < npts - 2; i++) {
141
+ polysToSurface(npts, cellPts, offset) {
142
+ for (let i = 0; i < npts - 2; i++) {
147
143
  addAPoint(cellPts[offset + 0]);
148
144
  addAPoint(cellPts[offset + i + 1]);
149
145
  addAPoint(cellPts[offset + i + 2]);
150
146
  }
151
147
  },
152
- stripsToSurface: function stripsToSurface(npts, cellPts, offset) {
153
- for (var i = 0; i < npts - 2; i++) {
148
+ stripsToSurface(npts, cellPts, offset) {
149
+ for (let i = 0; i < npts - 2; i++) {
154
150
  addAPoint(cellPts[offset + i]);
155
151
  addAPoint(cellPts[offset + i + 1 + i % 2]);
156
152
  addAPoint(cellPts[offset + i + 1 + (i + 1) % 2]);
157
153
  }
158
154
  }
159
155
  };
160
- var cellCounters = {
156
+ const cellCounters = {
161
157
  // easy, every input point becomes an output point
162
- anythingToPoints: function anythingToPoints(numPoints, cellPts) {
158
+ anythingToPoints(numPoints, cellPts) {
163
159
  return numPoints;
164
160
  },
165
- linesToWireframe: function linesToWireframe(numPoints, cellPts) {
161
+ linesToWireframe(numPoints, cellPts) {
166
162
  if (numPoints > 1) {
167
163
  return (numPoints - 1) * 2;
168
164
  }
169
-
170
165
  return 0;
171
166
  },
172
- polysToWireframe: function polysToWireframe(numPoints, cellPts) {
167
+ polysToWireframe(numPoints, cellPts) {
173
168
  if (numPoints > 2) {
174
169
  return numPoints * 2;
175
170
  }
176
-
177
171
  return 0;
178
172
  },
179
- stripsToWireframe: function stripsToWireframe(numPoints, cellPts) {
173
+ stripsToWireframe(numPoints, cellPts) {
180
174
  if (numPoints > 2) {
181
175
  return numPoints * 4 - 6;
182
176
  }
183
-
184
177
  return 0;
185
178
  },
186
- polysToSurface: function polysToSurface(npts, cellPts) {
179
+ polysToSurface(npts, cellPts) {
187
180
  if (npts > 2) {
188
181
  return (npts - 2) * 3;
189
182
  }
190
-
191
183
  return 0;
192
184
  },
193
- stripsToSurface: function stripsToSurface(npts, cellPts, offset) {
185
+ stripsToSurface(npts, cellPts, offset) {
194
186
  if (npts > 2) {
195
187
  return (npts - 2) * 3;
196
188
  }
197
-
198
189
  return 0;
199
190
  }
200
191
  };
201
- var func = null;
202
- var countFunc = null;
203
-
192
+ let func = null;
193
+ let countFunc = null;
204
194
  if (outRep === Representation.POINTS || inRep === 'verts') {
205
195
  func = cellBuilders.anythingToPoints;
206
196
  countFunc = cellCounters.anythingToPoints;
207
197
  } else if (outRep === Representation.WIREFRAME || inRep === 'lines') {
208
- func = cellBuilders["".concat(inRep, "ToWireframe")];
209
- countFunc = cellCounters["".concat(inRep, "ToWireframe")];
198
+ func = cellBuilders[`${inRep}ToWireframe`];
199
+ countFunc = cellCounters[`${inRep}ToWireframe`];
210
200
  } else {
211
- func = cellBuilders["".concat(inRep, "ToSurface")];
212
- countFunc = cellCounters["".concat(inRep, "ToSurface")];
201
+ func = cellBuilders[`${inRep}ToSurface`];
202
+ countFunc = cellCounters[`${inRep}ToSurface`];
213
203
  }
214
-
215
- var array = cellArray.getData();
216
- var size = array.length;
217
- var caboCount = 0;
218
-
219
- for (var index = 0; index < size;) {
204
+ const array = cellArray.getData();
205
+ const size = array.length;
206
+ let caboCount = 0;
207
+ for (let index = 0; index < size;) {
220
208
  caboCount += countFunc(array[index], array);
221
209
  index += array[index] + 1;
222
210
  }
223
-
224
- var packedUCVBO = null;
225
- var packedVBO = new Float32Array(caboCount * model.blockSize);
226
-
211
+ let packedUCVBO = null;
212
+ const packedVBO = new Float32Array(caboCount * model.blockSize);
227
213
  if (colorData) {
228
214
  packedUCVBO = new Uint8Array(caboCount * 4);
229
215
  }
216
+ let vboidx = 0;
217
+ let ucidx = 0;
230
218
 
231
- var vboidx = 0;
232
- var ucidx = 0; // Find out if shift scale should be used
219
+ // Find out if shift scale should be used
233
220
  // Compute squares of diagonal size and distance from the origin
234
-
235
- var diagSq = 0.0;
236
- var distSq = 0.0;
237
-
238
- for (var i = 0; i < 3; ++i) {
239
- var range = options.points.getRange(i);
240
- var delta = range[1] - range[0];
221
+ let diagSq = 0.0;
222
+ let distSq = 0.0;
223
+ for (let i = 0; i < 3; ++i) {
224
+ const range = options.points.getRange(i);
225
+ const delta = range[1] - range[0];
241
226
  diagSq += delta * delta;
242
- var distShift = 0.5 * (range[1] + range[0]);
227
+ const distShift = 0.5 * (range[1] + range[0]);
243
228
  distSq += distShift * distShift;
244
229
  }
245
-
246
- var useShiftAndScale = diagSq > 0 && (Math.abs(distSq) / diagSq > 1.0e6 || // If data is far from the origin relative to its size
247
- Math.abs(Math.log10(diagSq)) > 3.0 || // If the size is huge when not far from the origin
230
+ const useShiftAndScale = diagSq > 0 && (Math.abs(distSq) / diagSq > 1.0e6 ||
231
+ // If data is far from the origin relative to its size
232
+ Math.abs(Math.log10(diagSq)) > 3.0 ||
233
+ // If the size is huge when not far from the origin
248
234
  diagSq === 0 && distSq > 1.0e6); // If data is a point, but far from the origin
249
235
 
250
236
  if (useShiftAndScale) {
251
237
  // Compute shift and scale vectors
252
- var coordShift = new Float64Array(3);
253
- var coordScale = new Float64Array(3);
254
-
255
- for (var _i2 = 0; _i2 < 3; ++_i2) {
256
- var _range = options.points.getRange(_i2);
257
-
258
- var _delta = _range[1] - _range[0];
259
-
260
- coordShift[_i2] = 0.5 * (_range[1] + _range[0]);
261
- coordScale[_i2] = _delta > 0 ? 1.0 / _delta : 1.0;
238
+ const coordShift = new Float64Array(3);
239
+ const coordScale = new Float64Array(3);
240
+ for (let i = 0; i < 3; ++i) {
241
+ const range = options.points.getRange(i);
242
+ const delta = range[1] - range[0];
243
+ coordShift[i] = 0.5 * (range[1] + range[0]);
244
+ coordScale[i] = delta > 0 ? 1.0 / delta : 1.0;
262
245
  }
263
-
264
246
  publicAPI.setCoordShiftAndScale(coordShift, coordScale);
265
247
  } else if (model.coordShiftAndScaleEnabled === true) {
266
248
  // Make sure to reset
267
249
  publicAPI.setCoordShiftAndScale(null, null);
268
- } // Initialize the structures used to keep track of point ids and cell ids for selectors
269
-
250
+ }
270
251
 
252
+ // Initialize the structures used to keep track of point ids and cell ids for selectors
271
253
  if (selectionMaps) {
272
254
  if (!selectionMaps.points && !selectionMaps.cells) {
273
255
  selectionMaps.points = new Int32Array(caboCount);
274
256
  selectionMaps.cells = new Int32Array(caboCount);
275
257
  } else {
276
- var newPoints = new Int32Array(caboCount + selectionMaps.points.length);
258
+ const newPoints = new Int32Array(caboCount + selectionMaps.points.length);
277
259
  newPoints.set(selectionMaps.points);
278
260
  selectionMaps.points = newPoints;
279
- var newCells = new Int32Array(caboCount + selectionMaps.cells.length);
261
+ const newCells = new Int32Array(caboCount + selectionMaps.cells.length);
280
262
  newCells.set(selectionMaps.cells);
281
263
  selectionMaps.cells = newCells;
282
264
  }
283
265
  }
284
-
285
- var pointCount = options.vertexOffset;
286
-
266
+ let pointCount = options.vertexOffset;
287
267
  addAPoint = function addAPointFunc(i) {
288
268
  // Keep track of original point and cell ids, for selection
289
269
  if (selectionMaps) {
290
270
  selectionMaps.points[pointCount] = i;
291
271
  selectionMaps.cells[pointCount] = cellCount + options.cellOffset;
292
272
  }
273
+ ++pointCount;
293
274
 
294
- ++pointCount; // Vertices
295
-
275
+ // Vertices
296
276
  pointIdx = i * 3;
297
-
298
277
  if (!model.coordShiftAndScaleEnabled) {
299
278
  packedVBO[vboidx++] = pointData[pointIdx++];
300
279
  packedVBO[vboidx++] = pointData[pointIdx++];
@@ -305,99 +284,82 @@ function vtkOpenGLCellArrayBufferObject(publicAPI, model) {
305
284
  packedVBO[vboidx++] = (pointData[pointIdx++] - model.coordShift[1]) * model.coordScale[1];
306
285
  packedVBO[vboidx++] = (pointData[pointIdx++] - model.coordShift[2]) * model.coordScale[2];
307
286
  }
308
-
309
287
  if (normalData !== null) {
310
288
  if (options.haveCellNormals) {
311
289
  normalIdx = (cellCount + options.cellOffset) * 3;
312
290
  } else {
313
291
  normalIdx = i * 3;
314
292
  }
315
-
316
293
  packedVBO[vboidx++] = normalData[normalIdx++];
317
294
  packedVBO[vboidx++] = normalData[normalIdx++];
318
295
  packedVBO[vboidx++] = normalData[normalIdx++];
319
296
  }
320
-
321
- model.customData.forEach(function (attr) {
297
+ model.customData.forEach(attr => {
322
298
  custIdx = i * attr.components;
323
-
324
- for (var j = 0; j < attr.components; ++j) {
299
+ for (let j = 0; j < attr.components; ++j) {
325
300
  packedVBO[vboidx++] = attr.data[custIdx++];
326
301
  }
327
302
  });
328
-
329
303
  if (tcoordData !== null) {
330
304
  tcoordIdx = i * textureComponents;
331
-
332
- for (var j = 0; j < textureComponents; ++j) {
305
+ for (let j = 0; j < textureComponents; ++j) {
333
306
  packedVBO[vboidx++] = tcoordData[tcoordIdx++];
334
307
  }
335
308
  }
336
-
337
309
  if (colorData !== null) {
338
310
  if (options.haveCellScalars) {
339
311
  colorIdx = (cellCount + options.cellOffset) * colorComponents;
340
312
  } else {
341
313
  colorIdx = i * colorComponents;
342
314
  }
343
-
344
315
  packedUCVBO[ucidx++] = colorData[colorIdx++];
345
316
  packedUCVBO[ucidx++] = colorData[colorIdx++];
346
317
  packedUCVBO[ucidx++] = colorData[colorIdx++];
347
318
  packedUCVBO[ucidx++] = colorComponents === 4 ? colorData[colorIdx++] : 255;
348
319
  }
349
320
  };
350
-
351
- for (var _index = 0; _index < size;) {
352
- func(array[_index], array, _index + 1);
353
- _index += array[_index] + 1;
321
+ for (let index = 0; index < size;) {
322
+ func(array[index], array, index + 1);
323
+ index += array[index] + 1;
354
324
  cellCount++;
355
325
  }
356
-
357
326
  model.elementCount = caboCount;
358
327
  publicAPI.upload(packedVBO, ObjectType.ARRAY_BUFFER);
359
-
360
328
  if (model.colorBO) {
361
329
  model.colorBOStride = 4;
362
330
  model.colorBO.upload(packedUCVBO, ObjectType.ARRAY_BUFFER);
363
331
  }
364
-
365
332
  return cellCount;
366
333
  };
367
-
368
- publicAPI.setCoordShiftAndScale = function (coordShift, coordScale) {
334
+ publicAPI.setCoordShiftAndScale = (coordShift, coordScale) => {
369
335
  if (coordShift !== null && (coordShift.constructor !== Float64Array || coordShift.length !== 3)) {
370
336
  vtkErrorMacro('Wrong type for coordShift, expected vec3 or null');
371
337
  return;
372
338
  }
373
-
374
339
  if (coordScale !== null && (coordScale.constructor !== Float64Array || coordScale.length !== 3)) {
375
340
  vtkErrorMacro('Wrong type for coordScale, expected vec3 or null');
376
341
  return;
377
342
  }
378
-
379
343
  if (model.coordShift === null || coordShift === null || !vec3.equals(coordShift, model.coordShift)) {
380
344
  model.coordShift = coordShift;
381
345
  }
382
-
383
346
  if (model.coordScale === null || coordScale === null || !vec3.equals(coordScale, model.coordScale)) {
384
347
  model.coordScale = coordScale;
385
348
  }
386
-
387
349
  model.coordShiftAndScaleEnabled = shouldApplyCoordShiftAndScale(model.coordShift, model.coordScale);
388
-
389
350
  if (model.coordShiftAndScaleEnabled) {
390
351
  model.inverseShiftAndScaleMatrix = computeInverseShiftAndScaleMatrix(model.coordShift, model.coordScale);
391
352
  } else {
392
353
  model.inverseShiftAndScaleMatrix = null;
393
354
  }
394
355
  };
395
- } // ----------------------------------------------------------------------------
356
+ }
357
+
358
+ // ----------------------------------------------------------------------------
396
359
  // Object factory
397
360
  // ----------------------------------------------------------------------------
398
361
 
399
-
400
- var DEFAULT_VALUES = {
362
+ const DEFAULT_VALUES = {
401
363
  elementCount: 0,
402
364
  stride: 0,
403
365
  colorBOStride: 0,
@@ -413,24 +375,32 @@ var DEFAULT_VALUES = {
413
375
  coordScale: null,
414
376
  coordShiftAndScaleEnabled: false,
415
377
  inverseShiftAndScaleMatrix: null
416
- }; // ----------------------------------------------------------------------------
378
+ };
379
+
380
+ // ----------------------------------------------------------------------------
417
381
 
418
382
  function extend(publicAPI, model) {
419
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
420
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
383
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
384
+ Object.assign(model, DEFAULT_VALUES, initialValues);
421
385
 
386
+ // Inheritance
422
387
  vtkBufferObject.extend(publicAPI, model, initialValues);
423
388
  macro.setGet(publicAPI, model, ['colorBO', 'elementCount', 'stride', 'colorBOStride', 'vertexOffset', 'normalOffset', 'tCoordOffset', 'tCoordComponents', 'colorOffset', 'colorComponents', 'customData']);
424
- macro.get(publicAPI, model, ['coordShift', 'coordScale', 'coordShiftAndScaleEnabled', 'inverseShiftAndScaleMatrix']); // Object specific methods
389
+ macro.get(publicAPI, model, ['coordShift', 'coordScale', 'coordShiftAndScaleEnabled', 'inverseShiftAndScaleMatrix']);
425
390
 
391
+ // Object specific methods
426
392
  vtkOpenGLCellArrayBufferObject(publicAPI, model);
427
- } // ----------------------------------------------------------------------------
393
+ }
428
394
 
429
- var newInstance = macro.newInstance(extend); // ----------------------------------------------------------------------------
395
+ // ----------------------------------------------------------------------------
396
+
397
+ const newInstance = macro.newInstance(extend);
398
+
399
+ // ----------------------------------------------------------------------------
430
400
 
431
401
  var vtkCellArrayBufferObject = {
432
- newInstance: newInstance,
433
- extend: extend
402
+ newInstance,
403
+ extend
434
404
  };
435
405
 
436
406
  export { vtkCellArrayBufferObject as default, extend, newInstance };