@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,6 +1,6 @@
1
1
  import BinaryHelper from '../Core/BinaryHelper.js';
2
2
  import DataAccessHelper from '../Core/DataAccessHelper.js';
3
- import macro from '../../macros.js';
3
+ import { m as macro } from '../../macros2.js';
4
4
  import vtkDataArray from '../../Common/Core/DataArray.js';
5
5
  import vtkPolyData from '../../Common/DataModel/PolyData.js';
6
6
  import '../Core/DataAccessHelper/LiteHttpDataAccessHelper.js';
@@ -9,77 +9,66 @@ import '../Core/DataAccessHelper/LiteHttpDataAccessHelper.js';
9
9
  // import 'vtk.js/Sources/IO/Core/DataAccessHelper/HtmlDataAccessHelper'; // html + base64 + zip
10
10
  // import 'vtk.js/Sources/IO/Core/DataAccessHelper/JSZipDataAccessHelper'; // zip
11
11
 
12
- var PLYFormats = {
12
+ const PLYFormats = {
13
13
  ASCII: 'ascii',
14
14
  BINARY_BIG_ENDIAN: 'binary_big_endian',
15
15
  BINARY_LITTLE_ENDIAN: 'binary_little_endian'
16
16
  };
17
- var mapping = {
17
+ const mapping = {
18
18
  diffuse_red: 'red',
19
19
  diffuse_green: 'green',
20
20
  diffuse_blue: 'blue'
21
21
  };
22
- var patterns = {
22
+ const patterns = {
23
23
  patternHeader: /ply([\s\S]*)end_header\r?\n/,
24
24
  patternBody: /end_header\s([\s\S]*)$/
25
25
  };
26
-
27
26
  function parseHeader(data) {
28
- var headerText = '';
29
- var headerLength = 0;
30
- var result = patterns.patternHeader.exec(data);
31
-
27
+ let headerText = '';
28
+ let headerLength = 0;
29
+ const result = patterns.patternHeader.exec(data);
32
30
  if (result !== null) {
33
31
  headerText = result[1];
34
32
  headerLength = result[0].length;
35
33
  }
36
-
37
- var header = {
34
+ const header = {
38
35
  comments: [],
39
36
  elements: [],
40
- headerLength: headerLength
37
+ headerLength
41
38
  };
42
- var lines = headerText.split('\n');
43
- var elem;
44
- var lineType;
45
- var lineValues;
46
-
47
- for (var i = 0; i < lines.length; i++) {
48
- var line = lines[i];
39
+ const lines = headerText.split('\n');
40
+ let elem;
41
+ let lineType;
42
+ let lineValues;
43
+ for (let i = 0; i < lines.length; i++) {
44
+ let line = lines[i];
49
45
  line = line.trim();
50
-
51
46
  if (line !== '') {
52
- var property = void 0;
47
+ let property;
53
48
  lineValues = line.split(/\s+/);
54
49
  lineType = lineValues.shift();
55
50
  line = lineValues.join(' ');
56
-
57
51
  switch (lineType) {
58
52
  case 'format':
59
53
  header.format = lineValues[0];
60
54
  header.version = lineValues[1];
61
55
  break;
62
-
63
56
  case 'comment':
64
57
  header.comments.push(line);
65
58
  break;
66
-
67
59
  case 'element':
68
60
  if (elem !== undefined) {
69
61
  header.elements.push(elem);
70
62
  }
71
-
72
63
  elem = {};
73
64
  elem.name = lineValues[0];
74
65
  elem.count = parseInt(lineValues[1], 10);
75
66
  elem.properties = [];
76
67
  break;
77
-
78
68
  case 'property':
79
69
  property = {
80
70
  type: lineValues[0]
81
71
  };
82
-
83
72
  if (property.type === 'list') {
84
73
  property.name = lineValues[3];
85
74
  property.countType = lineValues[1];
@@ -87,113 +76,90 @@ function parseHeader(data) {
87
76
  } else {
88
77
  property.name = lineValues[1];
89
78
  }
90
-
91
79
  if (property.name in mapping) {
92
80
  property.name = mapping[property.name];
93
81
  }
94
-
95
82
  elem.properties.push(property);
96
83
  break;
97
-
98
84
  case 'obj_info':
99
85
  header.objInfo = line;
100
86
  break;
101
-
102
87
  default:
103
88
  console.warn('unhandled', lineType, lineValues);
104
89
  break;
105
90
  }
106
91
  }
107
92
  }
108
-
109
93
  if (elem !== undefined) {
110
94
  header.elements.push(elem);
111
95
  }
112
-
113
96
  return header;
114
97
  }
115
-
116
98
  function postProcess(buffer, elements) {
117
- var vertElement = elements.find(function (element) {
118
- return element.name === 'vertex';
119
- });
120
- var faceElement = elements.find(function (element) {
121
- return element.name === 'face';
122
- });
123
- var nbVerts = 0;
124
- var nbFaces = 0;
125
-
99
+ const vertElement = elements.find(element => element.name === 'vertex');
100
+ const faceElement = elements.find(element => element.name === 'face');
101
+ let nbVerts = 0;
102
+ let nbFaces = 0;
126
103
  if (vertElement) {
127
104
  nbVerts = vertElement.count;
128
105
  }
129
-
130
106
  if (faceElement) {
131
107
  nbFaces = faceElement.count;
132
108
  }
133
-
134
- var pointValues = new Float32Array(nbVerts * 3);
135
- var colorArray = new Uint8Array(nbVerts * 3);
136
- var tcoordsArray = new Float32Array(nbVerts * 2);
137
- var normalsArray = new Float32Array(nbVerts * 3);
138
- var hasColor = buffer.colors.length > 0;
139
- var hasVertTCoords = buffer.uvs.length > 0;
140
- var hasNorms = buffer.normals.length > 0;
141
- var hasFaceTCoords = buffer.faceVertexUvs.length > 0;
142
-
143
- for (var vertIdx = 0; vertIdx < nbVerts; vertIdx++) {
144
- var a = vertIdx * 3 + 0;
145
- var b = vertIdx * 3 + 1;
146
- var c = vertIdx * 3 + 2;
109
+ const pointValues = new Float32Array(nbVerts * 3);
110
+ const colorArray = new Uint8Array(nbVerts * 3);
111
+ const tcoordsArray = new Float32Array(nbVerts * 2);
112
+ const normalsArray = new Float32Array(nbVerts * 3);
113
+ const hasColor = buffer.colors.length > 0;
114
+ const hasVertTCoords = buffer.uvs.length > 0;
115
+ const hasNorms = buffer.normals.length > 0;
116
+ const hasFaceTCoords = buffer.faceVertexUvs.length > 0;
117
+ for (let vertIdx = 0; vertIdx < nbVerts; vertIdx++) {
118
+ let a = vertIdx * 3 + 0;
119
+ let b = vertIdx * 3 + 1;
120
+ const c = vertIdx * 3 + 2;
147
121
  pointValues[a] = buffer.vertices[a];
148
122
  pointValues[b] = buffer.vertices[b];
149
123
  pointValues[c] = buffer.vertices[c];
150
-
151
124
  if (hasColor) {
152
125
  colorArray[a] = buffer.colors[a];
153
126
  colorArray[b] = buffer.colors[b];
154
127
  colorArray[c] = buffer.colors[c];
155
128
  }
156
-
157
129
  if (hasVertTCoords) {
158
130
  a = vertIdx * 2 + 0;
159
131
  b = vertIdx * 2 + 1;
160
132
  tcoordsArray[a] = buffer.uvs[a];
161
133
  tcoordsArray[b] = buffer.uvs[b];
162
134
  }
163
-
164
135
  if (hasNorms) {
165
136
  normalsArray[a] = buffer.normals[a];
166
137
  normalsArray[b] = buffer.normals[b];
167
138
  normalsArray[c] = buffer.normals[c];
168
139
  }
169
140
  }
170
-
171
141
  if (!hasVertTCoords && hasFaceTCoords) {
172
142
  // don't use array.shift, because buffer.indices will be used later
173
- var idxVerts = 0;
174
- var idxCoord = 0;
175
-
176
- for (var faceIdx = 0; faceIdx < nbFaces; ++faceIdx) {
177
- var nbFaceVerts = buffer.indices[idxVerts++];
178
- var texcoords = buffer.faceVertexUvs[idxCoord++];
179
-
143
+ let idxVerts = 0;
144
+ let idxCoord = 0;
145
+ for (let faceIdx = 0; faceIdx < nbFaces; ++faceIdx) {
146
+ const nbFaceVerts = buffer.indices[idxVerts++];
147
+ const texcoords = buffer.faceVertexUvs[idxCoord++];
180
148
  if (texcoords && nbFaceVerts * 2 === texcoords.length) {
181
149
  // grab the vertex index
182
- for (var _vertIdx = 0; _vertIdx < nbFaceVerts; ++_vertIdx) {
183
- var vert = buffer.indices[idxVerts++]; // new texture stored at the current face
184
-
185
- tcoordsArray[vert * 2 + 0] = texcoords[_vertIdx * 2 + 0];
186
- tcoordsArray[vert * 2 + 1] = texcoords[_vertIdx * 2 + 1];
150
+ for (let vertIdx = 0; vertIdx < nbFaceVerts; ++vertIdx) {
151
+ const vert = buffer.indices[idxVerts++];
152
+ // new texture stored at the current face
153
+ tcoordsArray[vert * 2 + 0] = texcoords[vertIdx * 2 + 0];
154
+ tcoordsArray[vert * 2 + 1] = texcoords[vertIdx * 2 + 1];
187
155
  }
188
156
  } else {
189
157
  idxVerts += nbFaceVerts;
190
158
  }
191
159
  }
192
160
  }
193
-
194
- var polydata = vtkPolyData.newInstance();
161
+ const polydata = vtkPolyData.newInstance();
195
162
  polydata.getPoints().setData(pointValues, 3);
196
-
197
163
  if (hasColor) {
198
164
  polydata.getPointData().setScalars(vtkDataArray.newInstance({
199
165
  numberOfComponents: 3,
@@ -201,18 +167,16 @@ function postProcess(buffer, elements) {
201
167
  name: 'Scalars'
202
168
  }));
203
169
  }
204
-
205
170
  if (hasVertTCoords || hasFaceTCoords) {
206
- var da = vtkDataArray.newInstance({
171
+ const da = vtkDataArray.newInstance({
207
172
  numberOfComponents: 2,
208
173
  values: tcoordsArray,
209
174
  name: 'TextureCoordinates'
210
175
  });
211
- var cpd = polydata.getPointData();
176
+ const cpd = polydata.getPointData();
212
177
  cpd.addArray(da);
213
178
  cpd.setActiveTCoords(da.getName());
214
179
  }
215
-
216
180
  if (hasNorms) {
217
181
  polydata.getPointData().setNormals(vtkDataArray.newInstance({
218
182
  numberOfComponents: 3,
@@ -220,14 +184,11 @@ function postProcess(buffer, elements) {
220
184
  values: normalsArray
221
185
  }));
222
186
  }
223
-
224
187
  polydata.getPolys().setData(Uint32Array.from(buffer.indices));
225
188
  return polydata;
226
189
  }
227
-
228
190
  function parseNumber(n, type) {
229
- var r;
230
-
191
+ let r;
231
192
  switch (type) {
232
193
  case 'char':
233
194
  case 'uchar':
@@ -243,150 +204,125 @@ function parseNumber(n, type) {
243
204
  case 'uint32':
244
205
  r = parseInt(n, 10);
245
206
  break;
246
-
247
207
  case 'float':
248
208
  case 'double':
249
209
  case 'float32':
250
210
  case 'float64':
251
211
  r = parseFloat(n);
252
212
  break;
253
-
254
213
  default:
255
214
  console.log('Unsupported type');
256
215
  break;
257
216
  }
258
-
259
217
  return r;
260
218
  }
261
-
262
219
  function parseElement(properties, line) {
263
- var values = line.split(/\s+/);
264
- var element = {};
265
-
266
- for (var i = 0; i < properties.length; i++) {
220
+ const values = line.split(/\s+/);
221
+ const element = {};
222
+ for (let i = 0; i < properties.length; i++) {
267
223
  if (properties[i].type === 'list') {
268
- var list = [];
269
- var n = parseNumber(values.shift(), properties[i].countType);
270
-
271
- for (var j = 0; j < n; j++) {
224
+ const list = [];
225
+ const n = parseNumber(values.shift(), properties[i].countType);
226
+ for (let j = 0; j < n; j++) {
272
227
  list.push(parseNumber(values.shift(), properties[i].itemType));
273
228
  }
274
-
275
229
  element[properties[i].name] = list;
276
230
  } else {
277
231
  element[properties[i].name] = parseNumber(values.shift(), properties[i].type);
278
232
  }
279
233
  }
280
-
281
234
  return element;
282
235
  }
283
-
284
236
  function handleElement(buffer, name, element) {
285
237
  if (name === 'vertex') {
286
- buffer.vertices.push(element.x, element.y, element.z); // Normals
238
+ buffer.vertices.push(element.x, element.y, element.z);
287
239
 
240
+ // Normals
288
241
  if ('nx' in element && 'ny' in element && 'nz' in element) {
289
242
  buffer.normals.push(element.nx, element.ny, element.nz);
290
- } // Uvs
291
-
243
+ }
292
244
 
245
+ // Uvs
293
246
  if ('s' in element && 't' in element) {
294
247
  buffer.uvs.push(element.s, element.t);
295
248
  } else if ('u' in element && 'v' in element) {
296
249
  buffer.uvs.push(element.u, element.v);
297
250
  } else if ('texture_u' in element && 'texture_v' in element) {
298
251
  buffer.uvs.push(element.texture_u, element.texture_v);
299
- } // Colors
300
-
252
+ }
301
253
 
254
+ // Colors
302
255
  if ('red' in element && 'green' in element && 'blue' in element) {
303
256
  buffer.colors.push(element.red, element.green, element.blue);
304
257
  }
305
258
  } else if (name === 'face') {
306
- var vertexIndices = element.vertex_indices || element.vertex_index;
307
- var texcoord = element.texcoord;
308
-
259
+ const vertexIndices = element.vertex_indices || element.vertex_index;
260
+ const texcoord = element.texcoord;
309
261
  if (vertexIndices && vertexIndices.length > 0) {
310
262
  buffer.indices.push(vertexIndices.length);
311
- vertexIndices.forEach(function (val, idx) {
263
+ vertexIndices.forEach((val, idx) => {
312
264
  buffer.indices.push(val);
313
265
  });
314
266
  }
315
-
316
267
  buffer.faceVertexUvs.push(texcoord);
317
268
  }
318
269
  }
319
-
320
270
  function binaryRead(dataview, at, type, littleEndian) {
321
- var r;
322
-
271
+ let r;
323
272
  switch (type) {
324
273
  case 'int8':
325
274
  case 'char':
326
275
  r = [dataview.getInt8(at), 1];
327
276
  break;
328
-
329
277
  case 'uint8':
330
278
  case 'uchar':
331
279
  r = [dataview.getUint8(at), 1];
332
280
  break;
333
-
334
281
  case 'int16':
335
282
  case 'short':
336
283
  r = [dataview.getInt16(at, littleEndian), 2];
337
284
  break;
338
-
339
285
  case 'uint16':
340
286
  case 'ushort':
341
287
  r = [dataview.getUint16(at, littleEndian), 2];
342
288
  break;
343
-
344
289
  case 'int32':
345
290
  case 'int':
346
291
  r = [dataview.getInt32(at, littleEndian), 4];
347
292
  break;
348
-
349
293
  case 'uint32':
350
294
  case 'uint':
351
295
  r = [dataview.getUint32(at, littleEndian), 4];
352
296
  break;
353
-
354
297
  case 'float32':
355
298
  case 'float':
356
299
  r = [dataview.getFloat32(at, littleEndian), 4];
357
300
  break;
358
-
359
301
  case 'float64':
360
302
  case 'double':
361
303
  r = [dataview.getFloat64(at, littleEndian), 8];
362
304
  break;
363
-
364
305
  default:
365
306
  console.log('Unsupported type');
366
307
  break;
367
308
  }
368
-
369
309
  return r;
370
310
  }
371
-
372
311
  function binaryReadElement(dataview, at, properties, littleEndian) {
373
- var element = {};
374
- var result;
375
- var read = 0;
376
-
377
- for (var i = 0; i < properties.length; i++) {
312
+ const element = {};
313
+ let result;
314
+ let read = 0;
315
+ for (let i = 0; i < properties.length; i++) {
378
316
  if (properties[i].type === 'list') {
379
- var list = [];
317
+ const list = [];
380
318
  result = binaryRead(dataview, at + read, properties[i].countType, littleEndian);
381
- var n = result[0];
319
+ const n = result[0];
382
320
  read += result[1];
383
-
384
- for (var j = 0; j < n; j++) {
321
+ for (let j = 0; j < n; j++) {
385
322
  result = binaryRead(dataview, at + read, properties[i].itemType, littleEndian);
386
323
  list.push(result[0]);
387
324
  read += result[1];
388
325
  }
389
-
390
326
  element[properties[i].name] = list;
391
327
  } else {
392
328
  result = binaryRead(dataview, at + read, properties[i].type, littleEndian);
@@ -394,99 +330,101 @@ function binaryReadElement(dataview, at, properties, littleEndian) {
394
330
  read += result[1];
395
331
  }
396
332
  }
397
-
398
333
  return [element, read];
399
- } // ----------------------------------------------------------------------------
334
+ }
335
+
336
+ // ----------------------------------------------------------------------------
400
337
  // vtkPLYReader methods
401
338
  // ----------------------------------------------------------------------------
402
339
 
403
-
404
340
  function vtkPLYReader(publicAPI, model) {
405
341
  // Set our className
406
- model.classHierarchy.push('vtkPLYReader'); // Create default dataAccessHelper if not available
342
+ model.classHierarchy.push('vtkPLYReader');
407
343
 
344
+ // Create default dataAccessHelper if not available
408
345
  if (!model.dataAccessHelper) {
409
346
  model.dataAccessHelper = DataAccessHelper.get('http');
410
- } // Internal method to fetch Array
411
-
347
+ }
412
348
 
349
+ // Internal method to fetch Array
413
350
  function fetchData(url) {
414
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
415
- var compression = model.compression,
416
- progressCallback = model.progressCallback;
417
-
351
+ let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
352
+ const {
353
+ compression,
354
+ progressCallback
355
+ } = model;
418
356
  if (option.binary) {
419
357
  return model.dataAccessHelper.fetchBinary(url, {
420
- compression: compression,
421
- progressCallback: progressCallback
358
+ compression,
359
+ progressCallback
422
360
  });
423
361
  }
424
-
425
362
  return model.dataAccessHelper.fetchText(publicAPI, url, {
426
- compression: compression,
427
- progressCallback: progressCallback
363
+ compression,
364
+ progressCallback
428
365
  });
429
- } // Set DataSet url
430
-
366
+ }
431
367
 
368
+ // Set DataSet url
432
369
  publicAPI.setUrl = function (url) {
433
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
370
+ let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
434
371
  binary: true
435
372
  };
436
- model.url = url; // Remove the file in the URL
373
+ model.url = url;
437
374
 
438
- var path = url.split('/');
375
+ // Remove the file in the URL
376
+ const path = url.split('/');
439
377
  path.pop();
440
378
  model.baseURL = path.join('/');
441
- model.compression = option.compression; // Fetch metadata
379
+ model.compression = option.compression;
442
380
 
381
+ // Fetch metadata
443
382
  return publicAPI.loadData({
444
383
  progressCallback: option.progressCallback,
445
384
  binary: !!option.binary
446
385
  });
447
- }; // Fetch the actual data arrays
448
-
386
+ };
449
387
 
388
+ // Fetch the actual data arrays
450
389
  publicAPI.loadData = function () {
451
- var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
452
- var promise = fetchData(model.url, option);
390
+ let option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
391
+ const promise = fetchData(model.url, option);
453
392
  promise.then(publicAPI.parse);
454
393
  return promise;
455
394
  };
456
-
457
- publicAPI.parse = function (content) {
395
+ publicAPI.parse = content => {
458
396
  if (typeof content === 'string') {
459
397
  publicAPI.parseAsText(content);
460
398
  } else {
461
399
  publicAPI.parseAsArrayBuffer(content);
462
400
  }
463
401
  };
464
-
465
- publicAPI.parseAsArrayBuffer = function (content) {
402
+ publicAPI.parseAsArrayBuffer = content => {
466
403
  if (!content) {
467
404
  return;
468
405
  }
469
-
470
406
  if (content !== model.parseData) {
471
407
  publicAPI.modified();
472
408
  } else {
473
409
  return;
474
- } // Header
475
-
410
+ }
476
411
 
477
- var text = BinaryHelper.arrayBufferToString(content);
478
- var header = parseHeader(text); // ascii/binary detection
412
+ // Header
413
+ const text = BinaryHelper.arrayBufferToString(content);
414
+ const header = parseHeader(text);
479
415
 
480
- var isBinary = header.format !== PLYFormats.ASCII; // Check if ascii format
416
+ // ascii/binary detection
417
+ const isBinary = header.format !== PLYFormats.ASCII;
481
418
 
419
+ // Check if ascii format
482
420
  if (!isBinary) {
483
421
  publicAPI.parseAsText(content);
484
422
  return;
485
423
  }
424
+ model.parseData = content;
486
425
 
487
- model.parseData = content; // Binary parsing
488
-
489
- var buffer = {
426
+ // Binary parsing
427
+ const buffer = {
490
428
  indices: [],
491
429
  vertices: [],
492
430
  normals: [],
@@ -494,51 +432,50 @@ function vtkPLYReader(publicAPI, model) {
494
432
  faceVertexUvs: [],
495
433
  colors: []
496
434
  };
497
- var littleEndian = header.format === PLYFormats.BINARY_LITTLE_ENDIAN;
498
- var arraybuffer = content instanceof ArrayBuffer ? content : content.buffer;
499
- var body = new DataView(arraybuffer, header.headerLength);
500
- var result;
501
- var loc = 0;
502
-
503
- for (var elem = 0; elem < header.elements.length; elem++) {
504
- for (var idx = 0; idx < header.elements[elem].count; idx++) {
435
+ const littleEndian = header.format === PLYFormats.BINARY_LITTLE_ENDIAN;
436
+ const arraybuffer = content instanceof ArrayBuffer ? content : content.buffer;
437
+ const body = new DataView(arraybuffer, header.headerLength);
438
+ let result;
439
+ let loc = 0;
440
+ for (let elem = 0; elem < header.elements.length; elem++) {
441
+ for (let idx = 0; idx < header.elements[elem].count; idx++) {
505
442
  result = binaryReadElement(body, loc, header.elements[elem].properties, littleEndian);
506
443
  loc += result[1];
507
- var element = result[0];
444
+ const element = result[0];
508
445
  handleElement(buffer, header.elements[elem].name, element);
509
446
  }
510
447
  }
448
+ const polydata = postProcess(buffer, header.elements);
511
449
 
512
- var polydata = postProcess(buffer, header.elements); // Add new output
513
-
450
+ // Add new output
514
451
  model.output[0] = polydata;
515
452
  };
516
-
517
- publicAPI.parseAsText = function (content) {
453
+ publicAPI.parseAsText = content => {
518
454
  if (!content) {
519
455
  return;
520
456
  }
521
-
522
457
  if (content !== model.parseData) {
523
458
  publicAPI.modified();
524
459
  } else {
525
460
  return;
526
461
  }
462
+ model.parseData = content;
527
463
 
528
- model.parseData = content; // Header
529
-
530
- var text = BinaryHelper.arrayBufferToString(content);
531
- var header = parseHeader(text); // ascii/binary detection
464
+ // Header
465
+ const text = BinaryHelper.arrayBufferToString(content);
466
+ const header = parseHeader(text);
532
467
 
533
- var isBinary = header.format !== PLYFormats.ASCII; // Check if ascii format
468
+ // ascii/binary detection
469
+ const isBinary = header.format !== PLYFormats.ASCII;
534
470
 
471
+ // Check if ascii format
535
472
  if (isBinary) {
536
473
  publicAPI.parseAsArrayBuffer(content);
537
474
  return;
538
- } // Text parsing
539
-
475
+ }
540
476
 
541
- var buffer = {
477
+ // Text parsing
478
+ const buffer = {
542
479
  indices: [],
543
480
  vertices: [],
544
481
  normals: [],
@@ -546,76 +483,79 @@ function vtkPLYReader(publicAPI, model) {
546
483
  faceVertexUvs: [],
547
484
  colors: []
548
485
  };
549
- var result = patterns.patternBody.exec(text);
550
- var body = '';
551
-
486
+ const result = patterns.patternBody.exec(text);
487
+ let body = '';
552
488
  if (result !== null) {
553
489
  body = result[1];
554
490
  }
555
-
556
- var lines = body.split('\n');
557
- var elem = 0;
558
- var idx = 0;
559
-
560
- for (var i = 0; i < lines.length; i++) {
561
- var line = lines[i];
491
+ const lines = body.split('\n');
492
+ let elem = 0;
493
+ let idx = 0;
494
+ for (let i = 0; i < lines.length; i++) {
495
+ let line = lines[i];
562
496
  line = line.trim();
563
-
564
497
  if (line !== '') {
565
498
  if (idx >= header.elements[elem].count) {
566
499
  elem++;
567
500
  idx = 0;
568
501
  }
569
-
570
- var element = parseElement(header.elements[elem].properties, line);
502
+ const element = parseElement(header.elements[elem].properties, line);
571
503
  handleElement(buffer, header.elements[elem].name, element);
572
504
  idx++;
573
505
  }
574
506
  }
507
+ const polydata = postProcess(buffer, header.elements);
575
508
 
576
- var polydata = postProcess(buffer, header.elements); // Add new output
577
-
509
+ // Add new output
578
510
  model.output[0] = polydata;
579
511
  };
580
-
581
- publicAPI.requestData = function (inData, outData) {
512
+ publicAPI.requestData = (inData, outData) => {
582
513
  publicAPI.parse(model.parseData);
583
514
  };
584
- } // ----------------------------------------------------------------------------
515
+ }
516
+
517
+ // ----------------------------------------------------------------------------
585
518
  // Object factory
586
519
  // ----------------------------------------------------------------------------
587
520
 
588
-
589
- var DEFAULT_VALUES = {// baseURL: null,
521
+ const DEFAULT_VALUES = {
522
+ // baseURL: null,
590
523
  // dataAccessHelper: null,
591
524
  // url: null,
592
- }; // ----------------------------------------------------------------------------
525
+ };
526
+
527
+ // ----------------------------------------------------------------------------
593
528
 
594
529
  function extend(publicAPI, model) {
595
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
596
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
530
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
531
+ Object.assign(model, DEFAULT_VALUES, initialValues);
597
532
 
533
+ // Build VTK API
598
534
  macro.obj(publicAPI, model);
599
535
  macro.get(publicAPI, model, ['url', 'baseURL']);
600
536
  macro.setGet(publicAPI, model, ['dataAccessHelper']);
601
- macro.algo(publicAPI, model, 0, 1); // vtkPLYReader methods
537
+ macro.algo(publicAPI, model, 0, 1);
602
538
 
603
- vtkPLYReader(publicAPI, model); // To support destructuring
539
+ // vtkPLYReader methods
540
+ vtkPLYReader(publicAPI, model);
604
541
 
542
+ // To support destructuring
605
543
  if (!model.compression) {
606
544
  model.compression = null;
607
545
  }
608
-
609
546
  if (!model.progressCallback) {
610
547
  model.progressCallback = null;
611
548
  }
612
- } // ----------------------------------------------------------------------------
549
+ }
550
+ // ----------------------------------------------------------------------------
551
+
552
+ const newInstance = macro.newInstance(extend, 'vtkPLYReader');
613
553
 
614
- var newInstance = macro.newInstance(extend, 'vtkPLYReader'); // ----------------------------------------------------------------------------
554
+ // ----------------------------------------------------------------------------
615
555
 
616
556
  var vtkPLYReader$1 = {
617
- extend: extend,
618
- newInstance: newInstance
557
+ extend,
558
+ newInstance
619
559
  };
620
560
 
621
561
  export { vtkPLYReader$1 as default, extend, newInstance };