@kitware/vtk.js 28.10.2 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. package/vtk.js +18 -31
@@ -1,5 +1,5 @@
1
1
  import { mat3, mat4 } from 'gl-matrix';
2
- import { newInstance as newInstance$1, obj, setGet, get, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
2
+ import { n as newInstance$1, o as obj, e as setGet, g as get, c as macro } from '../../macros2.js';
3
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
4
4
  import vtkHelper from './Helper.js';
5
5
  import vtkViewNode from '../SceneGraph/ViewNode.js';
@@ -7,86 +7,78 @@ import vtkOpenGLTexture from './Texture.js';
7
7
  import { Representation } from '../Core/Property/Constants.js';
8
8
  import { registerOverride } from './ViewNodeFactory.js';
9
9
 
10
- var vtkErrorMacro = vtkErrorMacro$1; // ----------------------------------------------------------------------------
10
+ const {
11
+ vtkErrorMacro
12
+ } = macro;
13
+
14
+ // ----------------------------------------------------------------------------
11
15
  // vtkOpenGLSkybox methods
12
16
  // ----------------------------------------------------------------------------
13
17
 
14
18
  function vtkOpenGLSkybox(publicAPI, model) {
15
19
  // Set our className
16
- model.classHierarchy.push('vtkOpenGLSkybox'); // Builds myself.
20
+ model.classHierarchy.push('vtkOpenGLSkybox');
17
21
 
18
- publicAPI.buildPass = function (prepass) {
22
+ // Builds myself.
23
+ publicAPI.buildPass = prepass => {
19
24
  if (prepass) {
20
25
  model._openGLRenderer = publicAPI.getFirstAncestorOfType('vtkOpenGLRenderer');
21
26
  model._openGLRenderWindow = model._openGLRenderer.getParent();
22
27
  model.context = model._openGLRenderWindow.getContext();
23
28
  model.tris.setOpenGLRenderWindow(model._openGLRenderWindow);
24
29
  model.openGLTexture.setOpenGLRenderWindow(model._openGLRenderWindow);
25
-
26
- var ren = model._openGLRenderer.getRenderable();
27
-
30
+ const ren = model._openGLRenderer.getRenderable();
28
31
  model.openGLCamera = model._openGLRenderer.getViewNodeFor(ren.getActiveCamera());
29
32
  }
30
33
  };
31
-
32
- publicAPI.queryPass = function (prepass, renderPass) {
34
+ publicAPI.queryPass = (prepass, renderPass) => {
33
35
  if (prepass) {
34
36
  if (!model.renderable || !model.renderable.getVisibility()) {
35
37
  return;
36
38
  }
37
-
38
39
  renderPass.incrementOpaqueActorCount();
39
40
  }
40
41
  };
41
-
42
- publicAPI.opaquePass = function (prepass, renderPass) {
42
+ publicAPI.opaquePass = (prepass, renderPass) => {
43
43
  if (prepass && !model._openGLRenderer.getSelector()) {
44
44
  publicAPI.updateBufferObjects();
45
45
  model.context.depthMask(true);
46
-
47
46
  model._openGLRenderWindow.getShaderCache().readyShaderProgram(model.tris.getProgram());
48
-
49
47
  model.openGLTexture.render(model._openGLRenderWindow);
50
- var texUnit = model.openGLTexture.getTextureUnit();
48
+ const texUnit = model.openGLTexture.getTextureUnit();
51
49
  model.tris.getProgram().setUniformi('sbtexture', texUnit);
52
-
53
- var ren = model._openGLRenderer.getRenderable();
54
-
55
- var keyMats = model.openGLCamera.getKeyMatrices(ren);
56
- var imat = new Float64Array(16);
50
+ const ren = model._openGLRenderer.getRenderable();
51
+ const keyMats = model.openGLCamera.getKeyMatrices(ren);
52
+ const imat = new Float64Array(16);
57
53
  mat4.invert(imat, keyMats.wcpc);
58
54
  model.tris.getProgram().setUniformMatrix('IMCPCMatrix', imat);
59
-
60
55
  if (model.lastFormat === 'box') {
61
- var camPos = ren.getActiveCamera().getPosition();
56
+ const camPos = ren.getActiveCamera().getPosition();
62
57
  model.tris.getProgram().setUniform3f('camPos', camPos[0], camPos[1], camPos[2]);
63
58
  }
59
+ model.tris.getVAO().bind();
64
60
 
65
- model.tris.getVAO().bind(); // draw polygons
66
-
61
+ // draw polygons
67
62
  model.context.drawArrays(model.context.TRIANGLES, 0, model.tris.getCABO().getElementCount());
68
63
  model.tris.getVAO().release();
69
64
  model.openGLTexture.deactivate();
70
65
  }
71
66
  };
72
-
73
- publicAPI.updateBufferObjects = function () {
67
+ publicAPI.updateBufferObjects = () => {
74
68
  // build the VBO if needed, only happens once
75
69
  if (!model.tris.getCABO().getElementCount()) {
76
- var ptsArray = new Float32Array(12);
77
-
78
- for (var i = 0; i < 4; i++) {
70
+ const ptsArray = new Float32Array(12);
71
+ for (let i = 0; i < 4; i++) {
79
72
  ptsArray[i * 3] = i % 2 * 2 - 1.0;
80
73
  ptsArray[i * 3 + 1] = i > 1 ? 1.0 : -1.0;
81
74
  ptsArray[i * 3 + 2] = 1.0;
82
75
  }
83
-
84
- var points = vtkDataArray.newInstance({
76
+ const points = vtkDataArray.newInstance({
85
77
  numberOfComponents: 3,
86
78
  values: ptsArray
87
79
  });
88
80
  points.setName('points');
89
- var cellArray = new Uint16Array(8);
81
+ const cellArray = new Uint16Array(8);
90
82
  cellArray[0] = 3;
91
83
  cellArray[1] = 0;
92
84
  cellArray[2] = 1;
@@ -95,20 +87,19 @@ function vtkOpenGLSkybox(publicAPI, model) {
95
87
  cellArray[5] = 0;
96
88
  cellArray[6] = 3;
97
89
  cellArray[7] = 2;
98
- var cells = vtkDataArray.newInstance({
90
+ const cells = vtkDataArray.newInstance({
99
91
  numberOfComponents: 1,
100
92
  values: cellArray
101
93
  });
102
94
  model.tris.getCABO().createVBO(cells, 'polys', Representation.SURFACE, {
103
- points: points,
95
+ points,
104
96
  cellOffset: 0
105
97
  });
106
- } // update the program?
107
-
98
+ }
108
99
 
100
+ // update the program?
109
101
  if (model.renderable.getFormat() !== model.lastFormat) {
110
102
  model.lastFormat = model.renderable.getFormat();
111
-
112
103
  if (model.lastFormat === 'box') {
113
104
  // we invert Y below because opengl is messed up!
114
105
  // Cube Maps have been specified to follow the RenderMan
@@ -121,47 +112,88 @@ function vtkOpenGLSkybox(publicAPI, model) {
121
112
  // But now we're stuck with it. From
122
113
  // https://stackoverflow.com/questions/11685608/convention-of-faces-in-opengl-cubemapping
123
114
  //
124
- model.tris.setProgram(model._openGLRenderWindow.getShaderCache().readyShaderProgramArray("//VTK::System::Dec\n attribute vec3 vertexMC;\n uniform mat4 IMCPCMatrix;\n varying vec3 TexCoords;\n void main () {\n gl_Position = vec4(vertexMC.xyz, 1.0);\n vec4 wpos = IMCPCMatrix * gl_Position;\n TexCoords = wpos.xyz/wpos.w;\n }", "//VTK::System::Dec\n //VTK::Output::Dec\n varying vec3 TexCoords;\n uniform samplerCube sbtexture;\n uniform vec3 camPos;\n void main () {\n // skybox looks from inside out\n // which means we have to adjust\n // our tcoords. Otherwise text would\n // be flipped\n vec3 tc = normalize(TexCoords - camPos);\n if (abs(tc.z) < max(abs(tc.x),abs(tc.y)))\n {\n tc = vec3(1.0, 1.0, -1.0) * tc;\n }\n else\n {\n tc = vec3(-1.0, 1.0, 1.0) * tc;\n }\n gl_FragData[0] = textureCube(sbtexture, tc);\n }", ''));
115
+ model.tris.setProgram(model._openGLRenderWindow.getShaderCache().readyShaderProgramArray(`//VTK::System::Dec
116
+ attribute vec3 vertexMC;
117
+ uniform mat4 IMCPCMatrix;
118
+ varying vec3 TexCoords;
119
+ void main () {
120
+ gl_Position = vec4(vertexMC.xyz, 1.0);
121
+ vec4 wpos = IMCPCMatrix * gl_Position;
122
+ TexCoords = wpos.xyz/wpos.w;
123
+ }`, `//VTK::System::Dec
124
+ //VTK::Output::Dec
125
+ varying vec3 TexCoords;
126
+ uniform samplerCube sbtexture;
127
+ uniform vec3 camPos;
128
+ void main () {
129
+ // skybox looks from inside out
130
+ // which means we have to adjust
131
+ // our tcoords. Otherwise text would
132
+ // be flipped
133
+ vec3 tc = normalize(TexCoords - camPos);
134
+ if (abs(tc.z) < max(abs(tc.x),abs(tc.y)))
135
+ {
136
+ tc = vec3(1.0, 1.0, -1.0) * tc;
137
+ }
138
+ else
139
+ {
140
+ tc = vec3(-1.0, 1.0, 1.0) * tc;
141
+ }
142
+ gl_FragData[0] = textureCube(sbtexture, tc);
143
+ }`, ''));
125
144
  }
126
-
127
145
  if (model.lastFormat === 'background') {
128
146
  // maps the texture to the window
129
- model.tris.setProgram(model._openGLRenderWindow.getShaderCache().readyShaderProgramArray("//VTK::System::Dec\n attribute vec3 vertexMC;\n uniform mat4 IMCPCMatrix;\n varying vec2 TexCoords;\n void main () {\n gl_Position = vec4(vertexMC.xyz, 1.0);\n vec4 wpos = IMCPCMatrix * gl_Position;\n TexCoords = vec2(vertexMC.x, vertexMC.y)*0.5 + 0.5;\n }", "//VTK::System::Dec\n //VTK::Output::Dec\n varying vec2 TexCoords;\n uniform sampler2D sbtexture;\n void main () {\n gl_FragData[0] = texture2D(sbtexture, TexCoords);\n }", ''));
147
+ model.tris.setProgram(model._openGLRenderWindow.getShaderCache().readyShaderProgramArray(`//VTK::System::Dec
148
+ attribute vec3 vertexMC;
149
+ uniform mat4 IMCPCMatrix;
150
+ varying vec2 TexCoords;
151
+ void main () {
152
+ gl_Position = vec4(vertexMC.xyz, 1.0);
153
+ vec4 wpos = IMCPCMatrix * gl_Position;
154
+ TexCoords = vec2(vertexMC.x, vertexMC.y)*0.5 + 0.5;
155
+ }`, `//VTK::System::Dec
156
+ //VTK::Output::Dec
157
+ varying vec2 TexCoords;
158
+ uniform sampler2D sbtexture;
159
+ void main () {
160
+ gl_FragData[0] = texture2D(sbtexture, TexCoords);
161
+ }`, ''));
130
162
  }
131
-
132
163
  model.tris.getShaderSourceTime().modified();
133
164
  model.tris.getVAO().bind();
134
-
135
165
  if (!model.tris.getVAO().addAttributeArray(model.tris.getProgram(), model.tris.getCABO(), 'vertexMC', model.tris.getCABO().getVertexOffset(), model.tris.getCABO().getStride(), model.context.FLOAT, 3, model.context.FALSE)) {
136
166
  vtkErrorMacro('Error setting vertexMC in shader VAO.');
137
167
  }
138
- } // set/update the texture map if needed
139
-
140
-
141
- var tmaps = model.renderable.getTextures();
168
+ }
142
169
 
170
+ // set/update the texture map if needed
171
+ const tmaps = model.renderable.getTextures();
143
172
  if (!tmaps.length) {
144
173
  vtkErrorMacro('vtkSkybox requires a texture map');
145
174
  }
146
-
147
175
  if (model.openGLTexture.getRenderable() !== tmaps[0]) {
148
176
  model.openGLTexture.releaseGraphicsResources(model._openGLRenderWindow);
149
177
  model.openGLTexture.setRenderable(tmaps[0]);
150
178
  }
151
179
  };
152
- } // ----------------------------------------------------------------------------
180
+ }
181
+
182
+ // ----------------------------------------------------------------------------
153
183
  // Object factory
154
184
  // ----------------------------------------------------------------------------
155
185
 
156
-
157
- var DEFAULT_VALUES = {
186
+ const DEFAULT_VALUES = {
158
187
  context: null
159
- }; // ----------------------------------------------------------------------------
188
+ };
189
+
190
+ // ----------------------------------------------------------------------------
160
191
 
161
192
  function extend(publicAPI, model) {
162
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
163
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
193
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
194
+ Object.assign(model, DEFAULT_VALUES, initialValues);
164
195
 
196
+ // Inheritance
165
197
  vtkViewNode.extend(publicAPI, model, initialValues);
166
198
  model.openGLTexture = vtkOpenGLTexture.newInstance();
167
199
  model.tris = vtkHelper.newInstance();
@@ -172,21 +204,28 @@ function extend(publicAPI, model) {
172
204
  model.keyMatrices = {
173
205
  normalMatrix: mat3.identity(new Float64Array(9)),
174
206
  mcwc: mat4.identity(new Float64Array(16))
175
- }; // Build VTK API
207
+ };
176
208
 
209
+ // Build VTK API
177
210
  setGet(publicAPI, model, ['context']);
178
- get(publicAPI, model, ['activeTextures']); // Object methods
211
+ get(publicAPI, model, ['activeTextures']);
179
212
 
213
+ // Object methods
180
214
  vtkOpenGLSkybox(publicAPI, model);
181
- } // ----------------------------------------------------------------------------
215
+ }
182
216
 
183
- var newInstance = newInstance$1(extend); // ----------------------------------------------------------------------------
217
+ // ----------------------------------------------------------------------------
218
+
219
+ const newInstance = newInstance$1(extend);
220
+
221
+ // ----------------------------------------------------------------------------
184
222
 
185
223
  var vtkSkybox = {
186
- newInstance: newInstance,
187
- extend: extend
188
- }; // Register ourself to OpenGL backend if imported
224
+ newInstance,
225
+ extend
226
+ };
189
227
 
228
+ // Register ourself to OpenGL backend if imported
190
229
  registerOverride('vtkSkybox', newInstance);
191
230
 
192
231
  export { vtkSkybox as default, extend, newInstance };
@@ -1,7 +1,6 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
1
  import { mat4 } from 'gl-matrix';
3
2
  import { ObjectType } from './BufferObject/Constants.js';
4
- import { newInstance as newInstance$1, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
3
+ import { n as newInstance$1, c as macro } from '../../macros2.js';
5
4
  import vtkBufferObject from './BufferObject.js';
6
5
  import { r as radiansFromDegrees } from '../../Common/Core/Math/index.js';
7
6
  import vtkShaderProgram from './ShaderProgram.js';
@@ -10,196 +9,180 @@ import { v as vtkSphereMapperVS } from './glsl/vtkSphereMapperVS.glsl.js';
10
9
  import { v as vtkPolyDataFS } from './glsl/vtkPolyDataFS.glsl.js';
11
10
  import { registerOverride } from './ViewNodeFactory.js';
12
11
 
13
- 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; }
12
+ const {
13
+ vtkErrorMacro
14
+ } = macro;
14
15
 
15
- 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; }
16
- var vtkErrorMacro = vtkErrorMacro$1; // ----------------------------------------------------------------------------
16
+ // ----------------------------------------------------------------------------
17
17
  // vtkOpenGLSphereMapper methods
18
18
  // ----------------------------------------------------------------------------
19
19
 
20
20
  function vtkOpenGLSphereMapper(publicAPI, model) {
21
21
  // Set our className
22
- model.classHierarchy.push('vtkOpenGLSphereMapper'); // Capture 'parentClass' api for internal use
23
-
24
- var superClass = _objectSpread({}, publicAPI);
22
+ model.classHierarchy.push('vtkOpenGLSphereMapper');
25
23
 
26
- publicAPI.getShaderTemplate = function (shaders, ren, actor) {
24
+ // Capture 'parentClass' api for internal use
25
+ const superClass = {
26
+ ...publicAPI
27
+ };
28
+ publicAPI.getShaderTemplate = (shaders, ren, actor) => {
27
29
  shaders.Vertex = vtkSphereMapperVS;
28
30
  shaders.Fragment = vtkPolyDataFS;
29
31
  shaders.Geometry = '';
30
32
  };
31
-
32
- publicAPI.replaceShaderValues = function (shaders, ren, actor) {
33
- var VSSource = shaders.Vertex;
34
- var FSSource = shaders.Fragment;
33
+ publicAPI.replaceShaderValues = (shaders, ren, actor) => {
34
+ let VSSource = shaders.Vertex;
35
+ let FSSource = shaders.Fragment;
35
36
  VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Camera::Dec', ['uniform mat4 VCPCMatrix;\n', 'uniform mat4 MCVCMatrix;']).result;
36
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::PositionVC::Dec', ['varying vec4 vertexVCVSOutput;']).result; // we create vertexVC below, so turn off the default
37
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::PositionVC::Dec', ['varying vec4 vertexVCVSOutput;']).result;
38
+
39
+ // we create vertexVC below, so turn off the default
37
40
  // implementation
41
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::PositionVC::Impl', ['vec4 vertexVC = vertexVCVSOutput;\n']).result;
38
42
 
39
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::PositionVC::Impl', ['vec4 vertexVC = vertexVCVSOutput;\n']).result; // for lights kit and positional the VCPC matrix is already defined
43
+ // for lights kit and positional the VCPC matrix is already defined
40
44
  // so don't redefine it
41
-
42
- var replacement = ['uniform float invertedDepth;\n', 'uniform int cameraParallel;\n', 'varying float radiusVCVSOutput;\n', 'varying vec3 centerVCVSOutput;\n', 'uniform mat4 VCPCMatrix;\n'];
45
+ const replacement = ['uniform float invertedDepth;\n', 'uniform int cameraParallel;\n', 'varying float radiusVCVSOutput;\n', 'varying vec3 centerVCVSOutput;\n', 'uniform mat4 VCPCMatrix;\n'];
43
46
  FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Normal::Dec', replacement).result;
44
- var fragString = '';
45
-
47
+ let fragString = '';
46
48
  if (model.context.getExtension('EXT_frag_depth')) {
47
49
  fragString = 'gl_FragDepthEXT = (pos.z / pos.w + 1.0) / 2.0;\n';
48
50
  }
49
-
50
51
  if (model._openGLRenderWindow.getWebgl2()) {
51
52
  fragString = 'gl_FragDepth = (pos.z / pos.w + 1.0) / 2.0;\n';
52
53
  }
53
-
54
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Depth::Impl', [// compute the eye position and unit direction
55
- ' vec3 EyePos;\n', ' vec3 EyeDir;\n', ' if (cameraParallel != 0) {\n', ' EyePos = vec3(vertexVC.x, vertexVC.y, vertexVC.z + 3.0*radiusVCVSOutput);\n', ' EyeDir = vec3(0.0,0.0,-1.0); }\n', ' else {\n', ' EyeDir = vertexVC.xyz;\n', ' EyePos = vec3(0.0,0.0,0.0);\n', ' float lengthED = length(EyeDir);\n', ' EyeDir = normalize(EyeDir);\n', // we adjust the EyePos to be closer if it is too far away
54
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Depth::Impl', [
55
+ // compute the eye position and unit direction
56
+ ' vec3 EyePos;\n', ' vec3 EyeDir;\n', ' if (cameraParallel != 0) {\n', ' EyePos = vec3(vertexVC.x, vertexVC.y, vertexVC.z + 3.0*radiusVCVSOutput);\n', ' EyeDir = vec3(0.0,0.0,-1.0); }\n', ' else {\n', ' EyeDir = vertexVC.xyz;\n', ' EyePos = vec3(0.0,0.0,0.0);\n', ' float lengthED = length(EyeDir);\n', ' EyeDir = normalize(EyeDir);\n',
57
+ // we adjust the EyePos to be closer if it is too far away
56
58
  // to prevent floating point precision noise
57
- ' if (lengthED > radiusVCVSOutput*3.0) {\n', ' EyePos = vertexVC.xyz - EyeDir*3.0*radiusVCVSOutput; }\n', ' }\n', // translate to Sphere center
58
- ' EyePos = EyePos - centerVCVSOutput;\n', // scale to radius 1.0
59
- ' EyePos = EyePos/radiusVCVSOutput;\n', // find the intersection
60
- ' float b = 2.0*dot(EyePos,EyeDir);\n', ' float c = dot(EyePos,EyePos) - 1.0;\n', ' float d = b*b - 4.0*c;\n', ' vec3 normalVCVSOutput = vec3(0.0,0.0,1.0);\n', ' if (d < 0.0) { discard; }\n', ' else {\n', ' float t = (-b - invertedDepth*sqrt(d))*0.5;\n', // compute the normal, for unit sphere this is just
59
+ ' if (lengthED > radiusVCVSOutput*3.0) {\n', ' EyePos = vertexVC.xyz - EyeDir*3.0*radiusVCVSOutput; }\n', ' }\n',
60
+ // translate to Sphere center
61
+ ' EyePos = EyePos - centerVCVSOutput;\n',
62
+ // scale to radius 1.0
63
+ ' EyePos = EyePos/radiusVCVSOutput;\n',
64
+ // find the intersection
65
+ ' float b = 2.0*dot(EyePos,EyeDir);\n', ' float c = dot(EyePos,EyePos) - 1.0;\n', ' float d = b*b - 4.0*c;\n', ' vec3 normalVCVSOutput = vec3(0.0,0.0,1.0);\n', ' if (d < 0.0) { discard; }\n', ' else {\n', ' float t = (-b - invertedDepth*sqrt(d))*0.5;\n',
66
+ // compute the normal, for unit sphere this is just
61
67
  // the intersection point
62
- ' normalVCVSOutput = invertedDepth*normalize(EyePos + t*EyeDir);\n', // compute the intersection point in VC
63
- ' vertexVC.xyz = normalVCVSOutput*radiusVCVSOutput + centerVCVSOutput;\n', ' }\n', // compute the pixel's depth
68
+ ' normalVCVSOutput = invertedDepth*normalize(EyePos + t*EyeDir);\n',
69
+ // compute the intersection point in VC
70
+ ' vertexVC.xyz = normalVCVSOutput*radiusVCVSOutput + centerVCVSOutput;\n', ' }\n',
71
+ // compute the pixel's depth
64
72
  // ' normalVCVSOutput = vec3(0,0,1);\n'
65
- ' vec4 pos = VCPCMatrix * vertexVC;\n', fragString]).result; // Strip out the normal line -- the normal is computed as part of the depth
73
+ ' vec4 pos = VCPCMatrix * vertexVC;\n', fragString]).result;
66
74
 
75
+ // Strip out the normal line -- the normal is computed as part of the depth
67
76
  FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Normal::Impl', '').result;
68
-
69
77
  if (model.haveSeenDepthRequest) {
70
78
  // special depth impl
71
79
  FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::ZBuffer::Impl', ['if (depthRequest == 1) {', 'float computedZ = (pos.z / pos.w + 1.0) / 2.0;', 'float iz = floor(computedZ * 65535.0 + 0.1);', 'float rf = floor(iz/256.0)/255.0;', 'float gf = mod(iz,256.0)/255.0;', 'gl_FragData[0] = vec4(rf, gf, 0.0, 1.0); }']).result;
72
80
  }
73
-
74
81
  shaders.Vertex = VSSource;
75
82
  shaders.Fragment = FSSource;
76
83
  superClass.replaceShaderValues(shaders, ren, actor);
77
84
  };
78
-
79
- publicAPI.setMapperShaderParameters = function (cellBO, ren, actor) {
85
+ publicAPI.setMapperShaderParameters = (cellBO, ren, actor) => {
80
86
  if (cellBO.getCABO().getElementCount() && (model.VBOBuildTime > cellBO.getAttributeUpdateTime().getMTime() || cellBO.getShaderSourceTime().getMTime() > cellBO.getAttributeUpdateTime().getMTime()) && cellBO.getProgram().isAttributeUsed('offsetMC')) {
81
- if (!cellBO.getVAO().addAttributeArray(cellBO.getProgram(), cellBO.getCABO(), 'offsetMC', 12, // 12:this->VBO->ColorOffset+sizeof(float)
87
+ if (!cellBO.getVAO().addAttributeArray(cellBO.getProgram(), cellBO.getCABO(), 'offsetMC', 12,
88
+ // 12:this->VBO->ColorOffset+sizeof(float)
82
89
  cellBO.getCABO().getStride(), model.context.FLOAT, 2, false)) {
83
90
  vtkErrorMacro("Error setting 'offsetMC' in shader VAO.");
84
91
  }
85
92
  }
86
-
87
93
  if (cellBO.getProgram().isUniformUsed('invertedDepth')) {
88
94
  cellBO.getProgram().setUniformf('invertedDepth', model.invert ? -1.0 : 1.0);
89
95
  }
90
-
91
96
  if (cellBO.getProgram().isUniformUsed('scaleFactor')) {
92
97
  // apply scaling factor only if a scale array has been provided.
93
- var poly = model.currentInput;
94
- var pointData = poly.getPointData();
95
-
98
+ const poly = model.currentInput;
99
+ const pointData = poly.getPointData();
96
100
  if (model.renderable.getScaleArray() != null && pointData.hasArray(model.renderable.getScaleArray())) {
97
101
  cellBO.getProgram().setUniformf('scaleFactor', model.renderable.getScaleFactor());
98
102
  } else {
99
103
  cellBO.getProgram().setUniformf('scaleFactor', 1.0);
100
104
  }
101
105
  }
102
-
103
106
  superClass.setMapperShaderParameters(cellBO, ren, actor);
104
107
  };
105
-
106
- publicAPI.setCameraShaderParameters = function (cellBO, ren, actor) {
107
- var program = cellBO.getProgram();
108
- var cam = ren.getActiveCamera();
109
- var keyMats = model.openGLCamera.getKeyMatrices(ren);
110
-
108
+ publicAPI.setCameraShaderParameters = (cellBO, ren, actor) => {
109
+ const program = cellBO.getProgram();
110
+ const cam = ren.getActiveCamera();
111
+ const keyMats = model.openGLCamera.getKeyMatrices(ren);
111
112
  if (program.isUniformUsed('VCPCMatrix')) {
112
113
  program.setUniformMatrix('VCPCMatrix', keyMats.vcpc);
113
114
  }
114
-
115
115
  if (program.isUniformUsed('MCVCMatrix')) {
116
116
  if (!actor.getIsIdentity()) {
117
- var actMats = model.openGLActor.getKeyMatrices();
118
- var tmp4 = new Float64Array(16);
117
+ const actMats = model.openGLActor.getKeyMatrices();
118
+ const tmp4 = new Float64Array(16);
119
119
  mat4.multiply(tmp4, keyMats.wcvc, actMats.mcwc);
120
120
  program.setUniformMatrix('MCVCMatrix', tmp4);
121
121
  } else {
122
122
  program.setUniformMatrix('MCVCMatrix', keyMats.wcvc);
123
123
  }
124
124
  }
125
-
126
125
  if (program.isUniformUsed('cameraParallel')) {
127
126
  cellBO.getProgram().setUniformi('cameraParallel', cam.getParallelProjection());
128
127
  }
129
128
  };
130
-
131
- publicAPI.getOpenGLMode = function (rep, type) {
132
- return model.context.TRIANGLES;
133
- };
134
-
135
- publicAPI.buildBufferObjects = function (ren, actor) {
136
- var poly = model.currentInput;
137
-
129
+ publicAPI.getOpenGLMode = (rep, type) => model.context.TRIANGLES;
130
+ publicAPI.buildBufferObjects = (ren, actor) => {
131
+ const poly = model.currentInput;
138
132
  if (poly === null) {
139
133
  return;
140
134
  }
141
-
142
135
  model.renderable.mapScalars(poly, 1.0);
143
- var c = model.renderable.getColorMapColors();
144
- var vbo = model.primitives[model.primTypes.Tris].getCABO();
145
- var pointData = poly.getPointData();
146
- var points = poly.getPoints();
147
- var numPoints = points.getNumberOfPoints();
148
- var pointArray = points.getData();
149
- var pointSize = 5; // x,y,z,orientation1,orientation2
150
-
151
- var scales = null;
152
-
136
+ const c = model.renderable.getColorMapColors();
137
+ const vbo = model.primitives[model.primTypes.Tris].getCABO();
138
+ const pointData = poly.getPointData();
139
+ const points = poly.getPoints();
140
+ const numPoints = points.getNumberOfPoints();
141
+ const pointArray = points.getData();
142
+ const pointSize = 5; // x,y,z,orientation1,orientation2
143
+ let scales = null;
153
144
  if (model.renderable.getScaleArray() != null && pointData.hasArray(model.renderable.getScaleArray())) {
154
145
  scales = pointData.getArray(model.renderable.getScaleArray()).getData();
155
146
  }
156
-
157
- var colorData = null;
158
- var colorComponents = 0;
159
- var packedUCVBO = null;
160
-
147
+ let colorData = null;
148
+ let colorComponents = 0;
149
+ let packedUCVBO = null;
161
150
  if (c) {
162
151
  colorComponents = c.getNumberOfComponents();
163
152
  vbo.setColorOffset(0);
164
153
  vbo.setColorBOStride(4);
165
154
  colorData = c.getData();
166
155
  packedUCVBO = new Uint8Array(3 * numPoints * 4);
167
-
168
156
  if (!vbo.getColorBO()) {
169
157
  vbo.setColorBO(vtkBufferObject.newInstance());
170
158
  }
171
-
172
159
  vbo.getColorBO().setOpenGLRenderWindow(model._openGLRenderWindow);
173
160
  } else if (vbo.getColorBO()) {
174
161
  vbo.setColorBO(null);
175
162
  }
176
-
177
163
  vbo.setColorComponents(colorComponents);
178
- var packedVBO = new Float32Array(pointSize * numPoints * 3);
164
+ const packedVBO = new Float32Array(pointSize * numPoints * 3);
179
165
  vbo.setStride(pointSize * 4);
180
- var cos30 = Math.cos(radiansFromDegrees(30.0));
181
- var pointIdx = 0;
182
- var colorIdx = 0; //
166
+ const cos30 = Math.cos(radiansFromDegrees(30.0));
167
+ let pointIdx = 0;
168
+ let colorIdx = 0;
169
+
170
+ //
183
171
  // Generate points and point data for sides
184
172
  //
185
-
186
- var vboIdx = 0;
187
- var ucIdx = 0;
188
-
189
- for (var i = 0; i < numPoints; ++i) {
190
- var radius = model.renderable.getRadius();
191
-
173
+ let vboIdx = 0;
174
+ let ucIdx = 0;
175
+ for (let i = 0; i < numPoints; ++i) {
176
+ let radius = model.renderable.getRadius();
192
177
  if (scales) {
193
178
  radius = scales[i];
194
179
  }
195
-
196
180
  pointIdx = i * 3;
197
181
  packedVBO[vboIdx++] = pointArray[pointIdx++];
198
182
  packedVBO[vboIdx++] = pointArray[pointIdx++];
199
183
  packedVBO[vboIdx++] = pointArray[pointIdx++];
200
184
  packedVBO[vboIdx++] = -2.0 * radius * cos30;
201
185
  packedVBO[vboIdx++] = -radius;
202
-
203
186
  if (colorData) {
204
187
  colorIdx = i * colorComponents;
205
188
  packedUCVBO[ucIdx++] = colorData[colorIdx];
@@ -207,28 +190,24 @@ function vtkOpenGLSphereMapper(publicAPI, model) {
207
190
  packedUCVBO[ucIdx++] = colorData[colorIdx + 2];
208
191
  packedUCVBO[ucIdx++] = colorData[colorIdx + 3];
209
192
  }
210
-
211
193
  pointIdx = i * 3;
212
194
  packedVBO[vboIdx++] = pointArray[pointIdx++];
213
195
  packedVBO[vboIdx++] = pointArray[pointIdx++];
214
196
  packedVBO[vboIdx++] = pointArray[pointIdx++];
215
197
  packedVBO[vboIdx++] = 2.0 * radius * cos30;
216
198
  packedVBO[vboIdx++] = -radius;
217
-
218
199
  if (colorData) {
219
200
  packedUCVBO[ucIdx++] = colorData[colorIdx];
220
201
  packedUCVBO[ucIdx++] = colorData[colorIdx + 1];
221
202
  packedUCVBO[ucIdx++] = colorData[colorIdx + 2];
222
203
  packedUCVBO[ucIdx++] = colorData[colorIdx + 3];
223
204
  }
224
-
225
205
  pointIdx = i * 3;
226
206
  packedVBO[vboIdx++] = pointArray[pointIdx++];
227
207
  packedVBO[vboIdx++] = pointArray[pointIdx++];
228
208
  packedVBO[vboIdx++] = pointArray[pointIdx++];
229
209
  packedVBO[vboIdx++] = 0.0;
230
210
  packedVBO[vboIdx++] = 2.0 * radius;
231
-
232
211
  if (colorData) {
233
212
  packedUCVBO[ucIdx++] = colorData[colorIdx];
234
213
  packedUCVBO[ucIdx++] = colorData[colorIdx + 1];
@@ -236,39 +215,46 @@ function vtkOpenGLSphereMapper(publicAPI, model) {
236
215
  packedUCVBO[ucIdx++] = colorData[colorIdx + 3];
237
216
  }
238
217
  }
239
-
240
218
  vbo.setElementCount(vboIdx / pointSize);
241
219
  vbo.upload(packedVBO, ObjectType.ARRAY_BUFFER);
242
-
243
220
  if (c) {
244
221
  vbo.getColorBO().upload(packedUCVBO, ObjectType.ARRAY_BUFFER);
245
222
  }
246
-
247
223
  model.VBOBuildTime.modified();
248
224
  };
249
- } // ----------------------------------------------------------------------------
225
+ }
226
+
227
+ // ----------------------------------------------------------------------------
250
228
  // Object factory
251
229
  // ----------------------------------------------------------------------------
252
230
 
231
+ const DEFAULT_VALUES = {};
253
232
 
254
- var DEFAULT_VALUES = {}; // ----------------------------------------------------------------------------
233
+ // ----------------------------------------------------------------------------
255
234
 
256
235
  function extend(publicAPI, model) {
257
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
258
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
236
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
237
+ Object.assign(model, DEFAULT_VALUES, initialValues);
259
238
 
260
- vtkOpenGLPolyDataMapper.extend(publicAPI, model, initialValues); // Object methods
239
+ // Inheritance
240
+ vtkOpenGLPolyDataMapper.extend(publicAPI, model, initialValues);
261
241
 
242
+ // Object methods
262
243
  vtkOpenGLSphereMapper(publicAPI, model);
263
- } // ----------------------------------------------------------------------------
244
+ }
245
+
246
+ // ----------------------------------------------------------------------------
247
+
248
+ const newInstance = newInstance$1(extend, 'vtkOpenGLSphereMapper');
264
249
 
265
- var newInstance = newInstance$1(extend, 'vtkOpenGLSphereMapper'); // ----------------------------------------------------------------------------
250
+ // ----------------------------------------------------------------------------
266
251
 
267
252
  var vtkSphereMapper = {
268
- newInstance: newInstance,
269
- extend: extend
270
- }; // Register ourself to OpenGL backend if imported
253
+ newInstance,
254
+ extend
255
+ };
271
256
 
257
+ // Register ourself to OpenGL backend if imported
272
258
  registerOverride('vtkSphereMapper', newInstance);
273
259
 
274
260
  export { vtkSphereMapper as default, extend, newInstance };