@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,107 @@
1
+ import { Vector2, Vector3 } from './../../types';
2
+ import vtkRenderer from './../../Rendering/Core/Renderer';
3
+ import vtkImageProperty from './../../Rendering/Core/ImageProperty';
4
+ import vtkInteractorStyleTrackballCamera from './InteractorStyleTrackballCamera';
5
+
6
+ export interface vtkInteractorStyleImage extends vtkInteractorStyleTrackballCamera {
7
+ /**
8
+ * Handles a mouse move.
9
+ * @param callData event data
10
+ */
11
+ handleMouseMove(callData: unknown): void;
12
+
13
+ /**
14
+ * Handles a left button press event.
15
+ * @param callData event data
16
+ */
17
+ handleLeftButtonPress(callData: unknown): void;
18
+
19
+ /**
20
+ * Handles a left button release event.
21
+ * @param callData event data
22
+ */
23
+ handleLeftButtonRelease(callData: unknown): void;
24
+
25
+ /**
26
+ * Handles the start of a wheel event.
27
+ * @param callData event data
28
+ */
29
+ handleStartMouseWheel(callData: unknown): void;
30
+
31
+ /**
32
+ * Handles the end of a wheel event.
33
+ * @param callData event data
34
+ */
35
+ handleEndMouseWheel(callData: unknown): void;
36
+
37
+ /**
38
+ * Handles a wheel event.
39
+ * @param callData event data
40
+ */
41
+ handleMouseWheel(callData: unknown): void;
42
+
43
+ /**
44
+ * Set window level from position.
45
+ * @param renderer the renderer
46
+ * @param position the display position
47
+ */
48
+ windowLevel(renderer: vtkRenderer, position: { x: number, y: number }): void;
49
+
50
+ /**
51
+ * Set slice from position.
52
+ * @param renderer the renderer
53
+ * @param position the display position
54
+ */
55
+ slice(renderer: vtkRenderer, position: { x: number, y: number }): void;
56
+
57
+ /**
58
+ * Sets the current image property.
59
+ *
60
+ * This is a way of dealing with images as if they were layers.
61
+ * It looks through the renderer's list of props and sets the
62
+ * interactor ivars from the Nth image that it finds. You can
63
+ * also use negative numbers, i.e. -1 will return the last image,
64
+ * -2 will return the second-to-last image, etc.
65
+ * @param i image number
66
+ */
67
+ setCurrentImageNumber(i: number): boolean;
68
+
69
+ /**
70
+ * Sets the current image property.
71
+ * @param imageProperty image property
72
+ */
73
+ setCurrentImageProperty(imageProperty: vtkImageProperty): boolean;
74
+ }
75
+
76
+ export interface IInteractorStyleImageInitialValues {
77
+ windowLevelStartPosition: Vector2;
78
+ windowLevelCurrentPosition: Vector2;
79
+ lastSlicePosition: number;
80
+ windowLevelInitial: Vector2;
81
+ // currentImageProperty: null;
82
+ currentImageNumber: number;
83
+ interactionMode: 'IMAGE2D' | 'IMAGE3D' | 'IMAGE_SLICING';
84
+ xViewRightVector: Vector3;
85
+ xViewUpVector: Vector3;
86
+ yViewRightVector: Vector3;
87
+ yViewUpVector: Vector3;
88
+ zViewRightVector: Vector3;
89
+ zViewUpVector: Vector3;
90
+ }
91
+
92
+ export function newInstance(
93
+ initialValues?: IInteractorStyleImageInitialValues
94
+ ): vtkInteractorStyleImage;
95
+
96
+ export function extend(
97
+ publicAPI: object,
98
+ model: object,
99
+ initialValues?: IInteractorStyleImageInitialValues
100
+ ): void;
101
+
102
+ export const vtkInteractorStyleImage: {
103
+ newInstance: typeof newInstance;
104
+ extend: typeof extend;
105
+ };
106
+
107
+ export default vtkInteractorStyleImage;
@@ -113,6 +113,20 @@ function vtkInteractorStyleImage(publicAPI, model) {
113
113
  }
114
114
 
115
115
  camera.setDistance(distance);
