@kitware/vtk.js 28.10.2 → 28.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +193 -277
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/README.md +1 -1
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +85 -144
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +192 -256
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +443 -608
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,27 +1,26 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
4
2
  import DataAccessHelper from '../Core/DataAccessHelper.js';
5
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
6
4
  import vtkPolyData from '../../Common/DataModel/PolyData.js';
7
5
  import '../Core/DataAccessHelper/LiteHttpDataAccessHelper.js';
8
6
 
9
- 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; }
10
-
11
- 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; }
12
7
  // import 'vtk.js/Sources/IO/Core/DataAccessHelper/HttpDataAccessHelper'; // HTTP + gz
13
8
  // import 'vtk.js/Sources/IO/Core/DataAccessHelper/HtmlDataAccessHelper'; // html + base64 + zip
14
9
  // import 'vtk.js/Sources/IO/Core/DataAccessHelper/JSZipDataAccessHelper'; // zip
10
+
15
11
  // ----------------------------------------------------------------------------
16
12
 
17
- var data = {}; // ----------------------------------------------------------------------------
13
+ const data = {};
14
+
15
+ // ----------------------------------------------------------------------------
18
16
 
19
17
  function copyVector(src, srcOffset, dst, dstOffset, vectorSize) {
20
- for (var i = 0; i < vectorSize; i++) {
18
+ for (let i = 0; i < vectorSize; i++) {
21
19
  dst[dstOffset + i] = src[srcOffset + i];
22
20
  }
23
- } // ----------------------------------------------------------------------------
21
+ }
24
22
 
23
+ // ----------------------------------------------------------------------------
25
24
 
26
25
  function begin(splitMode) {
27
26
  data.splitOn = splitMode;
@@ -31,27 +30,25 @@ function begin(splitMode) {
31
30
  data.vn = [];
32
31
  data.f = [[]];
33
32
  data.size = 0;
34
- } // ----------------------------------------------------------------------------
33
+ }
35
34
 
35
+ // ----------------------------------------------------------------------------
36
36
 
37
37
  function faceMap(str) {
38
- var idxs = str.split('/').map(function (i) {
39
- return Number(i);
40
- });
41
- var vertexIdx = idxs[0] - 1;
42
- var textCoordIdx = idxs[1] ? idxs[1] - 1 : vertexIdx;
43
- var vertexNormal = idxs[2] ? idxs[2] - 1 : vertexIdx;
38
+ const idxs = str.split('/').map(i => Number(i));
39
+ const vertexIdx = idxs[0] - 1;
40
+ const textCoordIdx = idxs[1] ? idxs[1] - 1 : vertexIdx;
41
+ const vertexNormal = idxs[2] ? idxs[2] - 1 : vertexIdx;
44
42
  return [vertexIdx, textCoordIdx, vertexNormal];
45
- } // ----------------------------------------------------------------------------
43
+ }
46
44
 
45
+ // ----------------------------------------------------------------------------
47
46
 
