@kitware/vtk.js 20.1.4 → 20.2.3

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 (314) hide show
  1. package/Common/Core/Base64.d.ts +14 -2
  2. package/Common/Core/Base64.js +31 -2
  3. package/Common/Core/Math/index.js +1 -1
  4. package/Common/Core/Math.d.ts +168 -158
  5. package/Common/Core/Math.js +1 -1
  6. package/Common/Core/MatrixBuilder.js +39 -41
  7. package/Common/DataModel/Box.d.ts +73 -0
  8. package/Common/DataModel/ImageData.js +12 -14
  9. package/Common/Transform/LandmarkTransform.js +6 -7
  10. package/Filters/General/PaintFilter/PaintFilter.worker.js +8 -8
  11. package/Filters/General/PaintFilter.js +11 -11
  12. package/Filters/Sources/CubeSource.d.ts +7 -6
  13. package/Filters/Sources/PlaneSource.js +12 -13
  14. package/IO/Core/BinaryHelper.js +2 -4
  15. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +1 -1
  16. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +1 -1
  17. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +2 -2
  18. package/IO/Core/ZipMultiDataSetReader.js +1 -1
  19. package/IO/Core/ZipMultiDataSetWriter.js +1 -1
  20. package/IO/Geometry/STLWriter.js +4 -4
  21. package/IO/Misc/OBJReader.d.ts +9 -8
  22. package/IO/Misc/SkyboxReader.js +1 -1
  23. package/IO/XML/XMLReader.js +3 -4
  24. package/IO/XML/XMLWriter.js +5 -6
  25. package/Imaging/Core/ImageReslice.js +18 -19
  26. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +27 -28
  27. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +8 -9
  28. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +14 -15
  29. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +12 -13
  30. package/Interaction/Widgets/ImageCroppingRegionsWidget.js +5 -6
  31. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +1 -1
  32. package/Interaction/Widgets/PiecewiseGaussianWidget.js +2 -2
  33. package/Interaction/Widgets/ResliceCursor/ResliceCursorRepresentation.js +8 -9
  34. package/Rendering/Core/Actor.js +3 -4
  35. package/Rendering/Core/AnnotatedCubeActor.d.ts +5 -6
  36. package/Rendering/Core/Camera.js +81 -84
  37. package/Rendering/Core/CellPicker.js +2 -2
  38. package/Rendering/Core/CubeAxesActor.js +37 -34
  39. package/Rendering/Core/Follower.js +20 -21
  40. package/Rendering/Core/Glyph3DMapper.js +30 -32
  41. package/Rendering/Core/ImageMapper.js +2 -2
  42. package/Rendering/Core/ImageSlice.js +5 -6
  43. package/Rendering/Core/Picker.d.ts +5 -5
  44. package/Rendering/Core/Picker.js +5 -6
  45. package/Rendering/Core/PixelSpaceCallbackMapper.js +3 -4
  46. package/Rendering/Core/Prop3D.js +24 -25
  47. package/Rendering/Core/Renderer.js +11 -12
  48. package/Rendering/Core/ScalarBarActor.js +37 -34
  49. package/Rendering/Core/Volume.js +3 -4
  50. package/Rendering/OpenGL/Actor.js +9 -10
  51. package/Rendering/OpenGL/Camera.js +8 -9
  52. package/Rendering/OpenGL/CellArrayBufferObject.js +6 -8
  53. package/Rendering/OpenGL/Glyph3DMapper.js +8 -9
  54. package/Rendering/OpenGL/ImageMapper.js +7 -7
  55. package/Rendering/OpenGL/ImageSlice.js +4 -4
  56. package/Rendering/OpenGL/PolyDataMapper.js +11 -13
  57. package/Rendering/OpenGL/RenderWindow.d.ts +21 -35
  58. package/Rendering/OpenGL/ShaderCache.js +1 -1
  59. package/Rendering/OpenGL/Skybox.js +4 -5
  60. package/Rendering/OpenGL/SphereMapper.js +2 -2
  61. package/Rendering/OpenGL/StickMapper.js +3 -4
  62. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +1 -1
  63. package/Rendering/OpenGL/Volume.js +6 -7
  64. package/Rendering/OpenGL/VolumeMapper.js +47 -49
  65. package/Rendering/OpenGL/glsl/vtkPolyDataFS.glsl.js +1 -1
  66. package/Rendering/WebGPU/Actor.js +8 -8
  67. package/Rendering/WebGPU/Camera.js +8 -8
  68. package/Rendering/WebGPU/ImageMapper.js +18 -19
  69. package/Rendering/WebGPU/ImageSlice.js +9 -9
  70. package/Rendering/WebGPU/PolyDataMapper.js +3 -4
  71. package/Rendering/WebGPU/Renderer.js +6 -7
  72. package/Rendering/WebGPU/Volume.js +3 -3
  73. package/Rendering/WebGPU/VolumePassFSQ.js +10 -10
  74. package/ThirdParty/index.js +2 -2
  75. package/Widgets/Manipulators/TrackballManipulator.js +5 -6
  76. package/Widgets/Representations/ArrowHandleRepresentation.js +10 -12
  77. package/Widgets/Representations/CircleContextRepresentation.js +4 -5
  78. package/Widgets/Representations/RectangleContextRepresentation.js +3 -3
  79. package/Widgets/Widgets3D/EllipseWidget/behavior.js +5 -5
  80. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +6 -8
  81. package/Widgets/Widgets3D/PaintWidget/behavior.js +2 -2
  82. package/Widgets/Widgets3D/ResliceCursorWidget.js +6 -7
  83. package/Widgets/Widgets3D/ShapeWidget/behavior.js +10 -10
  84. package/Widgets/Widgets3D/SplineWidget/behavior.js +5 -5
  85. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +1 -1
  86. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +1 -1
  87. package/package.json +2 -2
  88. package/types.d.ts +1 -0
  89. package/vtk.js +2 -2
  90. package/_vendor/base64-js/index.js_commonjs-exports.js +0 -1
  91. package/_vendor/blueimp-md5/js/md5.js_commonjs-module.js +0 -3
  92. package/_vendor/define-properties/index.js_commonjs-proxy.js +0 -1
  93. package/_vendor/globalthis/implementation.browser.js_commonjs-module.js +0 -3
  94. package/_vendor/globalthis/implementation.browser.js_commonjs-proxy.js +0 -1
  95. package/_vendor/globalthis/polyfill.js_commonjs-proxy.js +0 -1
  96. package/_vendor/globalthis/shim.js_commonjs-proxy.js +0 -2
  97. package/_vendor/jszip/dist/jszip.min.js_commonjs-module.js +0 -3
  98. package/_vendor/object-keys/implementation.js_commonjs-proxy.js +0 -1
  99. package/_vendor/object-keys/index.js_commonjs-proxy.js +0 -1
  100. package/_vendor/object-keys/isArguments.js_commonjs-proxy.js +0 -1
  101. package/_vendor/seedrandom/lib/alea.js_commonjs-module.js +0 -3
  102. package/_vendor/seedrandom/lib/alea.js_commonjs-proxy.js +0 -1
  103. package/_vendor/seedrandom/lib/tychei.js_commonjs-module.js +0 -3
  104. package/_vendor/seedrandom/lib/tychei.js_commonjs-proxy.js +0 -1
  105. package/_vendor/seedrandom/lib/xor128.js_commonjs-module.js +0 -3
  106. package/_vendor/seedrandom/lib/xor128.js_commonjs-proxy.js +0 -1
  107. package/_vendor/seedrandom/lib/xor4096.js_commonjs-module.js +0 -3
  108. package/_vendor/seedrandom/lib/xor4096.js_commonjs-proxy.js +0 -1
  109. package/_vendor/seedrandom/lib/xorshift7.js_commonjs-module.js +0 -3
  110. package/_vendor/seedrandom/lib/xorshift7.js_commonjs-proxy.js +0 -1
  111. package/_vendor/seedrandom/lib/xorwow.js_commonjs-module.js +0 -3
  112. package/_vendor/seedrandom/lib/xorwow.js_commonjs-proxy.js +0 -1
  113. package/_vendor/seedrandom/seedrandom.js_commonjs-module.js +0 -3
  114. package/_vendor/seedrandom/seedrandom.js_commonjs-proxy.js +0 -1
  115. package/_vendor/webworker-promise/lib/register.js_commonjs-module.js +0 -3
  116. package/_vendor/webworker-promise/lib/tiny-emitter.js_commonjs-proxy.js +0 -1
  117. package/_vendor/webworker-promise/src/tiny-emitter.js_commonjs-proxy.js +0 -1
  118. package/_vendor/xmlbuilder2/lib/xmlbuilder2.min.js_commonjs-module.js +0 -3
  119. package/_virtual/_rollup_plugin_ignore_empty_module_placeholder_commonjs-proxy.js +0 -6
  120. package/_virtual/commonjsHelpers.js +0 -22
  121. package/_virtual/polyfill-node.buffer.js +0 -1971
  122. package/_virtual/polyfill-node.global.js +0 -5
  123. package/_virtual/rollup_plugin_ignore_empty_module_placeholder.js +0 -8
  124. package/vendor/base64-js/index.js +0 -72
  125. package/vendor/blueimp-md5/js/md5.js +0 -402
  126. package/vendor/d3-array/src/array.js +0 -1
  127. package/vendor/d3-array/src/ascending.js +0 -5
  128. package/vendor/d3-array/src/bin.js +0 -1
  129. package/vendor/d3-array/src/bisect.js +0 -10
  130. package/vendor/d3-array/src/bisector.js +0 -46
  131. package/vendor/d3-array/src/constant.js +0 -1
  132. package/vendor/d3-array/src/count.js +0 -1
  133. package/vendor/d3-array/src/cross.js +0 -1
  134. package/vendor/d3-array/src/cumsum.js +0 -1
  135. package/vendor/d3-array/src/descending.js +0 -1
  136. package/vendor/d3-array/src/deviation.js +0 -1
  137. package/vendor/d3-array/src/difference.js +0 -1
  138. package/vendor/d3-array/src/disjoint.js +0 -1
  139. package/vendor/d3-array/src/every.js +0 -1
  140. package/vendor/d3-array/src/extent.js +0 -1
  141. package/vendor/d3-array/src/filter.js +0 -1
  142. package/vendor/d3-array/src/fsum.js +0 -1
  143. package/vendor/d3-array/src/greatest.js +0 -1
  144. package/vendor/d3-array/src/greatestIndex.js +0 -1
  145. package/vendor/d3-array/src/group.js +0 -1
  146. package/vendor/d3-array/src/groupSort.js +0 -1
  147. package/vendor/d3-array/src/identity.js +0 -1
  148. package/vendor/d3-array/src/index.js +0 -1
  149. package/vendor/d3-array/src/intersection.js +0 -1
  150. package/vendor/d3-array/src/least.js +0 -1
  151. package/vendor/d3-array/src/leastIndex.js +0 -1
  152. package/vendor/d3-array/src/map.js +0 -1
  153. package/vendor/d3-array/src/max.js +0 -1
  154. package/vendor/d3-array/src/maxIndex.js +0 -1
  155. package/vendor/d3-array/src/mean.js +0 -1
  156. package/vendor/d3-array/src/median.js +0 -1
  157. package/vendor/d3-array/src/merge.js +0 -1
  158. package/vendor/d3-array/src/min.js +0 -1
  159. package/vendor/d3-array/src/minIndex.js +0 -1
  160. package/vendor/d3-array/src/mode.js +0 -1
  161. package/vendor/d3-array/src/nice.js +0 -1
  162. package/vendor/d3-array/src/number.js +0 -5
  163. package/vendor/d3-array/src/pairs.js +0 -1
  164. package/vendor/d3-array/src/permute.js +0 -1
  165. package/vendor/d3-array/src/quantile.js +0 -1
  166. package/vendor/d3-array/src/quickselect.js +0 -1
  167. package/vendor/d3-array/src/range.js +0 -1
  168. package/vendor/d3-array/src/reduce.js +0 -1
  169. package/vendor/d3-array/src/reverse.js +0 -1
  170. package/vendor/d3-array/src/scan.js +0 -1
  171. package/vendor/d3-array/src/set.js +0 -1
  172. package/vendor/d3-array/src/shuffle.js +0 -1
  173. package/vendor/d3-array/src/some.js +0 -1
  174. package/vendor/d3-array/src/sort.js +0 -1
  175. package/vendor/d3-array/src/subset.js +0 -1
  176. package/vendor/d3-array/src/sum.js +0 -1
  177. package/vendor/d3-array/src/superset.js +0 -1
  178. package/vendor/d3-array/src/threshold/freedmanDiaconis.js +0 -1
  179. package/vendor/d3-array/src/threshold/scott.js +0 -1
  180. package/vendor/d3-array/src/threshold/sturges.js +0 -1
  181. package/vendor/d3-array/src/ticks.js +0 -56
  182. package/vendor/d3-array/src/transpose.js +0 -1
  183. package/vendor/d3-array/src/union.js +0 -1
  184. package/vendor/d3-array/src/variance.js +0 -1
  185. package/vendor/d3-array/src/zip.js +0 -1
  186. package/vendor/d3-color/src/color.js +0 -373
  187. package/vendor/d3-color/src/cubehelix.js +0 -1
  188. package/vendor/d3-color/src/define.js +0 -12
  189. package/vendor/d3-color/src/index.js +0 -1
  190. package/vendor/d3-color/src/lab.js +0 -1
  191. package/vendor/d3-color/src/math.js +0 -1
  192. package/vendor/d3-format/src/defaultLocale.js +0 -20
  193. package/vendor/d3-format/src/exponent.js +0 -7
  194. package/vendor/d3-format/src/formatDecimal.js +0 -22
  195. package/vendor/d3-format/src/formatGroup.js +0 -20
  196. package/vendor/d3-format/src/formatNumerals.js +0 -9
  197. package/vendor/d3-format/src/formatPrefixAuto.js +0 -18
  198. package/vendor/d3-format/src/formatRounded.js +0 -13
  199. package/vendor/d3-format/src/formatSpecifier.js +0 -49
  200. package/vendor/d3-format/src/formatTrim.js +0 -13
  201. package/vendor/d3-format/src/formatTypes.js +0 -21
  202. package/vendor/d3-format/src/identity.js +0 -5
  203. package/vendor/d3-format/src/index.js +0 -1
  204. package/vendor/d3-format/src/locale.js +0 -150
  205. package/vendor/d3-format/src/precisionFixed.js +0 -7
  206. package/vendor/d3-format/src/precisionPrefix.js +0 -7
  207. package/vendor/d3-format/src/precisionRound.js +0 -8
  208. package/vendor/d3-interpolate/src/array.js +0 -19
  209. package/vendor/d3-interpolate/src/basis.js +0 -1
  210. package/vendor/d3-interpolate/src/basisClosed.js +0 -1
  211. package/vendor/d3-interpolate/src/color.js +0 -26
  212. package/vendor/d3-interpolate/src/constant.js +0 -3
  213. package/vendor/d3-interpolate/src/cubehelix.js +0 -1
  214. package/vendor/d3-interpolate/src/date.js +0 -8
  215. package/vendor/d3-interpolate/src/discrete.js +0 -1
  216. package/vendor/d3-interpolate/src/hcl.js +0 -1
  217. package/vendor/d3-interpolate/src/hsl.js +0 -1
  218. package/vendor/d3-interpolate/src/hue.js +0 -1
  219. package/vendor/d3-interpolate/src/index.js +0 -1
  220. package/vendor/d3-interpolate/src/lab.js +0 -1
  221. package/vendor/d3-interpolate/src/number.js +0 -7
  222. package/vendor/d3-interpolate/src/numberArray.js +0 -16
  223. package/vendor/d3-interpolate/src/object.js +0 -25
  224. package/vendor/d3-interpolate/src/piecewise.js +0 -1
  225. package/vendor/d3-interpolate/src/quantize.js +0 -1
  226. package/vendor/d3-interpolate/src/rgb.js +0 -26
  227. package/vendor/d3-interpolate/src/round.js +0 -7
  228. package/vendor/d3-interpolate/src/string.js +0 -66
  229. package/vendor/d3-interpolate/src/transform/decompose.js +0 -1
  230. package/vendor/d3-interpolate/src/transform/index.js +0 -1
  231. package/vendor/d3-interpolate/src/transform/parse.js +0 -1
  232. package/vendor/d3-interpolate/src/value.js +0 -24
  233. package/vendor/d3-interpolate/src/zoom.js +0 -1
  234. package/vendor/d3-scale/src/band.js +0 -1
  235. package/vendor/d3-scale/src/constant.js +0 -7
  236. package/vendor/d3-scale/src/continuous.js +0 -129
  237. package/vendor/d3-scale/src/diverging.js +0 -1
  238. package/vendor/d3-scale/src/identity.js +0 -1
  239. package/vendor/d3-scale/src/index.js +0 -1
  240. package/vendor/d3-scale/src/init.js +0 -10
  241. package/vendor/d3-scale/src/linear.js +0 -72
  242. package/vendor/d3-scale/src/log.js +0 -1
  243. package/vendor/d3-scale/src/nice.js +0 -1
  244. package/vendor/d3-scale/src/number.js +0 -5
  245. package/vendor/d3-scale/src/ordinal.js +0 -1
  246. package/vendor/d3-scale/src/pow.js +0 -1
  247. package/vendor/d3-scale/src/quantile.js +0 -1
  248. package/vendor/d3-scale/src/quantize.js +0 -1
  249. package/vendor/d3-scale/src/radial.js +0 -1
  250. package/vendor/d3-scale/src/sequential.js +0 -1
  251. package/vendor/d3-scale/src/sequentialQuantile.js +0 -1
  252. package/vendor/d3-scale/src/symlog.js +0 -1
  253. package/vendor/d3-scale/src/threshold.js +0 -1
  254. package/vendor/d3-scale/src/tickFormat.js +0 -35
  255. package/vendor/d3-scale/src/time.js +0 -1
  256. package/vendor/d3-scale/src/utcTime.js +0 -1
  257. package/vendor/d3-time/src/day.js +0 -1
  258. package/vendor/d3-time/src/duration.js +0 -1
  259. package/vendor/d3-time/src/hour.js +0 -1
  260. package/vendor/d3-time/src/index.js +0 -1
  261. package/vendor/d3-time/src/interval.js +0 -1
  262. package/vendor/d3-time/src/millisecond.js +0 -1
  263. package/vendor/d3-time/src/minute.js +0 -1
  264. package/vendor/d3-time/src/month.js +0 -1
  265. package/vendor/d3-time/src/second.js +0 -1
  266. package/vendor/d3-time/src/ticks.js +0 -1
  267. package/vendor/d3-time/src/utcDay.js +0 -1
  268. package/vendor/d3-time/src/utcHour.js +0 -1
  269. package/vendor/d3-time/src/utcMinute.js +0 -1
  270. package/vendor/d3-time/src/utcMonth.js +0 -1
  271. package/vendor/d3-time/src/utcWeek.js +0 -1
  272. package/vendor/d3-time/src/utcYear.js +0 -1
  273. package/vendor/d3-time/src/week.js +0 -1
  274. package/vendor/d3-time/src/year.js +0 -1
  275. package/vendor/d3-time-format/src/defaultLocale.js +0 -1
  276. package/vendor/d3-time-format/src/index.js +0 -1
  277. package/vendor/d3-time-format/src/isoFormat.js +0 -1
  278. package/vendor/d3-time-format/src/isoParse.js +0 -1
  279. package/vendor/d3-time-format/src/locale.js +0 -1
  280. package/vendor/define-properties/index.js +0 -60
  281. package/vendor/gl-matrix/esm/common.js +0 -30
  282. package/vendor/gl-matrix/esm/index.js +0 -1
  283. package/vendor/gl-matrix/esm/mat2.js +0 -1
  284. package/vendor/gl-matrix/esm/mat2d.js +0 -1
  285. package/vendor/gl-matrix/esm/mat3.js +0 -817
  286. package/vendor/gl-matrix/esm/mat4.js +0 -1868
  287. package/vendor/gl-matrix/esm/quat.js +0 -330
  288. package/vendor/gl-matrix/esm/quat2.js +0 -1
  289. package/vendor/gl-matrix/esm/vec2.js +0 -1
  290. package/vendor/gl-matrix/esm/vec3.js +0 -842
  291. package/vendor/gl-matrix/esm/vec4.js +0 -153
  292. package/vendor/globalthis/implementation.browser.js +0 -11
  293. package/vendor/globalthis/index.js +0 -25
  294. package/vendor/globalthis/polyfill.js +0 -14
  295. package/vendor/globalthis/shim.js +0 -25
  296. package/vendor/internmap/src/index.js +0 -1
  297. package/vendor/jszip/dist/jszip.min.js +0 -11
  298. package/vendor/object-keys/implementation.js +0 -124
  299. package/vendor/object-keys/index.js +0 -35
  300. package/vendor/object-keys/isArguments.js +0 -17
  301. package/vendor/pako/dist/pako.esm.mjs.js +0 -6707
  302. package/vendor/seedrandom/index.js +0 -77
  303. package/vendor/seedrandom/lib/alea.js +0 -117
  304. package/vendor/seedrandom/lib/tychei.js +0 -105
  305. package/vendor/seedrandom/lib/xor128.js +0 -84
  306. package/vendor/seedrandom/lib/xor4096.js +0 -150
  307. package/vendor/seedrandom/lib/xorshift7.js +0 -101
  308. package/vendor/seedrandom/lib/xorwow.js +0 -89
  309. package/vendor/seedrandom/seedrandom.js +0 -256
  310. package/vendor/webworker-promise/lib/register.js +0 -158
  311. package/vendor/webworker-promise/lib/tiny-emitter.js +0 -89
  312. package/vendor/webworker-promise/src/index.js +0 -110
  313. package/vendor/webworker-promise/src/tiny-emitter.js +0 -51
  314. package/vendor/xmlbuilder2/lib/xmlbuilder2.min.js +0 -13