116
+ var props = callData.pokedRenderer.getViewProps().filter(function (prop) {
117
+ return prop.isA('vtkImageSlice');
118
+ });
119
+ props.forEach(function (prop) {
120
+ if (prop.getMapper().isA('vtkImageResliceMapper')) {
121
+ var p = prop.getMapper().getSlicePlane();
122
+
123
+ if (p) {
124
+ p.push(callData.spinY);
125
+ p.modified();
126
+ prop.getMapper().modified();
127
+ }
128
+ }
129
+ });
116
130
  }; //----------------------------------------------------------------------------
117
131
 
118
132
 
@@ -0,0 +1,170 @@
1
+ import vtkInteractorStyle from './../../Rendering/Core/InteractorStyle';
2
+ import vtkRenderer from './../../Rendering/Core/Renderer';
3
+
4
+ export interface vtkInteractorStyleTrackballCamera extends vtkInteractorStyle {
5
+ /**
6
+ * Handles a mouse move.
7
+ * @param callData event data
8
+ */
9
+ handleMouseMove(callData: unknown): void;
10
+
11
+ /**
12
+ * Handles a 3D button event.
13
+ * @param callData event data
14
+ */
15
+ handleButton3D(ed: unknown): void;
16
+
17
+ /**
18
+ * Handles a 3D move event.
19
+ * @param ed event data
20
+ */
21
+ handleMove3D(ed: unknown): void;
22
+
23
+ /**
24
+ * Update camera pose
25
+ * @param ed event data
26
+ */
27
+ updateCameraPose(ed: unknown): void;
28
+
29
+ /**
30
+ * Handles a left button press event.
31
+ * @param callData event data
32
+ */
33
+ handleLeftButtonPress(callData: unknown): void;
34
+
35
+ /**
36
+ * Handles a left button release event.
37
+ * @param callData event data
38
+ */
39
+ handleLeftButtonRelease(callData: unknown): void;
40
+
41
+ /**
42
+ * Handles the start of a wheel event.
43
+ * @param callData event data
44
+ */
45
+ handleStartMouseWheel(callData: unknown): void;
46
+
47
+ /**
48
+ * Handles the end of a wheel event.
49
+ * @param callData event data
50
+ */
51
+ handleEndMouseWheel(callData: unknown): void;
52
+
53
+ /**
54
+ * Handles the start of a pinch gesture.
55
+ * @param callData event data
56
+ */
57
+ handleStartPinch(callData: unknown): void;
58
+
59
+ /**
60
+ * Handles the end of a pinch gesture.
61
+ * @param callData event data
62
+ */
63
+ handleEndPinch(callData: unknown): void;
64
+
65
+ /**
66
+ * Handles the start of a rotate gesture.
67
+ * @param callData event data
68
+ */
69
+ handleStartRotate(callData: unknown): void;
70
+
71
+ /**
72
+ * Handles the end of a rotate gesture.
73
+ * @param callData event data
74
+ */
75
+ handleEndRotate(callData: unknown): void;
76
+
77
+ /**
78
+ * Handles the start of a pan gesture.
79
+ * @param callData event data
80
+ */
81
+ handleStartPan(callData: unknown): void;
82
+
83
+ /**
84
+ * Handles the end of a pan gesture.
85
+ * @param callData event data
86
+ */
87
+ handleEndPan(callData: unknown): void;
88
+
89
+ /**
90
+ * Handles a pinch gesture.
91
+ * @param callData event data
92
+ */
93
+ handlePinch(callData: unknown): void;
94
+
95
+ /**
96
+ * Handles a pan gesture.
97
+ * @param callData event data
98
+ */
99
+ handlePan(callData: unknown): void;
100
+
101
+ /**
102
+ * Handles a rotate gesture.
103
+ * @param callData event data
104
+ */
105
+ handleRotate(callData: unknown): void;
106
+
107
+ /**
108
+ * Handles rotate with a mouse.
109
+ * @param renderer the renderer
110
+ * @param position the display position
111
+ */
112
+ handleMouseRotate(renderer: vtkRenderer, position: { x: number, y: number }): void;
113
+
114
+ /**
115
+ * Handles spin with a mouse.
116
+ * @param renderer the renderer
117
+ * @param position the display position
118
+ */
119
+ handleMouseSpin(renderer: vtkRenderer, position: { x: number, y: number }): void;
120
+
121
+ /**
122
+ * Handles pan with a mouse.
123
+ * @param renderer the renderer
124
+ * @param position the display position
125
+ */
126
+ handleMousePan(renderer: vtkRenderer, position: { x: number, y: number }): void;
127
+
128
+ /**
129
+ * Handles dolly with a mouse.
130
+ * @param renderer the renderer
131
+ * @param position the display position
132
+ */
133
+ handleMouseDolly(renderer: vtkRenderer, position: { x: number, y: number }): void;
134
+
135
+ /**
136
+ * Handles a wheel event.
137
+ * @param callData event data
138
+ */
139
+ handleMouseWheel(callData: unknown): void;
140
+
141
+ /**
142
+ * Dolly by factor.
143
+ * @param renderer the renderer
144
+ * @param factor factor
145
+ */
146
+ dollyByFactor(renderer: vtkRenderer, factor: number): void;
147
+ }
148
+
149
+ export interface IInteractorStyleTrackballCameraInitialValues {
150
+ motionFactor: number;
151
+ zoomFactor: number;
152
+ }
153
+
154
+ export function newInstance(
155
+ initialValues?: IInteractorStyleTrackballCameraInitialValues
156
+ ): vtkInteractorStyleTrackballCamera;
157
+
158
+
159
+ export function extend(
160
+ publicAPI: object,
161
+ model: object,
162
+ initialValues?: IInteractorStyleTrackballCameraInitialValues
163
+ ): void;
164
+
165
+ export const vtkInteractorStyleTrackballCamera: {
166
+ newInstance: typeof newInstance;
167
+ extend: typeof extend;
168
+ }
169
+
170
+ export default vtkInteractorStyleTrackballCamera;
@@ -1,15 +1,15 @@
1
- import vtkAbstractMapper, { IAbstractMapperInitialValues } from './AbstractMapper';
1
+ import vtkAbstractMapper3D, { IAbstractMapper3DInitialValues } from './AbstractMapper3D';
2
2
  import vtkImageData from './../../Common/DataModel/ImageData';