48
47
  function parseLine(line) {
49
48
  if (line[0] === '#') {
50
49
  return;
51
50
  }
52
-
53
- var tokens = line.split(/[ \t]+/);
54
-
51
+ const tokens = line.split(/[ \t]+/);
55
52
  if (tokens[0] === data.splitOn) {
56
53
  tokens.shift();
57
54
  data.pieces.push(tokens.join(' ').trim());
@@ -73,228 +70,178 @@ function parseLine(line) {
73
70
  if (data.size === 0) {
74
71
  data.size++;
75
72
  }
76
-
77
- var cells = data.f[data.size - 1];
73
+ const cells = data.f[data.size - 1];
78
74
  tokens.shift();
79
- var faces = tokens.filter(function (s) {
80
- return s.length > 0 && s !== '\r';
81
- });
82
- var size = faces.length;
75
+ const faces = tokens.filter(s => s.length > 0 && s !== '\r');
76
+ const size = faces.length;
83
77
  cells.push(size);
84
-
85
- for (var i = 0; i < size; i++) {
78
+ for (let i = 0; i < size; i++) {
86
79
  cells.push(faceMap(faces[i]));
87
80
  }
88
81
  }
89
- } // ----------------------------------------------------------------------------
82
+ }
90
83
 
84
+ // ----------------------------------------------------------------------------
91
85
 
92
86
  function end(model) {
93
- var hasTcoords = !!data.vt.length;
94
- var hasNormals = !!data.vn.length;
95
-
87
+ const hasTcoords = !!data.vt.length;
88
+ const hasNormals = !!data.vn.length;
96
89
  if (model.splitMode) {
97
90
  model.numberOfOutputs = data.size;
98
-
99
- for (var idx = 0; idx < data.size; idx++) {
100
- var polyIn = data.f[idx];
101
- var nbElems = polyIn.length;
102
- var nbPoints = data.v.length / 3;
103
- var keyPointId = {};
104
- var pointDuplicatesReferences = void 0;
105
-
91
+ for (let idx = 0; idx < data.size; idx++) {
92
+ const polyIn = data.f[idx];
93
+ const nbElems = polyIn.length;
94
+ const nbPoints = data.v.length / 3;
95
+ const keyPointId = {};
96
+ let pointDuplicatesReferences;
106
97
  if (model.trackDuplicates) {
107
98
  // In trackDuplicates mode, we want the following point layout:
108
99
  // [pt0, pt1, pt2, ... ptN, pt0d1, pt0d2, pt1d1]
109
- var pointKeys = [];
110
- var duplicatesCount = 0;
111
-
112
- for (var _offset = 0; _offset < nbElems;) {
113
- var cellSize = polyIn[_offset++];
114
-
115
- for (var pIdx = 0; pIdx < cellSize; pIdx++) {
116
- var _polyIn$_offset = _slicedToArray(polyIn[_offset++], 3),
117
- vIdx = _polyIn$_offset[0],
118
- tcIdx = _polyIn$_offset[1],
119
- nIdx = _polyIn$_offset[2];
120
-
121
- var key = "".concat(vIdx, "/").concat(tcIdx, "/").concat(nIdx);
122
-
100
+ const pointKeys = [];
101
+ let duplicatesCount = 0;
102
+ for (let offset = 0; offset < nbElems;) {
103
+ const cellSize = polyIn[offset++];
104
+ for (let pIdx = 0; pIdx < cellSize; pIdx++) {
105
+ const [vIdx, tcIdx, nIdx] = polyIn[offset++];
106
+ const key = `${vIdx}/${tcIdx}/${nIdx}`;
123
107
  if (keyPointId[key] === undefined) {
124
108
  if (pointKeys[vIdx] === undefined) {
125
109
  pointKeys[vIdx] = [key];
126
110
  } else {
127
111
  pointKeys[vIdx].push(key);
128
112
  ++duplicatesCount;
129
- } // will be overwritten for duplicates
130
-
131
-
113
+ }
114
+ // will be overwritten for duplicates
132
115
  keyPointId[key] = vIdx;
133
116
  }
134
117
  }
135
118
  }
136
-
137
119
  pointDuplicatesReferences = new Uint16Array(nbPoints + duplicatesCount);
138
- var duplicates = 0;
139
-
140
- for (var pointId = 0; pointId < pointKeys.length; ++pointId) {
141
- var usageCount = pointKeys[pointId] ? pointKeys[pointId].length : 0; // Set the first duplicate index on the original point
142
-
143
- pointDuplicatesReferences[pointId] = usageCount > 1 ? nbPoints + duplicates : pointId; // Set the original index on each duplicated point
144
-
145
- for (var duplicateId = 1; duplicateId < usageCount; ++duplicateId) {
146
- var finalDuplicateId = nbPoints + duplicates++;
147
- pointDuplicatesReferences[finalDuplicateId] = pointId; // Associate the duplicate index to the key
148
-
120
+ let duplicates = 0;
121
+ for (let pointId = 0; pointId < pointKeys.length; ++pointId) {
122
+ const usageCount = pointKeys[pointId] ? pointKeys[pointId].length : 0;
123
+ // Set the first duplicate index on the original point
124
+ pointDuplicatesReferences[pointId] = usageCount > 1 ? nbPoints + duplicates : pointId;
125
+ // Set the original index on each duplicated point
126
+ for (let duplicateId = 1; duplicateId < usageCount; ++duplicateId) {
127
+ const finalDuplicateId = nbPoints + duplicates++;
128
+ pointDuplicatesReferences[finalDuplicateId] = pointId;
129
+ // Associate the duplicate index to the key
149
130
  keyPointId[pointKeys[pointId][duplicateId]] = finalDuplicateId;
150
131
  }
151
132
  }
152
133
  }
153
-
154
- var ctMapping = {};
155
- var polydata = vtkPolyData.newInstance({
134
+ const ctMapping = {};
135
+ const polydata = vtkPolyData.newInstance({
156
136
  name: data.pieces[idx]
157
137
  });
158
- var pts = [];
159
- var tc = [];
160
- var normals = [];
161
- var polys = [];
162
- var offset = 0;
163
-
138
+ const pts = [];
139
+ const tc = [];
140
+ const normals = [];
141
+ const polys = [];
142
+ let offset = 0;
164
143
  while (offset < nbElems) {
165
- var _cellSize = polyIn[offset];
166
- polys.push(_cellSize);
167
-
168
- for (var _pIdx = 0; _pIdx < _cellSize; _pIdx++) {
169
- var _polyIn = _slicedToArray(polyIn[offset + _pIdx + 1], 3),
170
- _vIdx = _polyIn[0],
171
- _tcIdx = _polyIn[1],
172
- _nIdx = _polyIn[2];
173
-
174
- var _key = "".concat(_vIdx, "/").concat(_tcIdx, "/").concat(_nIdx);
175
-
176
- if (ctMapping[_key] === undefined) {
177
- var dstOffset = model.trackDuplicates ? keyPointId[_key] : pts.length / 3;
178
- ctMapping[_key] = dstOffset;
179
- copyVector(data.v, _vIdx * 3, pts, dstOffset * 3, 3);
180
-
144
+ const cellSize = polyIn[offset];
145
+ polys.push(cellSize);
146
+ for (let pIdx = 0; pIdx < cellSize; pIdx++) {
147
+ const [vIdx, tcIdx, nIdx] = polyIn[offset + pIdx + 1];
148
+ const key = `${vIdx}/${tcIdx}/${nIdx}`;
149
+ if (ctMapping[key] === undefined) {
150
+ const dstOffset = model.trackDuplicates ? keyPointId[key] : pts.length / 3;
151
+ ctMapping[key] = dstOffset;
152
+ copyVector(data.v, vIdx * 3, pts, dstOffset * 3, 3);
181
153
  if (hasTcoords) {
182
- copyVector(data.vt, _tcIdx * 2, tc, dstOffset * 2, 2);
154
+ copyVector(data.vt, tcIdx * 2, tc, dstOffset * 2, 2);
183
155
  }
184
-
185
156
  if (hasNormals) {
186
- copyVector(data.vn, _nIdx * 3, normals, dstOffset * 3, 3);
157
+ copyVector(data.vn, nIdx * 3, normals, dstOffset * 3, 3);
187
158
  }
188
159
  }
189
-
190
- polys.push(ctMapping[_key]);
160
+ polys.push(ctMapping[key]);
191
161
  }
192
-
193
- offset += _cellSize + 1;
162
+ offset += cellSize + 1;
194
163
  }
195
-
196
164
  polydata.getPoints().setData(Float32Array.from(pts), 3);
197
-
198
165
  if (model.trackDuplicates) {
199
- var duplicatesArray = vtkDataArray.newInstance({
166
+ const duplicatesArray = vtkDataArray.newInstance({
200
167
  name: 'Duplicates',
201
168
  values: pointDuplicatesReferences
202
169
  });
203
170
  polydata.getPointData().addArray(duplicatesArray);
204
171
  }
205
-
206
172
  polydata.getPolys().setData(Uint32Array.from(polys));
207
-
208
173
  if (hasTcoords) {
209
- var tcoords = vtkDataArray.newInstance({
174
+ const tcoords = vtkDataArray.newInstance({
210
175
  numberOfComponents: 2,
211
176
  values: Float32Array.from(tc),
212
177
  name: 'TextureCoordinates'
213
178
  });
214
179
  polydata.getPointData().setTCoords(tcoords);
215
180
  }
216
-
217
181
  if (hasNormals) {
218
- var normalsArray = vtkDataArray.newInstance({
182
+ const normalsArray = vtkDataArray.newInstance({
219
183
  numberOfComponents: 3,
220
184
  values: Float32Array.from(normals),
221
185
  name: 'Normals'
222
186
  });
223
187
  polydata.getPointData().setNormals(normalsArray);
224
- } // register in output
225
-
188
+ }
226
189
 
190
+ // register in output
227
191
  model.output[idx] = polydata;
228
192
  }
229
193
  } else {
230
194
  model.numberOfOutputs = 1;
231
-
232
- var _polydata = vtkPolyData.newInstance();
233
-
234
- _polydata.getPoints().setData(Float32Array.from(data.v), 3);
235
-
195
+ const polydata = vtkPolyData.newInstance();
196
+ polydata.getPoints().setData(Float32Array.from(data.v), 3);
236
197
  if (hasTcoords && data.v.length / 3 === data.vt.length / 2) {
237
- var _tcoords = vtkDataArray.newInstance({
198
+ const tcoords = vtkDataArray.newInstance({
238
199
  numberOfComponents: 2,
239
200
  values: Float32Array.from(data.vt),
240
201
  name: 'TextureCoordinates'
241
202
  });
242
-
243
- _polydata.getPointData().setTCoords(_tcoords);
203
+ polydata.getPointData().setTCoords(tcoords);
244
204
  }
245
-
246
205
  if (hasNormals && data.v.length === data.vn.length) {
247
- var _normalsArray = vtkDataArray.newInstance({
206
+ const normalsArray = vtkDataArray.newInstance({
248
207
  numberOfComponents: 3,
249
208
  values: Float32Array.from(data.vn),
250
209
  name: 'Normals'
251
210
  });
252
-
253
- _polydata.getPointData().setNormals(_normalsArray);
211
+ polydata.getPointData().setNormals(normalsArray);
254
212
  }
255
-
256
- var _polys = [];
257
- var _polyIn2 = data.f[0];
258
- var _nbElems = _polyIn2.length;
259
- var _offset2 = 0;
260
-
261
- while (_offset2 < _nbElems) {
262
- var _cellSize2 = _polyIn2[_offset2];
263
-
264
- _polys.push(_cellSize2);
265
-
266
- for (var _pIdx2 = 0; _pIdx2 < _cellSize2; _pIdx2++) {
267
- var _polyIn3 = _slicedToArray(_polyIn2[_offset2 + _pIdx2 + 1], 1),
268
- _vIdx2 = _polyIn3[0];
269
-
270
- _polys.push(_vIdx2);
213
+ const polys = [];
214
+ const polyIn = data.f[0];
215
+ const nbElems = polyIn.length;
216
+ let offset = 0;
217
+ while (offset < nbElems) {
218
+ const cellSize = polyIn[offset];
219
+ polys.push(cellSize);
220
+ for (let pIdx = 0; pIdx < cellSize; pIdx++) {
221
+ const [vIdx] = polyIn[offset + pIdx + 1];
222
+ polys.push(vIdx);
271
223
  }
272
-
273
- _offset2 += _cellSize2 + 1;
224
+ offset += cellSize + 1;
274
225
  }
275
-
276
- _polydata.getPolys().setData(Uint32Array.from(_polys));
277
-
278
- model.output[0] = _polydata;
226
+ polydata.getPolys().setData(Uint32Array.from(polys));
227
+ model.output[0] = polydata;
279
228
  }
280
- } // ----------------------------------------------------------------------------
229
+ }
230
+
231
+ // ----------------------------------------------------------------------------
281
232
  // Static API
282
233
  // ----------------------------------------------------------------------------
283
234
 
284
-
285
235
  function getPointDuplicateIds(polyData, pointId) {
286
- var res = [];
287
- var duplicates = polyData.getPointData().getArrayByName('Duplicates');
288
-
236
+ const res = [];
237
+ const duplicates = polyData.getPointData().getArrayByName('Duplicates');
289
238
  if (duplicates == null) {
290
239
  return res;
291
240
  }
292
-
293
- var duplicatesData = duplicates.getData();
294
- var originalPointId = Math.min(pointId, duplicatesData[pointId]);
241
+ const duplicatesData = duplicates.getData();
242
+ const originalPointId = Math.min(pointId, duplicatesData[pointId]);
295
243
  res.push(originalPointId);
296
- var duplicateId = duplicatesData[originalPointId];
297
-
244
+ let duplicateId = duplicatesData[originalPointId];
298
245
  if (duplicateId !== originalPointId) {
299
246
  // point has duplicates
300
247
  while (duplicateId < duplicatesData.length && duplicatesData[duplicateId] === originalPointId) {
@@ -303,66 +250,62 @@ function getPointDuplicateIds(polyData, pointId) {
303
250
  res.push(duplicateId++);
304
251
  }
305
252
  }
306
-
307
253
  return res;
308
254
  }
255
+ const STATIC = {
256
+ getPointDuplicateIds
257
+ };
309
258
 
310
- var STATIC = {
311
- getPointDuplicateIds: getPointDuplicateIds
312
- }; // ----------------------------------------------------------------------------
259
+ // ----------------------------------------------------------------------------
313
260
  // vtkOBJReader methods
314
261
  // ----------------------------------------------------------------------------
315
262
 
316
263
  function vtkOBJReader(publicAPI, model) {
317
264
  // Set our className
318
- model.classHierarchy.push('vtkOBJReader'); // Create default dataAccessHelper if not available
265
+ model.classHierarchy.push('vtkOBJReader');
319
266
 
267
+ // Create default dataAccessHelper if not available
320
268
  if (!model.dataAccessHelper) {
321
269
  model.dataAccessHelper = DataAccessHelper.get('http');
322
- } // Internal method to fetch Array
323
-
270
+ }
324
271
 
272
+ // Internal method to fetch Array
325
273
  function fetchData(url) {
326
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
274
+ let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
327
275
  return model.dataAccessHelper.fetchText(publicAPI, url, option);
328
- } // Set DataSet url
329
-
276
+ }
330
277
 
278
+ // Set DataSet url
331
279
  publicAPI.setUrl = function (url) {
332
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
333
-
280
+ let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
334
281
  if (url.indexOf('.obj') === -1 && !option.fullpath) {
335
282
  model.baseURL = url;
336
- model.url = "".concat(url, "/index.obj");
283
+ model.url = `${url}/index.obj`;
337
284
  } else {
338
- model.url = url; // Remove the file in the URL
285
+ model.url = url;
339
286
 
340
- var path = url.split('/');
287
+ // Remove the file in the URL
288
+ const path = url.split('/');
341
289
  path.pop();
342
290
  model.baseURL = path.join('/');
343
- } // Fetch metadata
344
-
291
+ }
345
292
 
293
+ // Fetch metadata
346
294
  return publicAPI.loadData(option);
347
- }; // Fetch the actual data arrays
348
-
295
+ };
349
296
 
297
+ // Fetch the actual data arrays
350
298
  publicAPI.loadData = function () {
351
- var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
352
- return fetchData(model.url, option).then(function (content) {
353
- return publicAPI.isDeleted() ? false : publicAPI.parseAsText(content);
354
- });
299
+ let option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
300
+ return fetchData(model.url, option).then(content => publicAPI.isDeleted() ? false : publicAPI.parseAsText(content));
355
301
  };
356
-
357
- publicAPI.parseAsText = function (content) {
302
+ publicAPI.parseAsText = content => {
358
303
  if (!content) {
359
304
  return true;
360
305
  }
361
-
362
306
  if (content !== model.parseData) {
363
307
  publicAPI.modified();
364
308
  }
365
-
366
309
  model.parseData = content;
367
310
  model.numberOfOutputs = 0;
368
311
  begin(model.splitMode);
@@ -370,52 +313,56 @@ function vtkOBJReader(publicAPI, model) {
370
313
  end(model);
371
314
  return true;
372
315
  };
373
-
374
- publicAPI.requestData = function (inData, outData) {
316
+ publicAPI.requestData = (inData, outData) => {
375
317
  publicAPI.parseAsText(model.parseData);
376
- }; // return Busy state
377
-
378
-
379
- publicAPI.isBusy = function () {
380
- return !!model.requestCount;
381
318
  };
382
319
 
383
- publicAPI.getNumberOfOutputPorts = function () {
384
- return model.numberOfOutputs;
385
- };
386
- } // ----------------------------------------------------------------------------
320
+ // return Busy state
321
+ publicAPI.isBusy = () => !!model.requestCount;
322
+ publicAPI.getNumberOfOutputPorts = () => model.numberOfOutputs;
323
+ }
324
+
325
+ // ----------------------------------------------------------------------------
387
326
  // Object factory
388
327
  // ----------------------------------------------------------------------------
389
328
 
390
-
391
- var DEFAULT_VALUES = {
329
+ const DEFAULT_VALUES = {
392
330
  numberOfOutputs: 1,
393
331
  requestCount: 0,
394
332
  splitMode: null,
395
- trackDuplicates: false // baseURL: null,
333
+ trackDuplicates: false
334
+ // baseURL: null,
396
335
  // dataAccessHelper: null,
397
336
  // url: null,
337
+ };
398
338
 
399
- }; // ----------------------------------------------------------------------------
339
+ // ----------------------------------------------------------------------------
400
340
 
401
341
  function extend(publicAPI, model) {
402
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
403
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
342
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
343
+ Object.assign(model, DEFAULT_VALUES, initialValues);
404
344
 
345
+ // Build VTK API
405
346
  macro.obj(publicAPI, model);
406
347
  macro.get(publicAPI, model, ['url', 'baseURL']);
407
348
  macro.setGet(publicAPI, model, ['dataAccessHelper', 'splitMode', 'trackDuplicates']);
408
349
  macro.algo(publicAPI, model, 0, 1);
409
- macro.event(publicAPI, model, 'busy'); // Object methods
350
+ macro.event(publicAPI, model, 'busy');
410
351
 
352
+ // Object methods
411
353
  vtkOBJReader(publicAPI, model);
412
- } // ----------------------------------------------------------------------------
354
+ }
355
+
356
+ // ----------------------------------------------------------------------------
413
357
 
414
- var newInstance = macro.newInstance(extend, 'vtkOBJReader'); // ----------------------------------------------------------------------------
358
+ const newInstance = macro.newInstance(extend, 'vtkOBJReader');
359
+
360
+ // ----------------------------------------------------------------------------
415
361
 
416
- var vtkOBJReader$1 = _objectSpread({
417
- newInstance: newInstance,
418
- extend: extend
419
- }, STATIC);
362
+ var vtkOBJReader$1 = {
363
+ newInstance,
364
+ extend,
365
+ ...STATIC
366
+ };
420
367
 
421
368
  export { STATIC, vtkOBJReader$1 as default, extend, newInstance };