@kitware/vtk.js 26.9.13 → 27.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/Interaction/Style/InteractorStyleImage.d.ts +107 -0
  2. package/Interaction/Style/InteractorStyleImage.js +14 -0
  3. package/Interaction/Style/InteractorStyleTrackballCamera.d.ts +170 -0
  4. package/Rendering/Core/AbstractImageMapper.d.ts +3 -3
  5. package/Rendering/Core/AbstractImageMapper.js +5 -3
  6. package/Rendering/Core/AbstractMapper3D.js +9 -1
  7. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  8. package/Rendering/Core/ImageProperty.js +2 -2
  9. package/Rendering/Core/ImageResliceMapper/Constants.d.ts +11 -0
  10. package/Rendering/Core/ImageResliceMapper/Constants.js +11 -0
  11. package/Rendering/Core/ImageResliceMapper.d.ts +245 -0
  12. package/Rendering/Core/ImageResliceMapper.js +70 -0
  13. package/Rendering/Core/Mapper.js +1 -7
  14. package/Rendering/Core.js +2 -0
  15. package/Rendering/OpenGL/ImageMapper.js +1 -11
  16. package/Rendering/OpenGL/ImageResliceMapper.js +996 -0
  17. package/Rendering/OpenGL/PolyDataMapper.js +4 -81
  18. package/Rendering/OpenGL/PolyDataMapper2D.js +4 -75
  19. package/Rendering/OpenGL/Profiles/All.js +1 -0
  20. package/Rendering/OpenGL/Profiles/Volume.js +1 -0
  21. package/Rendering/OpenGL/ReplacementShaderMapper.js +80 -1
  22. package/Rendering/OpenGL/ShaderProgram.js +1 -1
  23. package/Rendering/OpenGL/Texture.js +2 -2
  24. package/Rendering/OpenGL/glsl/vtkImageResliceMapperFS.glsl.js +3 -0
  25. package/Rendering/OpenGL/glsl/vtkImageResliceMapperVS.glsl.js +3 -0
  26. package/Rendering/OpenGL.js +3 -1
  27. package/Rendering/Profiles/All.js +1 -0
  28. package/Rendering/Profiles/Volume.js +1 -0
  29. package/index.d.ts +4 -0
  30. package/package.json +3 -3
@@ -0,0 +1,70 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
+ import CoincidentTopologyHelper from './Mapper/CoincidentTopologyHelper.js';
4
+ import Constants from './ImageResliceMapper/Constants.js';
5
+ import macro from '../../macros.js';
6
+ import vtkAbstractImageMapper from './AbstractImageMapper.js';
7
+ import vtkBoundingBox from '../../Common/DataModel/BoundingBox.js';
8
+
9
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
+
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ var SlabTypes = Constants.SlabTypes;
13
+ var staticOffsetAPI = CoincidentTopologyHelper.staticOffsetAPI,
14
+ otherStaticMethods = CoincidentTopologyHelper.otherStaticMethods; // ----------------------------------------------------------------------------
15
+ // vtkImageResliceMapper methods
16
+ // ----------------------------------------------------------------------------
17
+
18
+ function vtkImageResliceMapper(publicAPI, model) {
19
+ // Set our className
20
+ model.classHierarchy.push('vtkImageResliceMapper');
21
+
22
+ publicAPI.getBounds = function () {
23
+ var bds = _toConsumableArray(vtkBoundingBox.INIT_BOUNDS);
24
+
25
+ var image = publicAPI.getInputData();
26
+
27
+ if (publicAPI.getSlicePolyData()) {
28
+ bds = publicAPI.getSlicePolyData().getBounds();
29
+ } else if (image) {
30
+ bds = image.getBounds();
31
+
32
+ if (publicAPI.getSlicePlane()) {
33
+ vtkBoundingBox.cutWithPlane(bds, publicAPI.getSlicePlane().getOrigin(), publicAPI.getSlicePlane().getNormal());
34
+ }
35
+ }
36
+
37
+ return bds;
38
+ };
39
+ } // ----------------------------------------------------------------------------
40
+ // Object factory
41
+ // ----------------------------------------------------------------------------
42
+
43
+
44
+ var DEFAULT_VALUES = {
45
+ slabThickness: 0.0,
46
+ slabTrapezoidIntegration: 0,
47
+ slabType: SlabTypes.MEAN,
48
+ slicePlane: null,
49
+ slicePolyData: null
50
+ }; // ----------------------------------------------------------------------------
51
+
52
+ function extend(publicAPI, model) {
53
+ var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
54
+ Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
55
+
56
+ vtkAbstractImageMapper.extend(publicAPI, model, initialValues);
57
+ macro.setGet(publicAPI, model, ['slabThickness', 'slabTrapezoidIntegration', 'slabType', 'slicePlane', 'slicePolyData']);
58
+ CoincidentTopologyHelper.implementCoincidentTopologyMethods(publicAPI, model); // Object methods
59
+
60
+ vtkImageResliceMapper(publicAPI, model);
61
+ } // ----------------------------------------------------------------------------
62
+
63
+ var newInstance = macro.newInstance(extend, 'vtkImageResliceMapper'); // ----------------------------------------------------------------------------
64
+
65
+ var vtkImageResliceMapper$1 = _objectSpread(_objectSpread({
66
+ newInstance: newInstance,
67
+ extend: extend
68
+ }, staticOffsetAPI), otherStaticMethods);
69
+
70
+ export { vtkImageResliceMapper$1 as default, extend, newInstance };
@@ -553,7 +553,6 @@ var DEFAULT_VALUES = {
553
553
  forceCompileOnly: 0,
554
554
  useInvertibleColors: false,
555
555
  invertibleScalars: null,
556
- viewSpecificProperties: null,
557
556
  customShaderAttributes: []
558
557
  }; // ----------------------------------------------------------------------------