3
3
  import { Nullable } from './../../types';
4
4
 
5
5
 
6
- export interface IAbstractImageMapperInitialValues extends IAbstractMapperInitialValues {
6
+ export interface IAbstractImageMapperInitialValues extends IAbstractMapper3DInitialValues {
7
7
  customDisplayExtent?: number[];
8
8
  useCustomExtents?: boolean;
9
9
  slice?: number;
10
10
  }
11
11
 
12
- export interface vtkAbstractImageMapper extends vtkAbstractMapper {
12
+ export interface vtkAbstractImageMapper extends vtkAbstractMapper3D {
13
13
 
14
14
  /**
15
15
  *
@@ -1,5 +1,5 @@
1
1
  import macro from '../../macros.js';
2
- import vtkAbstractMapper from './AbstractMapper.js';
2
+ import vtkAbstractMapper3D from './AbstractMapper3D.js';
3
3
 
4
4
  // vtkAbstractImageMapper methods
5
5
  // ----------------------------------------------------------------------------
@@ -22,16 +22,18 @@ function vtkAbstractImageMapper(publicAPI, model) {
22
22
  var DEFAULT_VALUES = {
23
23
  slice: 0,
24
24
  customDisplayExtent: [0, 0, 0, 0, 0, 0],
25
- useCustomExtents: false
25
+ useCustomExtents: false,
26
+ backgroundColor: [0, 0, 0, 1]
26
27
  }; // ----------------------------------------------------------------------------
27
28
 
28
29
  function extend(publicAPI, model) {
29
30
  var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
30
31
  Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
31
32
 
32
- vtkAbstractMapper.extend(publicAPI, model, initialValues);
33
+ vtkAbstractMapper3D.extend(publicAPI, model, initialValues);
33
34
  macro.setGet(publicAPI, model, ['slice', 'useCustomExtents']);
34
35
  macro.setGetArray(publicAPI, model, ['customDisplayExtent'], 6);
36
+ macro.setGetArray(publicAPI, model, ['backgroundColor'], 4);
35
37
  vtkAbstractImageMapper(publicAPI, model);
36
38
  } // ----------------------------------------------------------------------------
37
39
 
@@ -1,3 +1,4 @@
1
+ import macro from '../../macros.js';
1
2
  import vtkAbstractMapper from './AbstractMapper.js';
2
3
  import { u as uninitializeBounds } from '../../Common/Core/Math/index.js';
3
4
 
@@ -46,7 +47,8 @@ function vtkAbstractMapper3D(publicAPI, model) {
46
47
 
47
48
  var DEFAULT_VALUES = {
48
49
  bounds: [1, -1, 1, -1, 1, -1],
49
- center: [0, 0, 0]
50
+ center: [0, 0, 0],
51
+ viewSpecificProperties: null
50
52
  }; // ----------------------------------------------------------------------------
51
53
 
52
54
  function extend(publicAPI, model) {
@@ -63,6 +65,12 @@ function extend(publicAPI, model) {
63
65
  model.center = [0.0, 0.0, 0.0];
64
66
  }
65
67
 
68
+ macro.setGet(publicAPI, model, ['viewSpecificProperties']);
69
+
70
+ if (!model.viewSpecificProperties) {
71
+ model.viewSpecificProperties = {};
72
+ }
73
+
66
74
  vtkAbstractMapper3D(publicAPI, model);
67
75
  } // ----------------------------------------------------------------------------
68
76
 
@@ -2,8 +2,8 @@ var InterpolationType = {
2
2
  NEAREST: 0,
3
3
  LINEAR: 1
4
4
  };
5
- var Constants = {
5
+ var InterpolationType$1 = {
6
6
  InterpolationType: InterpolationType
7
7
  };
8
8
 
9
- export { InterpolationType, Constants as default };
9
+ export { InterpolationType, InterpolationType$1 as default };
@@ -1,7 +1,7 @@
1
1
  import macro from '../../macros.js';
2
- import Constants from './ImageProperty/Constants.js';
2
+ import InterpolationType$1 from './ImageProperty/Constants.js';
3
3
 
4
- var InterpolationType = Constants.InterpolationType;
4
+ var InterpolationType = InterpolationType$1.InterpolationType;
5
5
  var vtkErrorMacro = macro.vtkErrorMacro;
6
6
  var VTK_MAX_VRCOMP = 4; // ----------------------------------------------------------------------------
7
7
  // vtkImageProperty methods
@@ -0,0 +1,11 @@
1
+ export declare enum SlabTypes {
2
+ MIN = 0,
3
+ MAX = 1,
4
+ MEAN = 2,
5
+ SUM = 3,
6
+ }
7
+
8
+ declare const _default: {
9
+ SlabTypes: typeof SlabTypes;
10
+ };
11
+ export default _default;
@@ -0,0 +1,11 @@
1
+ var SlabTypes = {
2
+ MIN: 0,
3
+ MAX: 1,
4
+ MEAN: 2,
5
+ SUM: 3
6
+ };
7
+ var Constants = {
8
+ SlabTypes: SlabTypes
9
+ };
10
+
11
+ export { SlabTypes, Constants as default };
@@ -0,0 +1,245 @@
1
+ import vtkAbstractImageMapper, { IAbstractImageMapperInitialValues } from './AbstractImageMapper';
2
+ import vtkImageData from './../../Common/DataModel/ImageData';
3
+ import vtkPlane from './../../Common/DataModel/Plane';
4
+ import vtkPolyData from './../../Common/DataModel/PolyData';
5
+ import { Bounds, Nullable, Vector3 } from './../../types';
6
+ import { SlabTypes } from './ImageResliceMapper/Constants';
7
+
8
+
9
+ interface ICoincidentTopology {
10
+ factor: number;
11
+ offset: number;
12
+ }
13
+
14
+ export interface IImageResliceMapperInitialValues extends IAbstractImageMapperInitialValues {
15
+ slabThickness?: number;
16
+ slabTrapezoidIntegration?: number;
17
+ slabType?: SlabTypes;
18
+ slicePlane?: vtkPlane;
19
+ slicePolyData?: vtkPolyData;
20
+ }
21
+
22
+ export interface vtkImageResliceMapper extends vtkAbstractImageMapper {
23
+
24
+ /**
25
+ * Get the bounds for this mapper as [xmin, xmax, ymin, ymax,zmin, zmax].
26
+ * @return {Bounds} The bounds for the mapper.
27
+ */
28
+ getBounds(): Bounds;
29
+
30
+ /**
31
+ *
32
+ */
33
+ getIsOpaque(): boolean;
34
+
35
+ /**
36
+ *
37
+ */
38
+ getResolveCoincidentTopology(): ICoincidentTopology
39
+
40
+ /**
41
+ *
42
+ */
43
+ getResolveCoincidentTopologyAsString(): ICoincidentTopology
44
+
45
+ /**
46
+ *
47
+ */
48
+ getResolveCoincidentTopologyLineOffsetParameters(): ICoincidentTopology
49
+
50
+ /**
51
+ *
52
+ */
53
+ getResolveCoincidentTopologyPointOffsetParameters(): ICoincidentTopology
54
+
55
+ /**
56
+ *
57
+ */
58
+ getResolveCoincidentTopologyPolygonOffsetFaces(): ICoincidentTopology
59
+
60
+ /**
61
+ *
62
+ */
63
+ getResolveCoincidentTopologyPolygonOffsetParameters(): ICoincidentTopology;
64
+
65
+ /**
66
+ *
67
+ * Get the slab thickness in world space (mm).
68
+ */
69
+ getSlabThickness(): number;
70
+
71
+ /**
72
+ *
73
+ * Get whether slab trapezoid integration is enabled.
74
+ */
75
+ getSlabTrapezoidIntegration(): number;
76
+
77
+ /**
78
+ *
79
+ * Get the slab composite function.
80
+ */
81
+ getSlabType(): boolean;
82
+
83
+ /**
84
+ *
85
+ * Get the implicit plane used to slice the volume with.
86
+ */
87
+ getSlicePlane(): vtkPlane;
88
+
89
+ /**
90
+ *
91
+ * Get the custom polydata used to slice the volume with.
92
+ */
93
+ getSlicePolyData(): vtkPolyData;
94
+
95
+ /**
96
+ *
97
+ * @param {Number} factor
98
+ * @param {Number} offset
99
+ */
100
+ setRelativeCoincidentTopologyLineOffsetParameters(factor: number, offset: number): boolean;
101
+
102
+ /**
103
+ *
104
+ * @param {Number} factor
105
+ * @param {Number} offset
106
+ */
107
+ setRelativeCoincidentTopologyPointOffsetParameters(factor: number, offset: number): boolean;
108
+
109
+ /**
110
+ *
111
+ * @param {Number} factor
112
+ * @param {Number} offset
113
+ */
114
+ setRelativeCoincidentTopologyPolygonOffsetParameters(factor: number, offset: number): boolean;
115
+
116
+ /**
117
+ *
118
+ * @param resolveCoincidentTopology
119
+ * @default false
120
+ */
121
+ setResolveCoincidentTopology(resolveCoincidentTopology: boolean): boolean;
122
+
123
+ /**
124
+ *
125
+ * @param {Number} factor
126
+ * @param {Number} offset
127
+ */
128
+ setResolveCoincidentTopologyLineOffsetParameters(factor: number, offset: number): boolean;
129
+
130
+ /**
131
+ *
132
+ * @param {Number} factor
133
+ * @param {Number} offset
134
+ */
135
+ setResolveCoincidentTopologyPointOffsetParameters(factor: number, offset: number): boolean;
136
+
137
+ /**
138
+ *
139
+ * @param value
140
+ */
141
+ setResolveCoincidentTopologyPolygonOffsetFaces(value: number): boolean;
142
+
143
+ /**
144
+ *
145
+ * @param {Number} factor
146
+ * @param {Number} offset
147
+ */
148
+ setResolveCoincidentTopologyPolygonOffsetParameters(factor: number, offset: number): boolean;
149
+
150
+ /**
151
+ *
152
+ */
153
+ setResolveCoincidentTopologyToDefault(): boolean;
154
+
155
+ /**
156
+ *
157
+ */
158
+ setResolveCoincidentTopologyToOff(): boolean;
159
+
160
+ /**
161
+ *
162
+ */
163
+ setResolveCoincidentTopologyToPolygonOffset(): boolean;
164
+
165
+ /**
166
+ *
167
+ * Enable slab slicing mode and set the slab thickness in world space (mm).
168
+ * @param {Boolean} slabThickness The slab thickness in world space (mm). Default: 0.
169
+ */
170
+ setSlabThickness(slabThickness: number): number;
171
+
172
+ /**
173
+ *
174
+ * When a slab thickness larger than 0 is provided, the mapper will composite multile slices
175
+ * together using different composite functions based on the slabType. When
176
+ * slabTrapezoidIntegration is enabled, the first and the last slices in the slab are weighted at
177
+ * half their original intensity for sum and mean slab types.
178
+ * @param {Number} slabTrapezoidIntegration Enable/disable trapezoid integration for slab slicing.
179
+ * Default: 0
180
+ */
181
+ setSlabTrapezoidIntegration(slabTrapezoidIntegration: number): number;
182
+
183
+ /**
184
+ *
185
+ * When a slab thickness larger than 0 is provided, the mapper will composite multile slices
186
+ * together using different composite functions based on the slabType. Available options are max,
187
+ * min, mean and sum.
188
+ * @param {SlabTypes} slabType The blend function used to composite slab slices.
189
+ * Default: SlabTypes.MEAN
190
+ */
191
+ setSlabType(slabType: SlabTypes): boolean;
192
+
193
+ /**
194
+ *
195
+ * The vtkImageResliceMapper provides flexibility in how the reslice source is provided. The user
196
+ * can either provide an implicit vtkPlane (defined with its origin and normal), or a custom
197
+ * vtkPolyData. When both sources are provided, the mapper chooses the custom polydata over the
198
+ * implicit plane. When providing custom polydata as the source, it is required that the polydata
199
+ * has point normals for slab slicing. When neither sources are provided, the mapper creates a
200
+ * default implicit plane with normal (0, 0, 1) and origin at the mid-point of the volume's Z
201
+ * bounds.
202
+ * @param {vtkPlane} slicePlane The implicit plane to slice the volume with. Default: null
203
+ */
204
+ setSlicePlane(slicePlane: vtkPlane): vtkPlane;
205
+
206
+ /**
207
+ *
208
+ * The vtkImageResliceMapper provides flexibility in how the reslice source is provided. The user
209
+ * can either provide an implicit vtkPlane (defined with its origin and normal), or a custom
210
+ * vtkPolyData. When both sources are provided, the mapper chooses the custom polydata over the
211
+ * implicit plane. When providing custom polydata as the source, it is required that the polydata
212
+ * has point normals for slab slicing. When neither sources are provided, the mapper creates a
213
+ * default implicit plane with normal (0, 0, 1) and origin at the mid-point of the volume's Z
214
+ * bounds.
215
+ * @param {vtkPolyData} slicePolyData The polydata to slice the volume with. Default: null
216
+ */
217
+ setSlicePolyData(slicePolyData: vtkPolyData): vtkPolyData;
218
+ }
219
+
220
+ /**
221
+ * Method use to decorate a given object (publicAPI+model) with vtkImageResliceMapper characteristics.
222
+ *
223
+ * @param publicAPI object on which methods will be bounds (public)
224
+ * @param model object on which data structure will be bounds (protected)
225
+ * @param {IImageResliceMapperInitialValues} [initialValues] (default: {})
226
+ */
227
+ export function extend(publicAPI: object, model: object, initialValues?: IImageResliceMapperInitialValues): void;
228
+
229
+ /**
230
+ * Method use to create a new instance of vtkImageResliceMapper
231
+ * @param {IImageResliceMapperInitialValues} [initialValues] for pre-setting some of its content
232
+ */
233
+ export function newInstance(initialValues?: IImageResliceMapperInitialValues): vtkImageResliceMapper;
234
+
235
+ /**
236
+ * vtkImageResliceMapper provides hardware accelerated slicing of 3D image data / volumes.
237
+ * It can be associated with a vtkImageSlice prop and placed within a Renderer.
238
+ *
239
+ * This class resolves coincident topology with the same methods as vtkMapper.
240
+ */
241
+ export declare const vtkImageResliceMapper: {
242
+ newInstance: typeof newInstance;
243
+ extend: typeof extend;
244
+ }
245
+ export default vtkImageResliceMapper;