@@ -1,7 +1,5 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import { i as identity, b as mat3 } from '../../vendor/gl-matrix/esm/mat3.js';
3
- import { i as identity$1, j as transpose, q as mat4 } from '../../vendor/gl-matrix/esm/mat4.js';
4
- import { t as transformMat4 } from '../../vendor/gl-matrix/esm/vec3.js';
2
+ import { mat3, mat4, vec3 } from 'gl-matrix';
5
3
  import { newInstance as newInstance$1, setGet, obj, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
6
4
  import vtkHelper from './Helper.js';
7
5
  import vtkMapper from '../Core/Mapper.js';
@@ -426,15 +424,15 @@ function vtkOpenGLPolyDataMapper(publicAPI, model) {
426
424
  if (tus && tus.length >= 1) {
427
425
  switch (tNumComp) {
428
426
  case 1:
429
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', ['vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*', ' vec4(tcolor.r,tcolor.r,tcolor.r,1.0);']).result;
427
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.r;', ' diffuseColor = diffuseColor*tcolor.r;']).result;
430
428
  break;
431
429
 
432
430
  case 2:
433
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', ['vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*', ' vec4(tcolor.r,tcolor.r,tcolor.r,tcolor.g);']).result;
431
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.r;', ' diffuseColor = diffuseColor*tcolor.r;', ' opacity = opacity * tcolor.g;']).result;
434
432
  break;
435
433
 
436
434
  default:
437
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*texture2D(texture1, tcoordVCVSOutput.st);').result;
435
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.rgb;', ' diffuseColor = diffuseColor*tcolor.rgb;', ' opacity = opacity * tcolor.a;']).result;
438
436
  }
439
437
  }
440
438
  } else {
@@ -445,15 +443,15 @@ function vtkOpenGLPolyDataMapper(publicAPI, model) {
445
443
 
446
444
  switch (tNumComp) {
447
445
  case 1:
448
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', ['vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*', ' vec4(tcolor.r,tcolor.r,tcolor.r,1.0);']).result;
446
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.r;', ' diffuseColor = diffuseColor*tcolor.r;']).result;
449
447
  break;
450
448
 
451
449
  case 2:
452
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', ['vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*', ' vec4(tcolor.r,tcolor.r,tcolor.r,tcolor.g);']).result;
450
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.r;', ' diffuseColor = diffuseColor*tcolor.r;', ' opacity = opacity * tcolor.g;']).result;
453
451
  break;
454
452
 
455
453
  default:
456
- FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', 'gl_FragData[0] = clamp(gl_FragData[0],0.0,1.0)*textureCube(texture1, tcoordVCVSOutput);').result;
454
+ FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::TCoord::Impl', [' vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);', ' ambientColor = ambientColor*tcolor.rgb;', ' diffuseColor = diffuseColor*tcolor.rgb;', ' opacity = opacity * tcolor.a;']).result;
457
455
  }
458
456
  }
459
457
 
@@ -834,7 +832,7 @@ function vtkOpenGLPolyDataMapper(publicAPI, model) {
834
832
 
835
833
  var cam = ren.getActiveCamera();
836
834
  var viewTF = cam.getViewMatrix();
837
- transpose(viewTF, viewTF);
835
+ mat4.transpose(viewTF, viewTF);
838
836
  numberOfLights = 0;
839
837
 
840
838
  for (var _index = 0; _index < lights.length; ++_index) {
@@ -846,7 +844,7 @@ function vtkOpenGLPolyDataMapper(publicAPI, model) {
846
844
  var lp = _light.getTransformedPosition();
847
845
 
848
846
  var np = new Float64Array(3);
849
- transformMat4(np, lp, viewTF);
847
+ vec3.transformMat4(np, lp, viewTF);
850
848
  program.setUniform3fArray("lightAttenuation".concat(numberOfLights), _light.getAttenuationValuesByReference());
851
849
  program.setUniformi("lightPositional".concat(numberOfLights), _light.getPositional());
852
850
  program.setUniformf("lightExponent".concat(numberOfLights), _light.getExponent());
@@ -1256,8 +1254,8 @@ function extend(publicAPI, model) {
1256
1254
  vtkReplacementShaderMapper.implementReplaceShaderCoincidentOffset(publicAPI, model, initialValues);
1257
1255
  model.primitives = [];
1258
1256
  model.primTypes = primTypes;
1259
- model.tmpMat3 = identity(new Float64Array(9));
1260
- model.tmpMat4 = identity$1(new Float64Array(16));
1257
+ model.tmpMat3 = mat3.identity(new Float64Array(9));
1258
+ model.tmpMat4 = mat4.identity(new Float64Array(16));
1261
1259
 
1262
1260
  for (var i = primTypes.Start; i < primTypes.End; i++) {
1263
1261
  model.primitives[i] = vtkHelper.newInstance();
@@ -1,5 +1,6 @@
1
1
  import { vtkAlgorithm, vtkObject } from '@kitware/vtk.js/interfaces';
2
2
  import { Vector2, Vector3 } from '@kitware/vtk.js/types';
3
+ import { vtkRenderer } from '@kitware/vtk.js/Rendering/Core/Renderer';
3
4
 
4
5
  /**
5
6
  *
@@ -51,12 +52,12 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
51
52
  /**
52
53
  *
53
54
  */
54
- getContainerSize(): Array</* ?,? */ any>;
55
+ getContainerSize(): Vector2;
55
56
 
56
57
  /**
57
58
  *
58
59
  */
59
- getFramebufferSize(): Array<number>;
60
+ getFramebufferSize(): Vector2;
60
61
 
61
62
  /**
62
63
  *
@@ -64,19 +65,19 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
64
65
  * @param y
65
66
  * @param viewport
66
67
  */
67
- isInViewport(x : any, y : any, viewport : any): boolean;
68
+ isInViewport(x : number, y : number, viewport : vtkRenderer): boolean;
68
69
 
69
70
  /**
70
71
  *
71
72
  * @param viewport
72
73
  */
73
- getViewportSize(viewport : any): VtkOpenGLRenderWindow0.GetViewportSizeRet;
74
+ getViewportSize(viewport : vtkRenderer): Vector2;
74
75
 
75
76
  /**
76
77
  *
77
78
  * @param viewport
78
79
  */
79
- getViewportCenter(viewport : any): VtkOpenGLRenderWindow0.GetViewportCenterRet;
80
+ getViewportCenter(viewport : vtkRenderer): Vector2;
80
81
 
81
82
  /**
82
83
  *
@@ -84,7 +85,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
84
85
  * @param y
85
86
  * @param z
86
87
  */
87
- displayToNormalizedDisplay(x : any, y : any, z : any): VtkOpenGLRenderWindow0.DisplayToNormalizedDisplayRet;
88
+ displayToNormalizedDisplay(x : number, y : number, z : number): Vector3;
88
89
 
89
90
  /**
90
91
  *
@@ -92,7 +93,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
92
93
  * @param y
93
94
  * @param z
94
95
  */
95
- normalizedDisplayToDisplay(x : number, y : number, z : number): VtkOpenGLRenderWindow0.NormalizedDisplayToDisplayRet;
96
+ normalizedDisplayToDisplay(x : number, y : number, z : number): Vector3;
96
97
 
97
98
  /**
98
99
  *
@@ -101,7 +102,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
101
102
  * @param z
102
103
  * @param renderer
103
104
  */
104
- worldToView(x : any, y : any, z : any, renderer : any): void;
105
+ worldToView(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
105
106
 
106
107
  /**
107
108
  *
@@ -110,7 +111,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
110
111
  * @param z
111
112
  * @param renderer
112
113
  */
113
- viewToWorld(x : any, y : any, z : any, renderer : any): void;
114
+ viewToWorld(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
114
115
 
115
116
  /**
116
117
  *
@@ -119,7 +120,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
119
120
  * @param z
120
121
  * @param renderer
121
122
  */
122
- worldToDisplay(x : any, y : any, z : any, renderer : any): Array</* number,number,number */ any>;
123
+ worldToDisplay(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
123
124
 
124
125
  /**
125
126
  *
@@ -128,7 +129,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
128
129
  * @param z
129
130
  * @param renderer
130
131
  */
131
- displayToWorld(x : any, y : any, z : any, renderer : any): void;
132
+ displayToWorld(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
132
133
 
133
134
  /**
134
135
  *
@@ -137,7 +138,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
137
138
  * @param z
138
139
  * @param renderer
139
140
  */
140
- normalizedDisplayToViewport(x : any, y : any, z : any, renderer : any): VtkOpenGLRenderWindow0.NormalizedDisplayToViewportRet;
141
+ normalizedDisplayToViewport(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
141
142
 
142
143
  /**
143
144
  *
@@ -146,7 +147,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
146
147
  * @param z
147
148
  * @param renderer
148
149
  */
149
- viewportToNormalizedViewport(x : any, y : any, z : any, renderer : any): VtkOpenGLRenderWindow0.ViewportToNormalizedViewportRet;
150
+ viewportToNormalizedViewport(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
150
151
 
151
152
  /**
152
153
  *
@@ -154,7 +155,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
154
155
  * @param y
155
156
  * @param z
156
157
  */
157
- normalizedViewportToViewport(x : any, y : any, z : any): VtkOpenGLRenderWindow0.NormalizedViewportToViewportRet;
158
+ normalizedViewportToViewport(x : number, y : number, z : number): Vector3;
158
159
 
159
160
  /**
160
161
  *
@@ -162,7 +163,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
162
163
  * @param y
163
164
  * @param z
164
165
  */
165
- displayToLocalDisplay(x : any, y : any, z : any): VtkOpenGLRenderWindow0.DisplayToLocalDisplayRet;
166
+ displayToLocalDisplay(x : number, y : number, z : number): Vector3;
166
167
 
167
168
  /**
168
169
  *
@@ -171,7 +172,7 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
171
172
  * @param z
172
173
  * @param renderer
173
174
  */
174
- viewportToNormalizedDisplay(x : any, y : any, z : any, renderer : any): Array</* number,number,? */ any>;
175
+ viewportToNormalizedDisplay(x : number, y : number, z : number, renderer : vtkRenderer): Vector3;
175
176
 
176
177
  /**
177
178
  *
@@ -180,13 +181,13 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
180
181
  * @param x2
181
182
  * @param y2
182
183
  */
183
- getPixelData(x1 : any, y1 : any, x2 : any, y2 : any): Float32Array;
184
+ getPixelData(x1 : number, y1 : number, x2 : number, y2 : number): Uint8Array;
184
185
 
185
186
  /**
186
187
  *
187
188
  * @param options
188
189
  */
189
- get3DContext(options : object): void;
190
+ get3DContext(options : object): WebGLRenderingContext | null;
190
191
 
191
192
  /**
192
193
  *
@@ -260,12 +261,12 @@ export interface vtkOpenGLRenderWindow extends vtkOpenGLRenderWindowBase {
260
261
  * @param format
261
262
  * @param options
262
263
  */
263
- captureNextImage(format : any, options: object): /* VtkOpenGLRenderWindow0.+Promise */ any;
264
+ captureNextImage(format : string, options: object): Promise<string> | null;
264
265
 
265
266
  /**
266
267
  *
267
268
  */
268
- getGLInformations(): VtkOpenGLRenderWindow0.GetGLInformationsRet;
269
+ getGLInformations(): object;
269
270
 
270
271
  /**
271
272
  *
@@ -350,21 +351,6 @@ export function extend(publicAPI: object, model: object, initialValues?: ILineSo
350
351
  */
351
352
  export function newInstance(initialValues?: ILineSourceInitialValues): vtkOpenGLRenderWindow;
352
353
 
353
- /**
354
- * vtkOpenGLRenderWindow creates a polygonal cylinder centered at Center;
355
- * The axis of the cylinder is aligned along the global y-axis.
356
- * The height and radius of the cylinder can be specified, as well as the number of sides.
357
- * It is also possible to control whether the cylinder is open-ended or capped.
358
- * If you have the end points of the cylinder, you should use a vtkOpenGLRenderWindow followed by a vtkTubeFilter instead of the vtkOpenGLRenderWindow.
359
- *
360
- * @example
361
- * ```js
362
- * import vtkOpenGLRenderWindow from 'vtk.js/Sources/Filters/Sources/LineSource';
363
- *
364
- * const line = vtkOpenGLRenderWindow.newInstance({ resolution: 10 });
365
- * const polydata = line.getOutputData();
366
- * ```
367
- */
368
354
  export declare const vtkOpenGLRenderWindow: {
369
355
  newInstance: typeof newInstance,
370
356
  extend: typeof extend,
@@ -1,4 +1,4 @@
1
- import { m as md5 } from '../../vendor/blueimp-md5/js/md5.js';
1
+ import md5 from 'blueimp-md5';
2
2
  import macro from '../../macros.js';
3
3
  import vtkShaderProgram from './ShaderProgram.js';
4
4
 
@@ -1,3 +1,4 @@
1
+ import { mat3, mat4 } from 'gl-matrix';
1
2
  import { newInstance as newInstance$1, obj, setGet, get, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
2
3
  import vtkDataArray from '../../Common/Core/DataArray.js';
3
4
  import vtkHelper from './Helper.js';
@@ -5,8 +6,6 @@ import vtkViewNode from '../SceneGraph/ViewNode.js';
5
6
  import vtkOpenGLTexture from './Texture.js';
6
7
  import { Representation } from '../Core/Property/Constants.js';
7
8
  import { registerOverride } from './ViewNodeFactory.js';
8
- import { i as identity } from '../../vendor/gl-matrix/esm/mat3.js';
9
- import { i as identity$1, g as invert } from '../../vendor/gl-matrix/esm/mat4.js';
10
9
 
11
10
  var vtkErrorMacro = vtkErrorMacro$1; // ----------------------------------------------------------------------------
12
11
  // vtkOpenGLSkybox methods
@@ -49,7 +48,7 @@ function vtkOpenGLSkybox(publicAPI, model) {
49
48
  var ren = model.openGLRenderer.getRenderable();
50
49
  var keyMats = model.openGLCamera.getKeyMatrices(ren);
51
50
  var imat = new Float64Array(16);
52
- invert(imat, keyMats.wcpc);
51
+ mat4.invert(imat, keyMats.wcpc);
53
52
  model.tris.getProgram().setUniformMatrix('IMCPCMatrix', imat);
54
53
 
55
54
  if (model.lastFormat === 'box') {
@@ -165,8 +164,8 @@ function extend(publicAPI, model) {
165
164
  mtime: 0
166
165
  });
167
166
  model.keyMatrices = {
168
- normalMatrix: identity(new Float64Array(9)),
169
- mcwc: identity$1(new Float64Array(16))
167
+ normalMatrix: mat3.identity(new Float64Array(9)),
168
+ mcwc: mat4.identity(new Float64Array(16))
170
169
  }; // Build VTK API
171
170
 
172
171
  setGet(publicAPI, model, ['context']);
@@ -1,4 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { mat4 } from 'gl-matrix';
2
3
  import { ObjectType } from './BufferObject/Constants.js';
3
4
  import { newInstance as newInstance$1, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
4
5
  import vtkBufferObject from './BufferObject.js';
@@ -8,7 +9,6 @@ import vtkOpenGLPolyDataMapper from './PolyDataMapper.js';
8
9
  import { v as vtkSphereMapperVS } from './glsl/vtkSphereMapperVS.glsl.js';
9
10
  import { v as vtkPolyDataFS } from './glsl/vtkPolyDataFS.glsl.js';
10
11
  import { registerOverride } from './ViewNodeFactory.js';
11
- import { m as multiply } from '../../vendor/gl-matrix/esm/mat4.js';
12
12
 
13
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
14
 
@@ -104,7 +104,7 @@ function vtkOpenGLSphereMapper(publicAPI, model) {
104
104
  if (!actor.getIsIdentity()) {
105
105
  var actMats = model.openGLActor.getKeyMatrices();
106
106
  var tmp4 = new Float64Array(16);
107
- multiply(tmp4, keyMats.wcvc, actMats.mcwc);
107
+ mat4.multiply(tmp4, keyMats.wcvc, actMats.mcwc);
108
108
  program.setUniformMatrix('MCVCMatrix', tmp4);
109
109
  } else {
110
110
  program.setUniformMatrix('MCVCMatrix', keyMats.wcvc);
@@ -1,4 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { mat4, mat3 } from 'gl-matrix';
2
3
  import { ObjectType } from './BufferObject/Constants.js';
3
4
  import { newInstance as newInstance$1, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
4
5
  import vtkBufferObject from './BufferObject.js';
@@ -7,8 +8,6 @@ import { v as vtkPolyDataFS } from './glsl/vtkPolyDataFS.glsl.js';
7
8
  import vtkShaderProgram from './ShaderProgram.js';
8
9
  import vtkOpenGLPolyDataMapper from './PolyDataMapper.js';
9
10
  import { registerOverride } from './ViewNodeFactory.js';
10
- import { m as multiply } from '../../vendor/gl-matrix/esm/mat4.js';
11
- import { m as multiply$1 } from '../../vendor/gl-matrix/esm/mat3.js';
12
11
 
13
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
13
 
@@ -119,13 +118,13 @@ function vtkOpenGLStickMapper(publicAPI, model) {
119
118
 
120
119
  if (program.isUniformUsed('MCVCMatrix')) {
121
120
  var tmp4 = new Float64Array(16);
122
- multiply(tmp4, keyMats.wcvc, actMats.mcwc);
121
+ mat4.multiply(tmp4, keyMats.wcvc, actMats.mcwc);
123
122
  program.setUniformMatrix('MCVCMatrix', tmp4);
124
123
  }
125
124
 
126
125
  if (program.isUniformUsed('normalMatrix')) {
127
126
  var anorms = new Float64Array(9);
128
- multiply$1(anorms, keyMats.normalMatrix, actMats.normalMatrix);
127
+ mat3.multiply(anorms, keyMats.normalMatrix, actMats.normalMatrix);
129
128
  program.setUniformMatrix3x3('normalMatrix', anorms);
130
129
  }
131
130
  } else {
@@ -12,7 +12,7 @@ import { v as vtkLineIntegralConvolution2D_quadVS } from './glsl/vtkLineIntegral
12
12
  import { v as vtkLineIntegralConvolution2D_SC } from './glsl/vtkLineIntegralConvolution2D_SC.glsl.js';
13
13
  import { v as vtkSurfaceLICInterface_DCpy } from './glsl/vtkSurfaceLICInterface_DCpy.glsl.js';
14
14
  import { v as vtkSurfaceLICInterface_CE } from './glsl/vtkSurfaceLICInterface_CE.glsl.js';
15
- import { s as seedrandom } from '../../../vendor/seedrandom/index.js';
15
+ import seedrandom from 'seedrandom';
16
16
  import { NoiseType, ContrastEnhanceMode } from '../../Core/SurfaceLICInterface/Constants.js';
17
17
  import vtkSurfaceLICInterface from '../../Core/SurfaceLICInterface.js';
18
18
 
@@ -1,8 +1,7 @@
1
+ import { mat4, mat3 } from 'gl-matrix';
1
2
  import { newInstance as newInstance$1, obj, setGet } from '../../macros.js';
2
3
  import vtkViewNode from '../SceneGraph/ViewNode.js';
3
4
  import { registerOverride } from './ViewNodeFactory.js';
4
- import { d as copy, j as transpose } from '../../vendor/gl-matrix/esm/mat4.js';
5
- import { i as identity, f as fromMat4, a as invert } from '../../vendor/gl-matrix/esm/mat3.js';
6
5
 
7
6
  // vtkOpenGLVolume methods
8
7
  // ----------------------------------------------------------------------------
@@ -62,14 +61,14 @@ function vtkOpenGLVolume(publicAPI, model) {
62
61
  // has the actor changed?
63
62
  if (model.renderable.getMTime() > model.keyMatrixTime.getMTime()) {
64
63
  model.renderable.computeMatrix();
65
- copy(model.MCWCMatrix, model.renderable.getMatrix());
66
- transpose(model.MCWCMatrix, model.MCWCMatrix);
64
+ mat4.copy(model.MCWCMatrix, model.renderable.getMatrix());
65
+ mat4.transpose(model.MCWCMatrix, model.MCWCMatrix);
67
66
 
68
67
  if (model.renderable.getIsIdentity()) {
69
- identity(model.normalMatrix);
68
+ mat3.identity(model.normalMatrix);
70
69
  } else {
71
- fromMat4(model.normalMatrix, model.MCWCMatrix);
72
- invert(model.normalMatrix, model.normalMatrix);
70
+ mat3.fromMat4(model.normalMatrix, model.MCWCMatrix);
71
+ mat3.invert(model.normalMatrix, model.normalMatrix);
73
72
  }
74
73
 
75
74
  model.keyMatrixTime.modified();
@@ -1,5 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { newInstance as newInstance$1, obj, setGet, vtkWarningMacro as vtkWarningMacro$1, vtkErrorMacro as vtkErrorMacro$1 } from '../../macros.js';
3
+ import { mat4, mat3, vec3 } from 'gl-matrix';
3
4
  import vtkDataArray from '../../Common/Core/DataArray.js';
4
5
  import { VtkDataTypes } from '../../Common/Core/DataArray/Constants.js';
5
6
  import vtkHelper from './Helper.js';
@@ -16,9 +17,6 @@ import { BlendMode } from '../Core/VolumeMapper/Constants.js';
16
17
  import { v as vtkVolumeVS } from './glsl/vtkVolumeVS.glsl.js';
17
18
  import { v as vtkVolumeFS } from './glsl/vtkVolumeFS.glsl.js';
18
19
  import { registerOverride } from './ViewNodeFactory.js';
19
- import { i as identity, m as multiply, g as invert } from '../../vendor/gl-matrix/esm/mat4.js';
20
- import { i as identity$1, m as multiply$1 } from '../../vendor/gl-matrix/esm/mat3.js';
21
- import { s as set, l as length, t as transformMat4, n as normalize, b as scale, o as divide, p as transformMat3, d as dot } from '../../vendor/gl-matrix/esm/vec3.js';
22
20
 
23
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
22
 
@@ -139,8 +137,8 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
139
137
  var ext = model.currentInput.getExtent();
140
138
  var spc = model.currentInput.getSpacing();
141
139
  var vsize = new Float64Array(3);
142
- set(vsize, (ext[1] - ext[0]) * spc[0], (ext[3] - ext[2]) * spc[1], (ext[5] - ext[4]) * spc[2]);
143
- var maxSamples = length(vsize) / model.renderable.getSampleDistance();
140
+ vec3.set(vsize, (ext[1] - ext[0]) * spc[0], (ext[3] - ext[2]) * spc[1], (ext[5] - ext[4]) * spc[2]);
141
+ var maxSamples = vec3.length(vsize) / model.renderable.getSampleDistance();
144
142
  FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::MaximumSamplesValue', "".concat(Math.ceil(maxSamples))).result; // set light complexity
145
143
 
146
144
  FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::LightComplexity', "#define vtkLightComplexity ".concat(model.lastLightComplexity)).result; // if using gradient opacity define that
@@ -278,8 +276,8 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
278
276
  var ext = model.currentInput.getExtent();
279
277
  var spc = model.currentInput.getSpacing();
280
278
  var vsize = new Float64Array(3);
281
- set(vsize, (ext[1] - ext[0]) * spc[0], (ext[3] - ext[2]) * spc[1], (ext[5] - ext[4]) * spc[2]);
282
- var maxSamples = length(vsize) / model.renderable.getSampleDistance();
279
+ vec3.set(vsize, (ext[1] - ext[0]) * spc[0], (ext[3] - ext[2]) * spc[1], (ext[5] - ext[4]) * spc[2]);
280
+ var maxSamples = vec3.length(vsize) / model.renderable.getSampleDistance();
283
281
  var state = {
284
282
  interpolationType: actor.getProperty().getInterpolationType(),
285
283
  useLabelOutline: actor.getProperty().getUseLabelOutline(),
@@ -384,7 +382,7 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
384
382
  // // E.g., WCPC == world to projection coordinate transformation
385
383
  var keyMats = model.openGLCamera.getKeyMatrices(ren);
386
384
  var actMats = model.openGLVolume.getKeyMatrices();
387
- multiply(model.modelToView, keyMats.wcvc, actMats.mcwc);
385
+ mat4.multiply(model.modelToView, keyMats.wcvc, actMats.mcwc);
388
386
  var program = cellBO.getProgram();
389
387
  var cam = model.openGLCamera.getRenderable();
390
388
  var crange = cam.getClippingRange();
@@ -403,22 +401,22 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
403
401
  var dcymax = -1.0;
404
402
 
405
403
  for (var i = 0; i < 8; ++i) {
406
- set(pos, bounds[i % 2], bounds[2 + Math.floor(i / 2) % 2], bounds[4 + Math.floor(i / 4)]);
407
- transformMat4(pos, pos, model.modelToView);
404
+ vec3.set(pos, bounds[i % 2], bounds[2 + Math.floor(i / 2) % 2], bounds[4 + Math.floor(i / 4)]);
405
+ vec3.transformMat4(pos, pos, model.modelToView);
408
406
 
409
407
  if (!cam.getParallelProjection()) {
410
- normalize(dir, pos); // now find the projection of this point onto a
408
+ vec3.normalize(dir, pos); // now find the projection of this point onto a
411
409
  // nearZ distance plane. Since the camera is at 0,0,0
412
410
  // in VC the ray is just t*pos and
413
411
  // t is -nearZ/dir.z
414
412
  // intersection becomes pos.x/pos.z
415
413
 
416
414
  var t = -crange[0] / pos[2];
417
- scale(pos, dir, t);
415
+ vec3.scale(pos, dir, t);
418
416
  } // now convert to DC
419
417
 
420
418
 
421
- transformMat4(pos, pos, keyMats.vcpc);
419
+ vec3.transformMat4(pos, pos, keyMats.vcpc);
422
420
  dcxmin = Math.min(pos[0], dcxmin);
423
421
  dcxmax = Math.max(pos[0], dcxmax);
424
422
  dcymin = Math.min(pos[1], dcymin);
@@ -437,26 +435,26 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
437
435
  var ext = model.currentInput.getExtent();
438
436
  var spc = model.currentInput.getSpacing();
439
437
  var vsize = new Float64Array(3);
440
- set(vsize, (ext[1] - ext[0] + 1) * spc[0], (ext[3] - ext[2] + 1) * spc[1], (ext[5] - ext[4] + 1) * spc[2]);
438
+ vec3.set(vsize, (ext[1] - ext[0] + 1) * spc[0], (ext[3] - ext[2] + 1) * spc[1], (ext[5] - ext[4] + 1) * spc[2]);
441
439
  program.setUniform3f('vSpacing', spc[0], spc[1], spc[2]);
442
- set(pos, ext[0], ext[2], ext[4]);
440
+ vec3.set(pos, ext[0], ext[2], ext[4]);
443
441
  model.currentInput.indexToWorldVec3(pos, pos);
444
- transformMat4(pos, pos, model.modelToView);
442
+ vec3.transformMat4(pos, pos, model.modelToView);
445
443
  program.setUniform3f('vOriginVC', pos[0], pos[1], pos[2]); // apply the image directions
446
444
 
447
445
  var i2wmat4 = model.currentInput.getIndexToWorld();
448
- multiply(model.idxToView, model.modelToView, i2wmat4);
449
- multiply$1(model.idxNormalMatrix, keyMats.normalMatrix, actMats.normalMatrix);
450
- multiply$1(model.idxNormalMatrix, model.idxNormalMatrix, model.currentInput.getDirection());
451
- var maxSamples = length(vsize) / model.renderable.getSampleDistance();
446
+ mat4.multiply(model.idxToView, model.modelToView, i2wmat4);
447
+ mat3.multiply(model.idxNormalMatrix, keyMats.normalMatrix, actMats.normalMatrix);
448
+ mat3.multiply(model.idxNormalMatrix, model.idxNormalMatrix, model.currentInput.getDirection());
449
+ var maxSamples = vec3.length(vsize) / model.renderable.getSampleDistance();
452
450
 
453
451
  if (maxSamples > model.renderable.getMaximumSamplesPerRay()) {
454
452
  vtkWarningMacro("The number of steps required ".concat(Math.ceil(maxSamples), " is larger than the\n specified maximum number of steps ").concat(model.renderable.getMaximumSamplesPerRay(), ".\n Please either change the\n volumeMapper sampleDistance or its maximum number of samples."));
455
453
  }
456
454
 
457
455
  var vctoijk = new Float64Array(3);
458
- set(vctoijk, 1.0, 1.0, 1.0);
459
- divide(vctoijk, vctoijk, vsize);
456
+ vec3.set(vctoijk, 1.0, 1.0, 1.0);
457
+ vec3.divide(vctoijk, vctoijk, vsize);
460
458
  program.setUniform3f('vVCToIJK', vctoijk[0], vctoijk[1], vctoijk[2]);
461
459
  program.setUniform3i('volumeDimensions', dims[0], dims[1], dims[2]);
462
460
 
@@ -478,39 +476,39 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
478
476
  switch (_i) {
479
477
  default:
480
478
  case 0:
481
- set(normal, 1.0, 0.0, 0.0);
482
- set(pos2, ext[1], ext[3], ext[5]);
479
+ vec3.set(normal, 1.0, 0.0, 0.0);
480
+ vec3.set(pos2, ext[1], ext[3], ext[5]);
483
481
  break;
484
482
 
485
483
  case 1:
486
- set(normal, -1.0, 0.0, 0.0);
487
- set(pos2, ext[0], ext[2], ext[4]);
484
+ vec3.set(normal, -1.0, 0.0, 0.0);
485
+ vec3.set(pos2, ext[0], ext[2], ext[4]);
488
486
  break;
489
487
 
490
488
  case 2:
491
- set(normal, 0.0, 1.0, 0.0);
492
- set(pos2, ext[1], ext[3], ext[5]);
489
+ vec3.set(normal, 0.0, 1.0, 0.0);
490
+ vec3.set(pos2, ext[1], ext[3], ext[5]);
493
491
  break;
494
492
 
495
493
  case 3:
496
- set(normal, 0.0, -1.0, 0.0);
497
- set(pos2, ext[0], ext[2], ext[4]);
494
+ vec3.set(normal, 0.0, -1.0, 0.0);
495
+ vec3.set(pos2, ext[0], ext[2], ext[4]);
498
496
  break;
499
497
 
500
498
  case 4:
501
- set(normal, 0.0, 0.0, 1.0);
502
- set(pos2, ext[1], ext[3], ext[5]);
499
+ vec3.set(normal, 0.0, 0.0, 1.0);
500
+ vec3.set(pos2, ext[1], ext[3], ext[5]);
503
501
  break;
504
502
 
505
503
  case 5:
506
- set(normal, 0.0, 0.0, -1.0);
507
- set(pos2, ext[0], ext[2], ext[4]);
504
+ vec3.set(normal, 0.0, 0.0, -1.0);
505
+ vec3.set(pos2, ext[0], ext[2], ext[4]);
508
506
  break;
509
507
  }
510
508
 
511
- transformMat3(normal, normal, model.idxNormalMatrix);
512
- transformMat4(pos2, pos2, model.idxToView);
513
- var dist = -1.0 * dot(pos2, normal); // we have the plane in view coordinates
509
+ vec3.transformMat3(normal, normal, model.idxNormalMatrix);
510
+ vec3.transformMat4(pos2, pos2, model.idxToView);
511
+ var dist = -1.0 * vec3.dot(pos2, normal); // we have the plane in view coordinates
514
512
  // specify the planes in view coordinates
515
513
 
516
514
  program.setUniform3f("vPlaneNormal".concat(_i), normal[0], normal[1], normal[2]);
@@ -521,7 +519,7 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
521
519
  var worldToIndex = image.getWorldToIndex();
522
520
  program.setUniformMatrix('vWCtoIDX', worldToIndex); // Get the projection coordinate to world coordinate transformation matrix.
523
521
 
524
- invert(model.projectionToWorld, keyMats.wcpc);
522
+ mat4.invert(model.projectionToWorld, keyMats.wcpc);
525
523
  program.setUniformMatrix('PCWCMatrix', model.projectionToWorld);
526
524
  var size = publicAPI.getRenderTargetSize();
527
525
  program.setUniformf('vpWidth', size[0]);
@@ -529,7 +527,7 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
529
527
  }
530
528
  }
531
529
 
532
- invert(model.projectionToView, keyMats.vcpc);
530
+ mat4.invert(model.projectionToView, keyMats.vcpc);
533
531
  program.setUniformMatrix('PCVCMatrix', model.projectionToView); // handle lighting values
534
532
 
535
533
  switch (model.lastLightComplexity) {
@@ -559,8 +557,8 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
559
557
  lightColor[2] = dColor[2] * intensity;
560
558
  program.setUniform3fArray("lightColor".concat(lightNum), lightColor);
561
559
  var ldir = light.getDirection();
562
- set(normal, ldir[0], ldir[1], ldir[2]);
563
- transformMat3(normal, normal, keyMats.normalMatrix);
560
+ vec3.set(normal, ldir[0], ldir[1], ldir[2]);
561
+ vec3.transformMat3(normal, normal, keyMats.normalMatrix);
564
562
  program.setUniform3f("lightDirectionVC".concat(lightNum), normal[0], normal[1], normal[2]); // camera DOP is 0,0,-1.0 in VC
565
563
 
566
564
  var halfAngle = [-0.5 * normal[0], -0.5 * normal[1], -0.5 * (normal[2] - 1.0)];
@@ -668,9 +666,9 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
668
666
  for (var i = 0; i < clipPlaneSize; ++i) {
669
667
  var clipPlaneNormal = clipPlanes[i].getNormal();
670
668
  var clipPlanePos = clipPlanes[i].getOrigin();
671
- transformMat3(clipPlaneNormal, clipPlaneNormal, keyMats.normalMatrix);
672
- transformMat4(clipPlanePos, clipPlanePos, keyMats.wcvc);
673
- var clipPlaneDist = -1.0 * dot(clipPlanePos, clipPlaneNormal);
669
+ vec3.transformMat3(clipPlaneNormal, clipPlaneNormal, keyMats.normalMatrix);
670
+ vec3.transformMat4(clipPlanePos, clipPlanePos, keyMats.wcvc);
671
+ var clipPlaneDist = -1.0 * vec3.dot(clipPlanePos, clipPlaneNormal);
674
672
  clipPlaneNormals.push(clipPlaneNormal[0]);
675
673
  clipPlaneNormals.push(clipPlaneNormal[1]);
676
674
  clipPlaneNormals.push(clipPlaneNormal[2]);
@@ -1130,11 +1128,11 @@ function extend(publicAPI, model) {
1130
1128
  model.jitterTexture.setWrapS(Wrap.REPEAT);
1131
1129
  model.jitterTexture.setWrapT(Wrap.REPEAT);
1132
1130
  model.framebuffer = vtkOpenGLFramebuffer.newInstance();
1133
- model.idxToView = identity(new Float64Array(16));
1134
- model.idxNormalMatrix = identity$1(new Float64Array(9));
1135
- model.modelToView = identity(new Float64Array(16));
1136
- model.projectionToView = identity(new Float64Array(16));
1137
- model.projectionToWorld = identity(new Float64Array(16)); // Build VTK API
1131
+ model.idxToView = mat4.identity(new Float64Array(16));
1132
+ model.idxNormalMatrix = mat3.identity(new Float64Array(9));
1133
+ model.modelToView = mat4.identity(new Float64Array(16));
1134
+ model.projectionToView = mat4.identity(new Float64Array(16));
1135
+ model.projectionToWorld = mat4.identity(new Float64Array(16)); // Build VTK API
1138
1136
 
1139
1137
  setGet(publicAPI, model, ['context']); // Object methods
1140
1138
 
@@ -1,3 +1,3 @@
1
- var vtkPolyDataFS = "//VTK::System::Dec\n\n/*=========================================================================\n\n Program: Visualization Toolkit\n Module: vtkPolyDataFS.glsl\n\n Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen\n All rights reserved.\n See Copyright.txt or http://www.kitware.com/Copyright.htm for details.\n\n This software is distributed WITHOUT ANY WARRANTY; without even\n the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n PURPOSE. See the above copyright notice for more information.\n\n=========================================================================*/\n// Template for the polydata mappers fragment shader\n\nuniform int PrimitiveIDOffset;\n\n// VC position of this fragment\n//VTK::PositionVC::Dec\n\n// optional color passed in from the vertex shader, vertexColor\n//VTK::Color::Dec\n\n// optional surface normal declaration\n//VTK::Normal::Dec\n\n// extra lighting parameters\n//VTK::Light::Dec\n\n// Texture coordinates\n//VTK::TCoord::Dec\n\n// picking support\n//VTK::Picking::Dec\n\n// Depth Peeling Support\n//VTK::DepthPeeling::Dec\n\n// clipping plane vars\n//VTK::Clip::Dec\n\n// the output of this shader\n//VTK::Output::Dec\n\n// Apple Bug\n//VTK::PrimID::Dec\n\n// handle coincident offsets\n//VTK::Coincident::Dec\n\n//VTK::ZBuffer::Dec\n\nvoid main()\n{\n // VC position of this fragment. This should not branch/return/discard.\n //VTK::PositionVC::Impl\n\n // Place any calls that require uniform flow (e.g. dFdx) here.\n //VTK::UniformFlow::Impl\n\n // Set gl_FragDepth here (gl_FragCoord.z by default)\n //VTK::Depth::Impl\n\n // Early depth peeling abort:\n //VTK::DepthPeeling::PreColor\n\n // Apple Bug\n //VTK::PrimID::Impl\n\n //VTK::Clip::Impl\n\n //VTK::Color::Impl\n\n // Generate the normal if we are not passed in one\n //VTK::Normal::Impl\n\n //VTK::Light::Impl\n\n //VTK::TCoord::Impl\n\n if (gl_FragData[0].a <= 0.0)\n {\n discard;\n }\n\n //VTK::DepthPeeling::Impl\n\n //VTK::Picking::Impl\n\n // handle coincident offsets\n //VTK::Coincident::Impl\n\n //VTK::ZBuffer::Impl\n}\n";
1
+ var vtkPolyDataFS = "//VTK::System::Dec\n\n/*=========================================================================\n\n Program: Visualization Toolkit\n Module: vtkPolyDataFS.glsl\n\n Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen\n All rights reserved.\n See Copyright.txt or http://www.kitware.com/Copyright.htm for details.\n\n This software is distributed WITHOUT ANY WARRANTY; without even\n the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n PURPOSE. See the above copyright notice for more information.\n\n=========================================================================*/\n// Template for the polydata mappers fragment shader\n\nuniform int PrimitiveIDOffset;\n\n// VC position of this fragment\n//VTK::PositionVC::Dec\n\n// optional color passed in from the vertex shader, vertexColor\n//VTK::Color::Dec\n\n// optional surface normal declaration\n//VTK::Normal::Dec\n\n// extra lighting parameters\n//VTK::Light::Dec\n\n// Texture coordinates\n//VTK::TCoord::Dec\n\n// picking support\n//VTK::Picking::Dec\n\n// Depth Peeling Support\n//VTK::DepthPeeling::Dec\n\n// clipping plane vars\n//VTK::Clip::Dec\n\n// the output of this shader\n//VTK::Output::Dec\n\n// Apple Bug\n//VTK::PrimID::Dec\n\n// handle coincident offsets\n//VTK::Coincident::Dec\n\n//VTK::ZBuffer::Dec\n\nvoid main()\n{\n // VC position of this fragment. This should not branch/return/discard.\n //VTK::PositionVC::Impl\n\n // Place any calls that require uniform flow (e.g. dFdx) here.\n //VTK::UniformFlow::Impl\n\n // Set gl_FragDepth here (gl_FragCoord.z by default)\n //VTK::Depth::Impl\n\n // Early depth peeling abort:\n //VTK::DepthPeeling::PreColor\n\n // Apple Bug\n //VTK::PrimID::Impl\n\n //VTK::Clip::Impl\n\n //VTK::Color::Impl\n\n // Generate the normal if we are not passed in one\n //VTK::Normal::Impl\n\n //VTK::TCoord::Impl\n\n //VTK::Light::Impl\n\n if (gl_FragData[0].a <= 0.0)\n {\n discard;\n }\n\n //VTK::DepthPeeling::Impl\n\n //VTK::Picking::Impl\n\n // handle coincident offsets\n //VTK::Coincident::Impl\n\n //VTK::ZBuffer::Impl\n}\n";
2
2
 
3
3
  export { vtkPolyDataFS as v };