559
558
 
@@ -563,14 +562,9 @@ function extend(publicAPI, model) {
563
562
 
564
563
  vtkAbstractMapper3D.extend(publicAPI, model, initialValues);
565
564
  macro.get(publicAPI, model, ['colorCoordinates', 'colorMapColors', 'colorTextureMap']);
566
- macro.setGet(publicAPI, model, ['colorByArrayName', 'arrayAccessMode', 'colorMode', 'fieldDataTupleId', 'interpolateScalarsBeforeMapping', 'lookupTable', 'populateSelectionSettings', 'renderTime', 'scalarMode', 'scalarVisibility', 'selectionWebGLIdsToVTKIds', 'static', 'useLookupTableScalarRange', 'viewSpecificProperties', 'customShaderAttributes' // point data array names that will be transferred to the VBO
565
+ macro.setGet(publicAPI, model, ['colorByArrayName', 'arrayAccessMode', 'colorMode', 'fieldDataTupleId', 'interpolateScalarsBeforeMapping', 'lookupTable', 'populateSelectionSettings', 'renderTime', 'scalarMode', 'scalarVisibility', 'selectionWebGLIdsToVTKIds', 'static', 'useLookupTableScalarRange', 'customShaderAttributes' // point data array names that will be transferred to the VBO
567
566
  ]);
568
567
  macro.setGetArray(publicAPI, model, ['scalarRange'], 2);
569
-
570
- if (!model.viewSpecificProperties) {
571
- model.viewSpecificProperties = {};
572
- }
573
-
574
568
  CoincidentTopologyHelper.implementCoincidentTopologyMethods(publicAPI, model); // Object methods
575
569
 
576
570
  vtkMapper(publicAPI, model);
package/Rendering/Core.js CHANGED
@@ -17,6 +17,7 @@ import vtkGlyph3DMapper from './Core/Glyph3DMapper.js';
17
17
  import vtkHardwareSelector from './Core/HardwareSelector.js';
18
18
  import vtkImageMapper from './Core/ImageMapper.js';
19
19
  import vtkImageProperty from './Core/ImageProperty.js';
20
+ import vtkImageResliceMapper from './Core/ImageResliceMapper.js';
20
21
  import vtkImageSlice from './Core/ImageSlice.js';
21
22
  import vtkInteractorObserver from './Core/InteractorObserver.js';
22
23
  import vtkInteractorStyle from './Core/InteractorStyle.js';
@@ -66,6 +67,7 @@ var Core = {
66
67
  vtkHardwareSelector: vtkHardwareSelector,
67
68
  vtkImageMapper: vtkImageMapper,
68
69
  vtkImageProperty: vtkImageProperty,
70
+ vtkImageResliceMapper: vtkImageResliceMapper,
69
71
  vtkImageSlice: vtkImageSlice,
70
72
  vtkInteractorObserver: vtkInteractorObserver,
71
73
  vtkInteractorStyle: vtkInteractorStyle,
@@ -104,17 +104,6 @@ function vtkOpenGLImageMapper(publicAPI, model) {
104
104
  publicAPI.renderPiece(ren, actor);
105
105
  };
106
106
 
107
- publicAPI.buildShaders = function (shaders, ren, actor) {
108
- publicAPI.getShaderTemplate(shaders, ren, actor);
109
- model.lastRenderPassShaderReplacement = model.currentRenderPass ? model.currentRenderPass.getShaderReplacement() : null; // apply any renderPassReplacements
110
-
111
- if (model.lastRenderPassShaderReplacement) {
112
- model.lastRenderPassShaderReplacement(shaders);
113
- }
114
-
115
- publicAPI.replaceShaderValues(shaders, ren, actor);
116
- };
117
-
118
107
  publicAPI.getShaderTemplate = function (shaders, ren, actor) {
119
108
  shaders.Vertex = vtkPolyDataVS;
120
109
  shaders.Fragment = vtkPolyDataFS;
@@ -875,6 +864,7 @@ function extend(publicAPI, model) {
875
864
 
876
865
  vtkViewNode.extend(publicAPI, model, initialValues);
877
866
  vtkReplacementShaderMapper.implementReplaceShaderCoincidentOffset(publicAPI, model, initialValues);
867
+ vtkReplacementShaderMapper.implementBuildShadersWithReplacements(publicAPI, model, initialValues);
878
868
  model.tris = vtkHelper.newInstance();
879
869
  model.openGLTexture = vtkOpenGLTexture.newInstance({
880
870
  resizable: true