@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.
- package/Common/Core/Base64.d.ts +14 -2
- package/Common/Core/Base64.js +31 -2
- package/Common/Core/Math/index.js +1 -1
- package/Common/Core/Math.d.ts +168 -158
- package/Common/Core/Math.js +1 -1
- package/Common/Core/MatrixBuilder.js +39 -41
- package/Common/DataModel/Box.d.ts +73 -0
- package/Common/DataModel/ImageData.js +12 -14
- package/Common/Transform/LandmarkTransform.js +6 -7
- package/Filters/General/PaintFilter/PaintFilter.worker.js +8 -8
- package/Filters/General/PaintFilter.js +11 -11
- package/Filters/Sources/CubeSource.d.ts +7 -6
- package/Filters/Sources/PlaneSource.js +12 -13
- package/IO/Core/BinaryHelper.js +2 -4
- package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +1 -1
- package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +1 -1
- package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +2 -2
- package/IO/Core/ZipMultiDataSetReader.js +1 -1
- package/IO/Core/ZipMultiDataSetWriter.js +1 -1
- package/IO/Geometry/STLWriter.js +4 -4
- package/IO/Misc/OBJReader.d.ts +9 -8
- package/IO/Misc/SkyboxReader.js +1 -1
- package/IO/XML/XMLReader.js +3 -4
- package/IO/XML/XMLWriter.js +5 -6
- package/Imaging/Core/ImageReslice.js +18 -19
- package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +27 -28
- package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +8 -9
- package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +14 -15
- package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +12 -13
- package/Interaction/Widgets/ImageCroppingRegionsWidget.js +5 -6
- package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +1 -1
- package/Interaction/Widgets/PiecewiseGaussianWidget.js +2 -2
- package/Interaction/Widgets/ResliceCursor/ResliceCursorRepresentation.js +8 -9
- package/Rendering/Core/Actor.js +3 -4
- package/Rendering/Core/AnnotatedCubeActor.d.ts +5 -6
- package/Rendering/Core/Camera.js +81 -84
- package/Rendering/Core/CellPicker.js +2 -2
- package/Rendering/Core/CubeAxesActor.js +37 -34
- package/Rendering/Core/Follower.js +20 -21
- package/Rendering/Core/Glyph3DMapper.js +30 -32
- package/Rendering/Core/ImageMapper.js +2 -2
- package/Rendering/Core/ImageSlice.js +5 -6
- package/Rendering/Core/Picker.d.ts +5 -5
- package/Rendering/Core/Picker.js +5 -6
- package/Rendering/Core/PixelSpaceCallbackMapper.js +3 -4
- package/Rendering/Core/Prop3D.js +24 -25
- package/Rendering/Core/Renderer.js +11 -12
- package/Rendering/Core/ScalarBarActor.js +37 -34
- package/Rendering/Core/Volume.js +3 -4
- package/Rendering/OpenGL/Actor.js +9 -10
- package/Rendering/OpenGL/Camera.js +8 -9
- package/Rendering/OpenGL/CellArrayBufferObject.js +6 -8
- package/Rendering/OpenGL/Glyph3DMapper.js +8 -9
- package/Rendering/OpenGL/ImageMapper.js +7 -7
- package/Rendering/OpenGL/ImageSlice.js +4 -4
- package/Rendering/OpenGL/PolyDataMapper.js +11 -13
- package/Rendering/OpenGL/RenderWindow.d.ts +21 -35
- package/Rendering/OpenGL/ShaderCache.js +1 -1
- package/Rendering/OpenGL/Skybox.js +4 -5
- package/Rendering/OpenGL/SphereMapper.js +2 -2
- package/Rendering/OpenGL/StickMapper.js +3 -4
- package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +1 -1
- package/Rendering/OpenGL/Volume.js +6 -7
- package/Rendering/OpenGL/VolumeMapper.js +47 -49
- package/Rendering/OpenGL/glsl/vtkPolyDataFS.glsl.js +1 -1
- package/Rendering/WebGPU/Actor.js +8 -8
- package/Rendering/WebGPU/Camera.js +8 -8
- package/Rendering/WebGPU/ImageMapper.js +18 -19
- package/Rendering/WebGPU/ImageSlice.js +9 -9
- package/Rendering/WebGPU/PolyDataMapper.js +3 -4
- package/Rendering/WebGPU/Renderer.js +6 -7
- package/Rendering/WebGPU/Volume.js +3 -3
- package/Rendering/WebGPU/VolumePassFSQ.js +10 -10
- package/ThirdParty/index.js +2 -2
- package/Widgets/Manipulators/TrackballManipulator.js +5 -6
- package/Widgets/Representations/ArrowHandleRepresentation.js +10 -12
- package/Widgets/Representations/CircleContextRepresentation.js +4 -5
- package/Widgets/Representations/RectangleContextRepresentation.js +3 -3
- package/Widgets/Widgets3D/EllipseWidget/behavior.js +5 -5
- package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +6 -8
- package/Widgets/Widgets3D/PaintWidget/behavior.js +2 -2
- package/Widgets/Widgets3D/ResliceCursorWidget.js +6 -7
- package/Widgets/Widgets3D/ShapeWidget/behavior.js +10 -10
- package/Widgets/Widgets3D/SplineWidget/behavior.js +5 -5
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +1 -1
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +1 -1
- package/package.json +2 -2
- package/types.d.ts +1 -0
- package/vtk.js +2 -2
- package/_vendor/base64-js/index.js_commonjs-exports.js +0 -1
- package/_vendor/blueimp-md5/js/md5.js_commonjs-module.js +0 -3
- package/_vendor/define-properties/index.js_commonjs-proxy.js +0 -1
- package/_vendor/globalthis/implementation.browser.js_commonjs-module.js +0 -3
- package/_vendor/globalthis/implementation.browser.js_commonjs-proxy.js +0 -1
- package/_vendor/globalthis/polyfill.js_commonjs-proxy.js +0 -1
- package/_vendor/globalthis/shim.js_commonjs-proxy.js +0 -2
- package/_vendor/jszip/dist/jszip.min.js_commonjs-module.js +0 -3
- package/_vendor/object-keys/implementation.js_commonjs-proxy.js +0 -1
- package/_vendor/object-keys/index.js_commonjs-proxy.js +0 -1
- package/_vendor/object-keys/isArguments.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/alea.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/alea.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/tychei.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/tychei.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/xor128.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/xor128.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/xor4096.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/xor4096.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/xorshift7.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/xorshift7.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/lib/xorwow.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/lib/xorwow.js_commonjs-proxy.js +0 -1
- package/_vendor/seedrandom/seedrandom.js_commonjs-module.js +0 -3
- package/_vendor/seedrandom/seedrandom.js_commonjs-proxy.js +0 -1
- package/_vendor/webworker-promise/lib/register.js_commonjs-module.js +0 -3
- package/_vendor/webworker-promise/lib/tiny-emitter.js_commonjs-proxy.js +0 -1
- package/_vendor/webworker-promise/src/tiny-emitter.js_commonjs-proxy.js +0 -1
- package/_vendor/xmlbuilder2/lib/xmlbuilder2.min.js_commonjs-module.js +0 -3
- package/_virtual/_rollup_plugin_ignore_empty_module_placeholder_commonjs-proxy.js +0 -6
- package/_virtual/commonjsHelpers.js +0 -22
- package/_virtual/polyfill-node.buffer.js +0 -1971
- package/_virtual/polyfill-node.global.js +0 -5
- package/_virtual/rollup_plugin_ignore_empty_module_placeholder.js +0 -8
- package/vendor/base64-js/index.js +0 -72
- package/vendor/blueimp-md5/js/md5.js +0 -402
- package/vendor/d3-array/src/array.js +0 -1
- package/vendor/d3-array/src/ascending.js +0 -5
- package/vendor/d3-array/src/bin.js +0 -1
- package/vendor/d3-array/src/bisect.js +0 -10
- package/vendor/d3-array/src/bisector.js +0 -46
- package/vendor/d3-array/src/constant.js +0 -1
- package/vendor/d3-array/src/count.js +0 -1
- package/vendor/d3-array/src/cross.js +0 -1
- package/vendor/d3-array/src/cumsum.js +0 -1
- package/vendor/d3-array/src/descending.js +0 -1
- package/vendor/d3-array/src/deviation.js +0 -1
- package/vendor/d3-array/src/difference.js +0 -1
- package/vendor/d3-array/src/disjoint.js +0 -1
- package/vendor/d3-array/src/every.js +0 -1
- package/vendor/d3-array/src/extent.js +0 -1
- package/vendor/d3-array/src/filter.js +0 -1
- package/vendor/d3-array/src/fsum.js +0 -1
- package/vendor/d3-array/src/greatest.js +0 -1
- package/vendor/d3-array/src/greatestIndex.js +0 -1
- package/vendor/d3-array/src/group.js +0 -1
- package/vendor/d3-array/src/groupSort.js +0 -1
- package/vendor/d3-array/src/identity.js +0 -1
- package/vendor/d3-array/src/index.js +0 -1
- package/vendor/d3-array/src/intersection.js +0 -1
- package/vendor/d3-array/src/least.js +0 -1
- package/vendor/d3-array/src/leastIndex.js +0 -1
- package/vendor/d3-array/src/map.js +0 -1
- package/vendor/d3-array/src/max.js +0 -1
- package/vendor/d3-array/src/maxIndex.js +0 -1
- package/vendor/d3-array/src/mean.js +0 -1
- package/vendor/d3-array/src/median.js +0 -1
- package/vendor/d3-array/src/merge.js +0 -1
- package/vendor/d3-array/src/min.js +0 -1
- package/vendor/d3-array/src/minIndex.js +0 -1
- package/vendor/d3-array/src/mode.js +0 -1
- package/vendor/d3-array/src/nice.js +0 -1
- package/vendor/d3-array/src/number.js +0 -5
- package/vendor/d3-array/src/pairs.js +0 -1
- package/vendor/d3-array/src/permute.js +0 -1
- package/vendor/d3-array/src/quantile.js +0 -1
- package/vendor/d3-array/src/quickselect.js +0 -1
- package/vendor/d3-array/src/range.js +0 -1
- package/vendor/d3-array/src/reduce.js +0 -1
- package/vendor/d3-array/src/reverse.js +0 -1
- package/vendor/d3-array/src/scan.js +0 -1
- package/vendor/d3-array/src/set.js +0 -1
- package/vendor/d3-array/src/shuffle.js +0 -1
- package/vendor/d3-array/src/some.js +0 -1
- package/vendor/d3-array/src/sort.js +0 -1
- package/vendor/d3-array/src/subset.js +0 -1
- package/vendor/d3-array/src/sum.js +0 -1
- package/vendor/d3-array/src/superset.js +0 -1
- package/vendor/d3-array/src/threshold/freedmanDiaconis.js +0 -1
- package/vendor/d3-array/src/threshold/scott.js +0 -1
- package/vendor/d3-array/src/threshold/sturges.js +0 -1
- package/vendor/d3-array/src/ticks.js +0 -56
- package/vendor/d3-array/src/transpose.js +0 -1
- package/vendor/d3-array/src/union.js +0 -1
- package/vendor/d3-array/src/variance.js +0 -1
- package/vendor/d3-array/src/zip.js +0 -1
- package/vendor/d3-color/src/color.js +0 -373
- package/vendor/d3-color/src/cubehelix.js +0 -1
- package/vendor/d3-color/src/define.js +0 -12
- package/vendor/d3-color/src/index.js +0 -1
- package/vendor/d3-color/src/lab.js +0 -1
- package/vendor/d3-color/src/math.js +0 -1
- package/vendor/d3-format/src/defaultLocale.js +0 -20
- package/vendor/d3-format/src/exponent.js +0 -7
- package/vendor/d3-format/src/formatDecimal.js +0 -22
- package/vendor/d3-format/src/formatGroup.js +0 -20
- package/vendor/d3-format/src/formatNumerals.js +0 -9
- package/vendor/d3-format/src/formatPrefixAuto.js +0 -18
- package/vendor/d3-format/src/formatRounded.js +0 -13
- package/vendor/d3-format/src/formatSpecifier.js +0 -49
- package/vendor/d3-format/src/formatTrim.js +0 -13
- package/vendor/d3-format/src/formatTypes.js +0 -21
- package/vendor/d3-format/src/identity.js +0 -5
- package/vendor/d3-format/src/index.js +0 -1
- package/vendor/d3-format/src/locale.js +0 -150
- package/vendor/d3-format/src/precisionFixed.js +0 -7
- package/vendor/d3-format/src/precisionPrefix.js +0 -7
- package/vendor/d3-format/src/precisionRound.js +0 -8
- package/vendor/d3-interpolate/src/array.js +0 -19
- package/vendor/d3-interpolate/src/basis.js +0 -1
- package/vendor/d3-interpolate/src/basisClosed.js +0 -1
- package/vendor/d3-interpolate/src/color.js +0 -26
- package/vendor/d3-interpolate/src/constant.js +0 -3
- package/vendor/d3-interpolate/src/cubehelix.js +0 -1
- package/vendor/d3-interpolate/src/date.js +0 -8
- package/vendor/d3-interpolate/src/discrete.js +0 -1
- package/vendor/d3-interpolate/src/hcl.js +0 -1
- package/vendor/d3-interpolate/src/hsl.js +0 -1
- package/vendor/d3-interpolate/src/hue.js +0 -1
- package/vendor/d3-interpolate/src/index.js +0 -1
- package/vendor/d3-interpolate/src/lab.js +0 -1
- package/vendor/d3-interpolate/src/number.js +0 -7
- package/vendor/d3-interpolate/src/numberArray.js +0 -16
- package/vendor/d3-interpolate/src/object.js +0 -25
- package/vendor/d3-interpolate/src/piecewise.js +0 -1
- package/vendor/d3-interpolate/src/quantize.js +0 -1
- package/vendor/d3-interpolate/src/rgb.js +0 -26
- package/vendor/d3-interpolate/src/round.js +0 -7
- package/vendor/d3-interpolate/src/string.js +0 -66
- package/vendor/d3-interpolate/src/transform/decompose.js +0 -1
- package/vendor/d3-interpolate/src/transform/index.js +0 -1
- package/vendor/d3-interpolate/src/transform/parse.js +0 -1
- package/vendor/d3-interpolate/src/value.js +0 -24
- package/vendor/d3-interpolate/src/zoom.js +0 -1
- package/vendor/d3-scale/src/band.js +0 -1
- package/vendor/d3-scale/src/constant.js +0 -7
- package/vendor/d3-scale/src/continuous.js +0 -129
- package/vendor/d3-scale/src/diverging.js +0 -1
- package/vendor/d3-scale/src/identity.js +0 -1
- package/vendor/d3-scale/src/index.js +0 -1
- package/vendor/d3-scale/src/init.js +0 -10
- package/vendor/d3-scale/src/linear.js +0 -72
- package/vendor/d3-scale/src/log.js +0 -1
- package/vendor/d3-scale/src/nice.js +0 -1
- package/vendor/d3-scale/src/number.js +0 -5
- package/vendor/d3-scale/src/ordinal.js +0 -1
- package/vendor/d3-scale/src/pow.js +0 -1
- package/vendor/d3-scale/src/quantile.js +0 -1
- package/vendor/d3-scale/src/quantize.js +0 -1
- package/vendor/d3-scale/src/radial.js +0 -1
- package/vendor/d3-scale/src/sequential.js +0 -1
- package/vendor/d3-scale/src/sequentialQuantile.js +0 -1
- package/vendor/d3-scale/src/symlog.js +0 -1
- package/vendor/d3-scale/src/threshold.js +0 -1
- package/vendor/d3-scale/src/tickFormat.js +0 -35
- package/vendor/d3-scale/src/time.js +0 -1
- package/vendor/d3-scale/src/utcTime.js +0 -1
- package/vendor/d3-time/src/day.js +0 -1
- package/vendor/d3-time/src/duration.js +0 -1
- package/vendor/d3-time/src/hour.js +0 -1
- package/vendor/d3-time/src/index.js +0 -1
- package/vendor/d3-time/src/interval.js +0 -1
- package/vendor/d3-time/src/millisecond.js +0 -1
- package/vendor/d3-time/src/minute.js +0 -1
- package/vendor/d3-time/src/month.js +0 -1
- package/vendor/d3-time/src/second.js +0 -1
- package/vendor/d3-time/src/ticks.js +0 -1
- package/vendor/d3-time/src/utcDay.js +0 -1
- package/vendor/d3-time/src/utcHour.js +0 -1
- package/vendor/d3-time/src/utcMinute.js +0 -1
- package/vendor/d3-time/src/utcMonth.js +0 -1
- package/vendor/d3-time/src/utcWeek.js +0 -1
- package/vendor/d3-time/src/utcYear.js +0 -1
- package/vendor/d3-time/src/week.js +0 -1
- package/vendor/d3-time/src/year.js +0 -1
- package/vendor/d3-time-format/src/defaultLocale.js +0 -1
- package/vendor/d3-time-format/src/index.js +0 -1
- package/vendor/d3-time-format/src/isoFormat.js +0 -1
- package/vendor/d3-time-format/src/isoParse.js +0 -1
- package/vendor/d3-time-format/src/locale.js +0 -1
- package/vendor/define-properties/index.js +0 -60
- package/vendor/gl-matrix/esm/common.js +0 -30
- package/vendor/gl-matrix/esm/index.js +0 -1
- package/vendor/gl-matrix/esm/mat2.js +0 -1
- package/vendor/gl-matrix/esm/mat2d.js +0 -1
- package/vendor/gl-matrix/esm/mat3.js +0 -817
- package/vendor/gl-matrix/esm/mat4.js +0 -1868
- package/vendor/gl-matrix/esm/quat.js +0 -330
- package/vendor/gl-matrix/esm/quat2.js +0 -1
- package/vendor/gl-matrix/esm/vec2.js +0 -1
- package/vendor/gl-matrix/esm/vec3.js +0 -842
- package/vendor/gl-matrix/esm/vec4.js +0 -153
- package/vendor/globalthis/implementation.browser.js +0 -11
- package/vendor/globalthis/index.js +0 -25
- package/vendor/globalthis/polyfill.js +0 -14
- package/vendor/globalthis/shim.js +0 -25
- package/vendor/internmap/src/index.js +0 -1
- package/vendor/jszip/dist/jszip.min.js +0 -11
- package/vendor/object-keys/implementation.js +0 -124
- package/vendor/object-keys/index.js +0 -35
- package/vendor/object-keys/isArguments.js +0 -17
- package/vendor/pako/dist/pako.esm.mjs.js +0 -6707
- package/vendor/seedrandom/index.js +0 -77
- package/vendor/seedrandom/lib/alea.js +0 -117
- package/vendor/seedrandom/lib/tychei.js +0 -105
- package/vendor/seedrandom/lib/xor128.js +0 -84
- package/vendor/seedrandom/lib/xor4096.js +0 -150
- package/vendor/seedrandom/lib/xorshift7.js +0 -101
- package/vendor/seedrandom/lib/xorwow.js +0 -89
- package/vendor/seedrandom/seedrandom.js +0 -256
- package/vendor/webworker-promise/lib/register.js +0 -158
- package/vendor/webworker-promise/lib/tiny-emitter.js +0 -89
- package/vendor/webworker-promise/src/index.js +0 -110
- package/vendor/webworker-promise/src/tiny-emitter.js +0 -51
- package/vendor/xmlbuilder2/lib/xmlbuilder2.min.js +0 -13
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
|
-
import {
|
|
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);', '
|
|
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);', '
|
|
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', '
|
|
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);', '
|
|
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);', '
|
|
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', '
|
|
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
|
|
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():
|
|
55
|
+
getContainerSize(): Vector2;
|
|
55
56
|
|
|
56
57
|
/**
|
|
57
58
|
*
|
|
58
59
|
*/
|
|
59
|
-
getFramebufferSize():
|
|
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 :
|
|
68
|
+
isInViewport(x : number, y : number, viewport : vtkRenderer): boolean;
|
|
68
69
|
|
|
69
70
|
/**
|
|
70
71
|
*
|
|
71
72
|
* @param viewport
|
|
72
73
|
*/
|
|
73
|
-
getViewportSize(viewport :
|
|
74
|
+
getViewportSize(viewport : vtkRenderer): Vector2;
|
|
74
75
|
|
|
75
76
|
/**
|
|
76
77
|
*
|
|
77
78
|
* @param viewport
|
|
78
79
|
*/
|
|
79
|
-
getViewportCenter(viewport :
|
|
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 :
|
|
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):
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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):
|
|
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 :
|
|
264
|
+
captureNextImage(format : string, options: object): Promise<string> | null;
|
|
264
265
|
|
|
265
266
|
/**
|
|
266
267
|
*
|
|
267
268
|
*/
|
|
268
|
-
getGLInformations():
|
|
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,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
|
|
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
|
|
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
|
|
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
|
|
450
|
-
multiply
|
|
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
|
|
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::
|
|
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 };
|